From e0dcf25e2313241938b7a619329968df8c27fa0e Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 20 Jul 2020 00:21:17 +0300 Subject: [PATCH] More placeholder regex replacements --- core/src/com/unciv/logic/battle/Battle.kt | 11 ++++++----- core/src/com/unciv/logic/battle/BattleDamage.kt | 2 -- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index f72bc7f12d..d0750b72f4 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -13,6 +13,8 @@ import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo import com.unciv.models.AttackableTile import com.unciv.models.ruleset.unit.UnitType +import com.unciv.models.translations.equalsPlaceholderText +import com.unciv.models.translations.getPlaceholderParameters import java.util.* import kotlin.math.max @@ -147,12 +149,11 @@ object Battle { if (defender.isDefeated() && defender is MapUnitCombatant && attacker is MapUnitCombatant) { - val regex = Regex(BattleDamage.HEAL_WHEN_KILL) for (unique in attacker.unit.getUniques()) { - val match = regex.matchEntire(unique) - if (match == null) continue - val amountToHeal = match.groups[1]!!.value.toInt() - attacker.unit.healBy(amountToHeal) + if(unique.equalsPlaceholderText("Heals [] damage if it kills a unit")){ + val amountToHeal = unique.getPlaceholderParameters()[0].toInt() + attacker.unit.healBy(amountToHeal) + } } } } diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index 2a364ed181..ba5bb75854 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -21,8 +21,6 @@ class BattleDamageModifier(val vs:String,val modificationAmount:Float){ object BattleDamage { const val BONUS_VS_UNIT_TYPE = """(Bonus|Penalty) vs (.*) (\d*)%""" - const val BONUS_AS_ATTACKER = """Bonus as Attacker \[(\d*)]%""" - const val HEAL_WHEN_KILL = """Heals \[(\d*)] damage if it kills a unit""" private fun getBattleDamageModifiersOfUnit(unit:MapUnit): MutableList { val modifiers = mutableListOf()