changed merging of carryover and scenario config...
...(using config::merge_with had unintentional behavior)
This commit is contained in:
parent
22d22707eb
commit
059d0b2506
1 changed files with 10 additions and 1 deletions
|
@ -213,8 +213,17 @@ void write_players(game_state& gamestate, config& cfg, const bool use_snapshot,
|
|||
if ( !(*scenario_side)["gold_add"].empty() ) {
|
||||
(*carryover_side)["gold_add"] = (*scenario_side)["gold_add"];
|
||||
}
|
||||
//merge player information into the scenario cfg
|
||||
(*scenario_side)["save_id"] = (*carryover_side)["save_id"];
|
||||
(*scenario_side)["gold"] = str_cast<int>(ngold);
|
||||
(*scenario_side)["gold_add"] = (*carryover_side)["gold_add"];
|
||||
(*scenario_side)["can_recruit"] = (*carryover_side)["can_recruit"];
|
||||
(*scenario_side)["name"] = (*carryover_side)["name"];
|
||||
//add recallable units
|
||||
foreach (const config* u, carryover_side->get_children("unit")) {
|
||||
scenario_side->add_child("unit", *u);
|
||||
}
|
||||
|
||||
(*scenario_side).merge_with(*carryover_side);
|
||||
} else {
|
||||
//no matching side in the current scenario, we add the persistent information in a [player] tag
|
||||
cfg.add_child("player", (*carryover_side));
|
||||
|
|
Loading…
Add table
Reference in a new issue