Allow campaign designer to set default economy values

default starting money and income multiplier can be set in campaign.yaml

bumps campaign Version to 10.1
This commit is contained in:
RndName
2022-04-07 19:51:49 +02:00
parent 1d20e6277e
commit 25d0dcd08e
5 changed files with 59 additions and 24 deletions

View File

@@ -31,6 +31,7 @@ PERF_FRIENDLY = 0
PERF_MEDIUM = 1
PERF_HARD = 2
PERF_NASA = 3
DEFAULT_BUDGET = 2000
@dataclass(frozen=True)
@@ -48,6 +49,12 @@ class Campaign:
recommended_player_faction: str
recommended_enemy_faction: str
recommended_start_date: Optional[datetime.date]
recommended_player_money: int
recommended_enemy_money: int
recommended_player_income_multiplier: float
recommended_enemy_income_multiplier: float
performance: int
data: Dict[str, Any]
path: Path
@@ -95,6 +102,10 @@ class Campaign:
data.get("recommended_player_faction", "USA 2005"),
data.get("recommended_enemy_faction", "Russia 1990"),
start_date,
data.get("recommended_player_money", DEFAULT_BUDGET),
data.get("recommended_enemy_money", DEFAULT_BUDGET),
data.get("recommended_player_income_multiplier", 1.0),
data.get("recommended_enemy_income_multiplier", 1.0),
data.get("performance", 0),
data,
path,

View File

@@ -135,4 +135,11 @@ VERSION = _build_version_string()
#: This removes the randomization of the orientation from the generation.
#: Most campaigns will not need any updates and will work out of the box.
#:
CAMPAIGN_FORMAT_VERSION = (10, 0)
#: Version 10.1
#: * Campaign designers can now define the recommended economy settings:
#: `recommended_player_money: 2000`.
#: `recommended_enemy_money: 2000`.
#: `recommended_player_income_multiplier: 1.0`.
#: `recommended_enemy_income_multiplier: 1.0`.
#:
CAMPAIGN_FORMAT_VERSION = (10, 1)