diff --git a/core/src/com/unciv/logic/city/managers/CityConquestFunctions.kt b/core/src/com/unciv/logic/city/managers/CityConquestFunctions.kt index 95be16308f..b200669a4c 100644 --- a/core/src/com/unciv/logic/city/managers/CityConquestFunctions.kt +++ b/core/src/com/unciv/logic/city/managers/CityConquestFunctions.kt @@ -16,6 +16,7 @@ import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeOffer import com.unciv.logic.trade.TradeOfferType import com.unciv.models.ruleset.unique.StateForConditionals +import com.unciv.models.ruleset.unique.UniqueTriggerActivation import com.unciv.models.ruleset.unique.UniqueType import kotlin.math.max import kotlin.math.min @@ -119,6 +120,10 @@ class CityConquestFunctions(val city: City) { // reconquering or liberating city in resistance so eliminate it city.removeFlag(CityFlags.Resistance) } + + for (unique in conqueredCiv.getTriggeredUniques(UniqueType.TriggerUponLosingCity, StateForConditionals(civInfo = conqueredCiv))) { + UniqueTriggerActivation.triggerUnique(unique, civInfo = conqueredCiv) + } } diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index 21f4fcce50..6e6b861a4f 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -901,6 +901,7 @@ enum class UniqueType( TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition), /** Can be placed upon both units and as global */ TriggerUponConqueringCity("upon conquering a city", UniqueTarget.TriggerCondition, UniqueTarget.UnitTriggerCondition), + TriggerUponLosingCity("upon losing a city", UniqueTarget.TriggerCondition), TriggerUponFoundingCity("upon founding a city", UniqueTarget.TriggerCondition), TriggerUponBuildingImprovement("upon building a [improvementFilter] improvement", UniqueTarget.TriggerCondition, UniqueTarget.UnitTriggerCondition), TriggerUponDiscoveringNaturalWonder("upon discovering a Natural Wonder", UniqueTarget.TriggerCondition), diff --git a/docs/Modders/uniques.md b/docs/Modders/uniques.md index 238af58fcb..8214ad1999 100644 --- a/docs/Modders/uniques.md +++ b/docs/Modders/uniques.md @@ -3312,6 +3312,9 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl ??? example "<upon conquering a city>" Applicable to: TriggerCondition, UnitTriggerCondition +??? example "<upon losing a city>" + Applicable to: TriggerCondition + ??? example "<upon founding a city>" Applicable to: TriggerCondition