diff --git a/core/src/com/unciv/models/ruleset/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt index ffdaddd09e..4b9a512f21 100644 --- a/core/src/com/unciv/models/ruleset/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -71,6 +71,7 @@ class Ruleset { unitPromotions.putAll(ruleset.unitPromotions) units.putAll(ruleset.units) for(unitToRemove in ruleset.modOptions.unitsToRemove) units.remove(unitToRemove) + mods += ruleset.mods } fun clear() { diff --git a/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt b/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt index 4d66c1efd0..10d4ca0324 100644 --- a/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt +++ b/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt @@ -64,7 +64,9 @@ class MapEditorScreen(): CameraStageBaseScreen() { gameSetupInfo.gameParameters = scenario.gameParameters - ruleset = RulesetCache.getComplexRuleset(scenario.gameParameters) + // Since the ruleset is referenced directly from other places, we can't just replace it directly + ruleset.clear() + ruleset.add(RulesetCache.getComplexRuleset(scenario.gameParameters)) initialize() }