Upon entering war uniques (#13716)

* Add upon being declared war upon unique

* Add upon entering a war unique

* Add parameters to uniques

* Appllied yairm210's suggestions
This commit is contained in:
PLynx 2025-08-06 21:27:23 +02:00 committed by GitHub
parent 3b483e0d14
commit 398b3edb6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 38 additions and 1 deletions

View File

@ -40,9 +40,28 @@ object DeclareWar {
breakTreaties(diplomacyManager)
if (otherCiv.isMajorCiv())
if (otherCiv.isMajorCiv()) {
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringWar))
UniqueTriggerActivation.triggerUnique(unique, civInfo)
}
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringWarFiltered)) {
if (otherCiv.matchesFilter(unique.params[0]))
UniqueTriggerActivation.triggerUnique(unique, civInfo)
}
for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponBeingDeclaredWarUpon)) {
if (civInfo.matchesFilter(unique.params[0]))
UniqueTriggerActivation.triggerUnique(unique, otherCiv)
}
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponEnteringWar))
if (otherCiv.matchesFilter(unique.params[0]))
UniqueTriggerActivation.triggerUnique(unique, civInfo)
for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponEnteringWar))
if (civInfo.matchesFilter(unique.params[0]))
UniqueTriggerActivation.triggerUnique(unique, otherCiv)
}
private fun handleCityStateDirectAttack(diplomacyManager: DiplomacyManager) {

View File

@ -924,6 +924,9 @@ enum class UniqueType(
TriggerUponEnteringEraUnfiltered("upon entering a new era", UniqueTarget.TriggerCondition),
TriggerUponAdoptingPolicyOrBelief("upon adopting [policy/belief]", UniqueTarget.TriggerCondition),
TriggerUponDeclaringWar("upon declaring war with a major Civilization", UniqueTarget.TriggerCondition),
TriggerUponDeclaringWarFiltered("upon declaring war upon [civFilter] Civilizations", UniqueTarget.TriggerCondition),
TriggerUponBeingDeclaredWarUpon("upon being declared war upon by [civFilter] Civilizations", UniqueTarget.TriggerCondition),
TriggerUponEnteringWar("upon entering a war with [civFilter] Civilizations", UniqueTarget.TriggerCondition),
TriggerUponDeclaringFriendship("upon declaring friendship", UniqueTarget.TriggerCondition),
TriggerUponSigningDefensivePact("upon declaring a defensive pact", UniqueTarget.TriggerCondition),
TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition),

View File

@ -3635,6 +3635,21 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl
??? example "<upon declaring war with a major Civilization>"
Applicable to: TriggerCondition
??? example "<upon declaring war with a [civFilter] Civilization>"
Example: "<upon declaring war with a [City-States] Civilization>"
Applicable to: TriggerCondition
??? example "<upon being declared war upon [civFilter] Civilization>"
Example: "<upon being declared war upon [City-States] Civilization>"
Applicable to: TriggerCondition
??? example "<upon entering a war with [civFilter] Civilization>"
Example: "<upon entering a war with [City-States] Civilization>"
Applicable to: TriggerCondition
??? example "<upon declaring friendship>"
Applicable to: TriggerCondition