diff --git a/core/src/com/unciv/logic/civilization/managers/GoldenAgeManager.kt b/core/src/com/unciv/logic/civilization/managers/GoldenAgeManager.kt index 54bd6e94d6..8a5145af3d 100644 --- a/core/src/com/unciv/logic/civilization/managers/GoldenAgeManager.kt +++ b/core/src/com/unciv/logic/civilization/managers/GoldenAgeManager.kt @@ -65,8 +65,13 @@ class GoldenAgeManager : IsPartOfGameInfoSerialization { if (!isGoldenAge()) storedHappiness = (storedHappiness + happiness).coerceAtLeast(0) - if (isGoldenAge()) + if (isGoldenAge()){ turnsLeftForCurrentGoldenAge-- + if (turnsLeftForCurrentGoldenAge <= 0) + for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUpponEndingGoldenAge)) + UniqueTriggerActivation.triggerUnique(unique, civInfo) + } + else if (storedHappiness > happinessRequiredForNextGoldenAge()) { storedHappiness -= happinessRequiredForNextGoldenAge() enterGoldenAge() diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index 9e44f6e473..9749342825 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -904,6 +904,7 @@ enum class UniqueType( TriggerUponDeclaringFriendship("upon declaring friendship", UniqueTarget.TriggerCondition), TriggerUponSigningDefensivePact("upon declaring a defensive pact", UniqueTarget.TriggerCondition), TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition), + TriggerUpponEndingGoldenAge("upon ending 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), diff --git a/docs/Modders/uniques.md b/docs/Modders/uniques.md index 003e1003f1..ecf5962416 100644 --- a/docs/Modders/uniques.md +++ b/docs/Modders/uniques.md @@ -3309,6 +3309,9 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl ??? example "<upon entering a Golden Age>" Applicable to: TriggerCondition +??? example "<upon ending a Golden Age>" + Applicable to: TriggerCondition + ??? example "<upon conquering a city>" Applicable to: TriggerCondition, UnitTriggerCondition