Table of Contents

Struct ModifierValue

Namespace
Core.Modifiers
Assembly
Core.dll

ENGINE: Modifier value with additive and multiplicative components Pattern used by: EU4, CK3, Stellaris, Victoria 3

Formula: (base + additive) * (1 + multiplicative) Example: base=10, additive=+5, multiplicative=+0.5 → (10+5)*(1+0.5) = 22.5

DETERMINISM: Uses FixedPoint64 for cross-platform multiplayer compatibility

public struct ModifierValue

Fields

Additive

public FixedPoint64 Additive

Field Value

FixedPoint64

Multiplicative

public FixedPoint64 Multiplicative

Field Value

FixedPoint64

Methods

Apply(FixedPoint64)

Apply this modifier to a base value Formula: (base + additive) * (1 + multiplicative)

public FixedPoint64 Apply(FixedPoint64 baseValue)

Parameters

baseValue FixedPoint64

Returns

FixedPoint64

ToString()

public override string ToString()

Returns

string

Operators

operator +(ModifierValue, ModifierValue)

Combine two modifier values (stacking)

public static ModifierValue operator +(ModifierValue a, ModifierValue b)

Parameters

a ModifierValue
b ModifierValue

Returns

ModifierValue