Vixen
caa30e12
csharp
public readonly record struct ModifierSource

Whatever granted a modifier, so that removing it is exact.

Read the guide page for this →

Remarks

Removal is by source and never by subtracting the value back off, which is what stops a stat drifting a fraction every time a buff cycles. Anything can be a source — an effect, a piece of equipment, a talent, a guild perk — and the only requirement is that the same thing produces the same value for as long as its modifiers are applied.

Fields and properties (3)

  • public ulong Value

    The opaque handle. Zero is None, which means "nothing owns this".

  • public static ModifierSource None

    Nothing owns it. Removable only by Clear.

  • public bool IsSome

    Whether something owns it.

Methods (3)

  • public ModifierSource(ulong Value)

    Whatever granted a modifier, so that removing it is exact.

  • public static ModifierSource From(DefId definition, uint instance)

    A source naming one instance of one definition.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (15)

  • ActiveEffectVixen.Gameplay
  • AttributeSetVixen.Gameplay
  • AttributeSetTestsVixen.Gameplay.Tests
  • EffectSetVixen.Gameplay
  • EffectTemplateVixen.Gameplay
  • ItemLibraryVixen.Gameplay.Items
  • ItemStatsVixen.Gameplay.Items
  • ItemStatsTestsVixen.Gameplay.Items.Tests
  • ModifierVixen.Gameplay
  • ProgressionLibraryVixen.Gameplay.Progression
  • ProgressionStateVixen.Gameplay.Progression
  • ProgressionStateTestsVixen.Gameplay.Progression.Tests
  • RequirementTestsVixen.Gameplay.Tests
  • TalentTreeVixen.Gameplay.Progression
  • TalentTreeTestsVixen.Gameplay.Progression.Tests