Struct ModifierSource
ENGINE: Tracks the source of a modifier for tooltips and removal Pattern used by: EU4 (modifier tooltips), CK3 (effect stacking), Stellaris (modifier tracking)
Examples:
- Building: Farm in Province #42 gives +5 production
- Tech: "Advanced Agriculture" gives +20% production (permanent)
- Event: "Harvest Festival" gives +10% production for 12 months (temporary)
public struct ModifierSource
Fields
ExpirationTick
public int ExpirationTick
Field Value
- int
IsMultiplicative
public bool IsMultiplicative
Field Value
- bool
IsTemporary
public bool IsTemporary
Field Value
- bool
ModifierTypeId
public ushort ModifierTypeId
Field Value
- ushort
SourceID
public uint SourceID
Field Value
- uint
Type
public ModifierSource.SourceType Type
Field Value
Value
public FixedPoint64 Value
Field Value
Methods
CreatePermanent(SourceType, uint, ushort, FixedPoint64, bool)
Create a permanent modifier source
public static ModifierSource CreatePermanent(ModifierSource.SourceType type, uint sourceId, ushort modifierTypeId, FixedPoint64 value, bool isMultiplicative)
Parameters
typeModifierSource.SourceTypesourceIduintmodifierTypeIdushortvalueFixedPoint64isMultiplicativebool
Returns
CreateTemporary(SourceType, uint, ushort, FixedPoint64, bool, int)
Create a temporary modifier source
public static ModifierSource CreateTemporary(ModifierSource.SourceType type, uint sourceId, ushort modifierTypeId, FixedPoint64 value, bool isMultiplicative, int expirationTick)
Parameters
typeModifierSource.SourceTypesourceIduintmodifierTypeIdushortvalueFixedPoint64isMultiplicativeboolexpirationTickint
Returns
HasExpired(int)
Check if this modifier has expired
public bool HasExpired(int currentTick)
Parameters
currentTickint
Returns
- bool
ToString()
public override string ToString()
Returns
- string