Struct ProvinceInitialState
Initial state data extracted from province history files Used to initialize ProvinceState (hot data) at game start This is the Burst-compatible version of province history
[Serializable]
public struct ProvinceInitialState
Fields
BaseManpower
public byte BaseManpower
Field Value
- byte
BaseProduction
public byte BaseProduction
Field Value
- byte
BaseTax
public byte BaseTax
Field Value
- byte
CenterOfTrade
public byte CenterOfTrade
Field Value
- byte
ControllerID
public ushort ControllerID
Field Value
- ushort
ControllerTag
public FixedString64Bytes ControllerTag
Field Value
- FixedString64Bytes
Culture
public FixedString64Bytes Culture
Field Value
- FixedString64Bytes
Development
public byte Development
Field Value
- byte
Flags
public byte Flags
Field Value
- byte
IsValid
public bool IsValid
Field Value
- bool
OwnerID
public ushort OwnerID
Field Value
- ushort
OwnerTag
public FixedString64Bytes OwnerTag
Field Value
- FixedString64Bytes
ProvinceID
public int ProvinceID
Field Value
- int
Religion
public FixedString64Bytes Religion
Field Value
- FixedString64Bytes
Terrain
public byte Terrain
Field Value
- byte
TradeGood
public FixedString64Bytes TradeGood
Field Value
- FixedString64Bytes
Properties
Invalid
public static ProvinceInitialState Invalid { get; }
Property Value
Methods
CalculateDevelopment()
Calculate development from base values Default formula: sum of components, capped at 255 NOTE: This is a convenience default for Burst compatibility GAME can override Development value after loading if different formula is needed
public void CalculateDevelopment()
Create(int)
public static ProvinceInitialState Create(int provinceID)
Parameters
provinceIDint
Returns
PackFlags(bool, bool)
Pack boolean flags into single byte
public void PackFlags(bool isCity, bool isHRE)
Parameters
isCityboolisHREbool
ToProvinceState()
Convert to hot ProvinceState for simulation (engine layer only) NOTE: Development, FortLevel, Flags removed from ProvinceState (now game-specific) Game layer must initialize HegemonProvinceData separately with Development value
public ProvinceState ToProvinceState()