mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-30 14:48:56 +07:00
Added 'trigger upon losing over X HP in single attack'
This commit is contained in:
@ -366,6 +366,16 @@ object Battle {
|
||||
val defenderDamageDealt = attackerHealthBefore - attacker.getHealth()
|
||||
val attackerDamageDealt = defenderHealthBefore - defender.getHealth()
|
||||
|
||||
if (attacker is MapUnitCombatant)
|
||||
for (unique in attacker.unit.getTriggeredUniques(UniqueType.TriggerUponPromotion))
|
||||
if (unique.conditionals.any { it.params[0].toInt() <= defenderDamageDealt })
|
||||
UniqueTriggerActivation.triggerUnitwideUnique(unique, attacker.unit)
|
||||
|
||||
if (defender is MapUnitCombatant)
|
||||
for (unique in defender.unit.getTriggeredUniques(UniqueType.TriggerUponPromotion))
|
||||
if (unique.conditionals.any { it.params[0].toInt() <= attackerDamageDealt })
|
||||
UniqueTriggerActivation.triggerUnitwideUnique(unique, defender.unit)
|
||||
|
||||
plunderFromDamage(attacker, defender, attackerDamageDealt)
|
||||
return DamageDealt(attackerDamageDealt, defenderDamageDealt)
|
||||
}
|
||||
|
@ -735,6 +735,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
|
||||
TriggerUponDefeatingUnit("upon defeating a [mapUnitFilter] unit", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponDefeat("upon being defeated", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponPromotion("upon being promoted", UniqueTarget.UnitTriggerCondition),
|
||||
TriggerUponLosingHealth("upon losing at least [amount] HP in a single attack", UniqueTarget.UnitTriggerCondition),
|
||||
|
||||
//endregion
|
||||
|
||||
|
Reference in New Issue
Block a user