From b6215690b70d911b5d362a38a17f0e5107deb559 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sat, 14 Jan 2023 20:04:11 +0200 Subject: [PATCH] Resolved #8368 - Different colors for 'definite damage' and 'possible damage' --- .../unciv/ui/worldscreen/bottombar/BattleTable.kt | 8 ++++---- .../worldscreen/bottombar/BattleTableHelpers.kt | 15 +++++++-------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt index 7ab83bccef..5ed2ca8b68 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt @@ -230,8 +230,8 @@ class BattleTable(val worldScreen: WorldScreen): Table() { } add(defeatedText.toLabel()) } else { - add(getHealthBar(attacker.getHealth(), attacker.getMaxHealth(), expectedDamageToAttackerForHealthbar)) - add(getHealthBar(defender.getHealth(), defender.getMaxHealth(), expectedDamageToDefenderForHealthbar)).row() + add(getHealthBar(attacker.getHealth(), attacker.getMaxHealth(), maxDamageToAttacker, minDamageToAttacker)) + add(getHealthBar(defender.getHealth(), defender.getMaxHealth(), maxDamageToDefender, minDamageToDefender)).row() val attackerHealth = attacker.getHealth() val minRemainingLifeAttacker = max(attackerHealth-maxDamageToAttacker, 0) @@ -393,8 +393,8 @@ class BattleTable(val worldScreen: WorldScreen): Table() { row().pad(2f) } - add(getHealthBar(attacker.getHealth(), attacker.getMaxHealth(), 0)) - add(getHealthBar(attacker.getMaxHealth(), attacker.getMaxHealth(), 0)) + add(getHealthBar(attacker.getHealth(), attacker.getMaxHealth(), 0,0)) + add(getHealthBar(attacker.getMaxHealth(), attacker.getMaxHealth(), 0,0)) row().pad(5f) val attackButton = "Air Sweep".toTextButton().apply { color = Color.RED } diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTableHelpers.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTableHelpers.kt index a71668615d..b8e6322d87 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTableHelpers.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTableHelpers.kt @@ -63,7 +63,7 @@ object BattleTableHelpers { )) } - fun getHealthBar(currentHealth: Int, maxHealth: Int, expectedDamage: Int): Table { + fun getHealthBar(currentHealth: Int, maxHealth: Int, maxDamage: Int, minDamage: Int): Table { val healthBar = Table() val totalWidth = 100f fun addHealthToBar(image: Image, amount:Int) { @@ -79,15 +79,14 @@ object BattleTableHelpers { Actions.color(Color.BLACK, 0.7f), Actions.color(Color.FIREBRICK, 0.7f) ))) } - addHealthToBar(damagedHealth,expectedDamage) + addHealthToBar(damagedHealth, maxDamage - minDamage) - val remainingHealth = currentHealth - expectedDamage + val maybeDamagedHealth = ImageGetter.getDot(Color.ORANGE) + addHealthToBar(maybeDamagedHealth, minDamage) + + val remainingHealth = currentHealth - minDamage val remainingHealthDot = ImageGetter.getWhiteDot() - remainingHealthDot.color = when { - remainingHealth / maxHealth.toFloat() > 2 / 3f -> Color.GREEN - remainingHealth / maxHealth.toFloat() > 1 / 3f -> Color.ORANGE - else -> Color.RED - } + remainingHealthDot.color = Color.GREEN addHealthToBar(remainingHealthDot ,remainingHealth) healthBar.pack()