Vixen
caa30e12
csharp
public readonly record struct AttributeId

The name of a stat — Power, Health, MoveSpeed, CritChance.

Read the guide page for this →

Remarks

Every stat in every gameplay library is one type, which is doc 28 § Attributes' whole point: a weapon's power, a character's health, a mount's speed, a crafting station's quality bonus and a guild perk's reputation multiplier are the same kind of number, so they share one modifier algebra, one replication path and one inspector instead of five.

The value is Symbol's hash of the name, so an id is derivable from a string in any process without a table, and ToString can still say Power because interning keeps the spelling for diagnostics. A collision is refused by AttributeLayoutBuilder, which is the one place two attribute names can meet.

Fields and properties (4)

  • public uint Value

    The hash of the name. Zero is None.

  • public static AttributeId None

    Not a stat.

  • public bool IsSome

    Whether this names one.

  • public Symbol Name

    The interned name, for diagnostics.

Methods (3)

  • public AttributeId(uint Value)

    The name of a stat — Power, Health, MoveSpeed, CritChance.

  • public static AttributeId From(string? name)

    The id a name hashes to.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (48, showing 40)

  • MmoRulesMmo.Shared
  • AbilityCasterTestsVixen.Gameplay.Combat.Tests
  • AbilityCostVixen.Gameplay.Combat
  • AbilityLibraryVixen.Gameplay.Combat
  • AbilityLibraryTestsVixen.Gameplay.Combat.Tests
  • AbilityTemplateVixen.Gameplay.Combat
  • AffixStatVixen.Gameplay.Items
  • AttributeLayoutVixen.Gameplay
  • AttributeLayoutBuilderVixen.Gameplay
  • AttributeLayoutTestsVixen.Gameplay.Tests
  • AttributeSchemaVixen.Gameplay
  • AttributeSetVixen.Gameplay
  • AttributeSetTestsVixen.Gameplay.Tests
  • AttunedVixen.Gameplay.Instances.Tests
  • CollectionRecordVixen.Gameplay.Collections
  • CollectionTestsVixen.Gameplay.Collections.Tests
  • CombatAttributesVixen.Gameplay.Combat
  • CombatModuleTestsVixen.Gameplay.Combat.Tests
  • CombatResolverTestsVixen.Gameplay.Combat.Tests
  • CompositeRequirementContextVixen.Gameplay
  • CrafterVixen.Gameplay.Crafting
  • DamageRuleTestsVixen.Gameplay.Combat.Tests
  • EffectSetTestsVixen.Gameplay.Tests
  • EffectTemplateVixen.Gameplay
  • EventBusTestsVixen.Gameplay.Quests.Tests
  • GameplaySubjectVixen.Gameplay
  • GameplaySubjectTestsVixen.Gameplay.Tests
  • HolderVixen.Gameplay.Economy.Tests
  • IRequirementContextVixen.Gameplay
  • ItemLibraryVixen.Gameplay.Items
  • ItemStatsTestsVixen.Gameplay.Items.Tests
  • KeyholderVixen.Gameplay.Interaction.Tests
  • LevelledVixen.Gameplay.Exploration.Tests
  • LevelledVixen.Gameplay.Housing.Tests
  • LootContextVixen.Gameplay.Loot
  • ModifierVixen.Gameplay
  • NothingVixen.Live.Gameplay.Tests
  • ProgressionLibraryVixen.Gameplay.Progression
  • ProgressionStateVixen.Gameplay.Progression
  • ProgressionStateTestsVixen.Gameplay.Progression.Tests