diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index 7d0091a295..c9c8fcd2e3 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -442,7 +442,7 @@ class CityConstructions : IsPartOfGameInfoSerialization { } } - if (construction is Building){ + if (construction is Building) { for (unique in cityInfo.civInfo.getTriggeredUniques(UniqueType.TriggerUponConstructingBuilding, StateForConditionals(cityInfo.civInfo, cityInfo))) if (unique.conditionals.any {it.type == UniqueType.TriggerUponConstructingBuilding && construction.matchesFilter(it.params[0])}) UniqueTriggerActivation.triggerCivwideUnique(unique, cityInfo.civInfo, cityInfo) diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index 016f5fb4f9..d9b6588a31 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -828,6 +828,9 @@ class DiplomacyManager() : IsPartOfGameInfoSerialization { NotificationCategory.Diplomacy, civInfo.civName, NotificationIcon.Diplomacy, otherCivName) thirdCiv.getDiplomacyManager(civInfo).setFriendshipBasedModifier() } + + for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringFriendship)) + UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo) } private fun setFriendshipBasedModifier() { diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index aca32a2028..2d3c15f4ad 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -703,6 +703,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags: TriggerUponEnteringEra("upon entering the [era]", UniqueTarget.TriggerCondition), TriggerUponAdoptingPolicy("upon adopting [policy]", UniqueTarget.TriggerCondition), TriggerUponDeclaringWar("upon declaring war", UniqueTarget.TriggerCondition), + TriggerUponDeclaringFriendship("upon declaring friendship", UniqueTarget.TriggerCondition), TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition), TriggerUponConqueringCity("upon conquering a city", UniqueTarget.TriggerCondition), TriggerUponConstructingBuilding("upon constructing [buildingFilter]", UniqueTarget.TriggerCondition),