Vixen
caa30e12
csharp
public enum ModifierOp

What a modifier does to a stat, and therefore which stage of the evaluation it lands in.

Read the guide page for this →

Remarks

Three buckets, and the fixed order between them is the feature — doc 28 § Attributes. Every game that leaves the order open gets a balance team arguing about whether two 50 % buffs are 100 % or 125 %, in different answers per ability, for ever. Additive percentages sum; multiplicative ones compose; a designer picks a bucket and the arithmetic is never in question again.

⚠ There is no Override, deliberately. An operation that replaces the value needs a rule for what happens when two of them are active, and every such rule ("strongest wins", "last wins", "first wins") is exactly the argument the fixed order exists to end. A polymorph that fixes movement speed is expressed as a large MultiplyPercent and a clamp on the layout, which composes with everything else instead of silently deleting it. Doc 28 G-Q6 is where this is recorded.

Fields and properties (3)

  • Add

    A flat amount, summed with the other flat amounts. +120 Power.

  • AddPercent

    A percentage that sums with the other additive percentages. Two 50 % are 100 %.

  • MultiplyPercent

    A percentage that composes with the other multiplicative ones. Two 50 % are 125 %.

Used by (18)

  • DefinitionImporterTestsVixen.Editor.Assets.Tests
  • AffixStatVixen.Gameplay.Items
  • AttributeSetVixen.Gameplay
  • AttributeSetTestsVixen.Gameplay.Tests
  • CombatResolverTestsVixen.Gameplay.Combat.Tests
  • ContentVixen.Gameplay.Items.Tests
  • ContentVixen.Gameplay.Progression.Tests
  • ContentVixen.Gameplay.Combat.Tests
  • DefinitionSerializationTestsVixen.Gameplay.Tests
  • EffectSetTestsVixen.Gameplay.Tests
  • GameplaySubjectTestsVixen.Gameplay.Tests
  • ItemStatDefinitionVixen.Gameplay.Items
  • ModifierVixen.Gameplay
  • ModifierDefinitionVixen.Gameplay
  • RequirementTestsVixen.Gameplay.Tests
  • TypeRegistrationVixen.Gameplay
  • Vixen_Gameplay_Items_ItemStatDefinitionSerializerVixen.Gameplay.Items
  • Vixen_Gameplay_ModifierDefinitionSerializerVixen.Gameplay