Table of Contents

Struct ProvinceInitialState

Namespace
Core.Data
Assembly
Core.dll

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

ProvinceInitialState

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

provinceID int

Returns

ProvinceInitialState

PackFlags(bool, bool)

Pack boolean flags into single byte

public void PackFlags(bool isCity, bool isHRE)

Parameters

isCity bool
isHRE bool

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()

Returns

ProvinceState