modding: Resolved #12380 - "upon gaining/losing the [promotion] status" triggers correctly

This commit is contained in:
yairm210
2024-11-01 13:21:58 +02:00
parent 0b7b962b8d
commit ba085ca585
2 changed files with 8 additions and 4 deletions

View File

@ -1043,7 +1043,8 @@ class MapUnit : IsPartOfGameInfoSerialization {
updateUniques()
for (unique in getTriggeredUniques(UniqueType.TriggerUponStatusGain))
if (unique.params[0] == name)
if (unique.getModifiers(UniqueType.TriggerUponStatusGain)
.any { it.params[0] == name })
UniqueTriggerActivation.triggerUnique(unique, this)
}
@ -1054,7 +1055,8 @@ class MapUnit : IsPartOfGameInfoSerialization {
updateUniques()
for (unique in getTriggeredUniques(UniqueType.TriggerUponStatusLoss))
if (unique.params[0] == name)
if (unique.getModifiers(UniqueType.TriggerUponStatusLoss)
.any { it.params[0] == name })
UniqueTriggerActivation.triggerUnique(unique, this)
}

View File

@ -77,7 +77,8 @@ class UnitPromotions : IsPartOfGameInfoSerialization {
UniqueTriggerActivation.triggerUnique(unique, unit)
for (unique in unit.getTriggeredUniques(UniqueType.TriggerUponPromotionGain))
if (unique.params[0] == promotionName)
if (unique.getModifiers(UniqueType.TriggerUponPromotionGain)
.any { it.params[0] == promotionName })
UniqueTriggerActivation.triggerUnique(unique, unit)
}
@ -106,7 +107,8 @@ class UnitPromotions : IsPartOfGameInfoSerialization {
unit.updateVisibleTiles()
for (unique in unit.getTriggeredUniques(UniqueType.TriggerUponPromotionLoss))
if (unique.params[0] == promotionName)
if (unique.getModifiers(UniqueType.TriggerUponPromotionLoss)
.any { it.params[0] == promotionName })
UniqueTriggerActivation.triggerUnique(unique, unit)
}
}