mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-10 15:59:33 +07:00
Added 'trigger upon promotion', 'trigger upon conquering city' unit trigger
This commit is contained in:
@ -557,7 +557,7 @@ object Battle {
|
||||
for (airUnit in airUnits.toList()) airUnit.destroy()
|
||||
}
|
||||
|
||||
val stateForConditionals = StateForConditionals(civInfo = attackerCiv, unit = attacker.unit, ourCombatant = attacker, attackedTile = city.getCenterTile())
|
||||
val stateForConditionals = StateForConditionals(civInfo = attackerCiv, city=city, unit = attacker.unit, ourCombatant = attacker, attackedTile = city.getCenterTile())
|
||||
for (unique in attacker.getMatchingUniques(UniqueType.CaptureCityPlunder, stateForConditionals, true)) {
|
||||
attackerCiv.addStat(
|
||||
Stat.valueOf(unique.params[2]),
|
||||
@ -584,9 +584,8 @@ object Battle {
|
||||
if (attackerCiv.isCurrentPlayer())
|
||||
UncivGame.Current.settings.addCompletedTutorialTask("Conquer a city")
|
||||
|
||||
for (unique in attackerCiv.getTriggeredUniques(UniqueType.TriggerUponConqueringCity,
|
||||
StateForConditionals(attackerCiv, city, attacker.unit, attackedTile = city.getCenterTile() )
|
||||
))
|
||||
for (unique in attackerCiv.getTriggeredUniques(UniqueType.TriggerUponConqueringCity, stateForConditionals)
|
||||
+ attacker.unit.getTriggeredUniques(UniqueType.TriggerUponConqueringCity, stateForConditionals))
|
||||
UniqueTriggerActivation.triggerCivwideUnique(unique, attackerCiv, city)
|
||||
}
|
||||
|
||||
|
@ -64,6 +64,9 @@ class UnitPromotions : IsPartOfGameInfoSerialization {
|
||||
if (!isFree) {
|
||||
XP -= xpForNextPromotion()
|
||||
numberOfPromotions++
|
||||
|
||||
for (unique in unit.getTriggeredUniques(UniqueType.TriggerUponPromotion))
|
||||
UniqueTriggerActivation.triggerUnitwideUnique(unique, unit)
|
||||
}
|
||||
|
||||
val ruleset = unit.civ.gameInfo.ruleset
|
||||
|
@ -714,7 +714,8 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
|
||||
TriggerUponDeclaringWar("upon declaring war with a major Civilization", UniqueTarget.TriggerCondition),
|
||||
TriggerUponDeclaringFriendship("upon declaring friendship", UniqueTarget.TriggerCondition),
|
||||
TriggerUponEnteringGoldenAge("upon entering a Golden Age", UniqueTarget.TriggerCondition),
|
||||
TriggerUponConqueringCity("upon conquering a city", UniqueTarget.TriggerCondition),
|
||||
/** Can be placed upon both units and as global */
|
||||
TriggerUponConqueringCity("upon conquering a city", UniqueTarget.TriggerCondition, UniqueTarget.UnitTriggerable),
|
||||
TriggerUponFoundingCity("upon founding a city", UniqueTarget.TriggerCondition),
|
||||
TriggerUponDiscoveringNaturalWonder("upon discovering a Natural Wonder", UniqueTarget.TriggerCondition),
|
||||
TriggerUponConstructingBuilding("upon constructing [buildingFilter]", UniqueTarget.TriggerCondition),
|
||||
@ -732,7 +733,8 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
|
||||
///////////////////////////////////////// region UNIT TRIGGERS /////////////////////////////////////////
|
||||
|
||||
TriggerUponDefeatingUnit("upon defeating a [mapUnitFilter] unit", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponDefeat("upon defeat", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponDefeat("upon being defeated", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponPromotion("upon being promoted", UniqueTarget.UnitTriggerCondition),
|
||||
|
||||
//endregion
|
||||
|
||||
|
Reference in New Issue
Block a user