diff --git a/core/src/com/unciv/models/ruleset/Event.kt b/core/src/com/unciv/models/ruleset/Event.kt index 14f3bd0195..ca1ebbb6de 100644 --- a/core/src/com/unciv/models/ruleset/Event.kt +++ b/core/src/com/unciv/models/ruleset/Event.kt @@ -21,7 +21,7 @@ class Event : INamed { class EventChoice { var text = "" var triggeredUniques = ArrayList() - val triggerredUniqueObjects by lazy { triggeredUniques.map { Unique(it) } } + val triggeredUniqueObjects by lazy { triggeredUniques.map { Unique(it) } } var conditions = ArrayList() val conditionObjects by lazy { conditions.map { Unique(it) } } @@ -29,7 +29,7 @@ class EventChoice { conditionObjects.all { Conditionals.conditionalApplies(null, it, stateForConditionals) } fun triggerChoice(civ: Civilization) { - for (unique in triggerredUniqueObjects) + for (unique in triggeredUniqueObjects) UniqueTriggerActivation.triggerUnique(unique, civ) } } diff --git a/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt b/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt index 439ae28fa3..efa230b23b 100644 --- a/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt +++ b/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt @@ -1,7 +1,6 @@ package com.unciv.models.ruleset.validation import com.badlogic.gdx.Gdx -import com.badlogic.gdx.files.FileHandle import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.g2d.TextureAtlas.TextureAtlasData import com.unciv.Constants @@ -85,6 +84,7 @@ class RulesetValidator(val ruleset: Ruleset) { addUnitTypeErrors(lines, tryFixUnknownUniques) addVictoryTypeErrors(lines) addDifficultyErrors(lines) + addEventErrors(lines, tryFixUnknownUniques) addCityStateTypeErrors(tryFixUnknownUniques, lines) // Check for mod or Civ_V_GnK to avoid running the same test twice (~200ms for the builtin assets) @@ -142,6 +142,17 @@ class RulesetValidator(val ruleset: Ruleset) { } } + private fun addEventErrors(lines: RulesetErrorList, + tryFixUnknownUniques: Boolean) { + // A Difficulty is not a IHasUniques, so not suitable as sourceObject + for (event in ruleset.events.values) { + for (choice in event.choices) { + for (unique in choice.conditionObjects + choice.triggeredUniqueObjects) + lines += uniqueValidator.checkUnique(unique, tryFixUnknownUniques, null, true) + } + } + } + private fun addVictoryTypeErrors(lines: RulesetErrorList) { // Victory and Milestone aren't IHasUniques and are unsuitable as sourceObject for (victoryType in ruleset.victories.values) {