fix: preserve deterministic decisions across saves
This commit is contained in:
@@ -1359,6 +1359,10 @@ func restore_state(record: SimulationStateRecord) -> bool:
|
||||
village = record.village.restore(debug_logs)
|
||||
economy.configure(village, debug_logs)
|
||||
economy.restore_storage(record.storages)
|
||||
# Priorities and modifiers are deterministic derived state, not save payload.
|
||||
# Rebuild them before the next decision so save/load cannot change outcomes.
|
||||
village.update_modifiers()
|
||||
village.update_priorities()
|
||||
event_log.restore(record.economic_events, int(record.simulation["next_event_id"]))
|
||||
latest_decisions.clear()
|
||||
npcs.clear()
|
||||
|
||||
Reference in New Issue
Block a user