Vixen
c7401864
csharp
public record class ItemRarityDefinition

A rarity tier: what it is called, how it sorts, and how many affixes it buys.

Read the guide page for this →

Remarks

⚠ A definition rather than an enum, which is a deviation from doc 28's sketch and the reason is sorting. The sketch authors rarity: Legendary, and the obvious readings are a closed C# enum — which fixes every game to one ladder — or a GameplayTag, which is open but orders alphabetically, so a bag sorted by rarity would put Common above Legendary for ever. A rarity needs a number, and a number a designer sets is a definition.

It still carries a tag, because every legendary drops a token is a tag query like every other rule.

Fields and properties (4)

  • public string DisplayName

    What it is called in the UI.

  • public int Order

    Where it sits on the ladder. Higher is rarer; the numbers are a game's own.

  • public int Affixes

    How many affixes an item of this rarity rolls.

  • public string Tag

    What an item of this rarity is, for a rule to match — Item.Rarity.Legendary.

Methods (1)

  • public override void CollectTags(ICollection<string> tags)

    Every tag this definition mentions, so the content build can bake the tag table.

Used by (9)

  • ContentVixen.Editor.Gameplay.Loot.Tests
  • ContentVixen.Gameplay.Items.Tests
  • ContentVixen.Gameplay.Loot.Tests
  • ContentVixen.Gameplay.Inventory.Tests
  • ItemLibraryVixen.Gameplay.Items
  • ItemRarityTemplateVixen.Gameplay.Items
  • ItemsModuleVixen.Gameplay.Items
  • TypeRegistrationVixen.Gameplay.Items
  • Vixen_Gameplay_Items_ItemRarityDefinitionSerializerVixen.Gameplay.Items