summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/damageindicator
diff options
context:
space:
mode:
authorLorenz <lo.scherf@gmail.com>2022-08-15 12:55:49 +0200
committerLorenz <lo.scherf@gmail.com>2022-08-15 12:55:49 +0200
commite0f6fc1b4f0211a7bcdf42b5f579600889efd159 (patch)
tree65de97c4c1a7d6877328acffdccd54409d0826e8 /src/main/java/at/hannibal2/skyhanni/damageindicator
parent6fbbcb5a7ce630646ca374d811e480e7719a2641 (diff)
downloadskyhanni-e0f6fc1b4f0211a7bcdf42b5f579600889efd159.tar.gz
skyhanni-e0f6fc1b4f0211a7bcdf42b5f579600889efd159.tar.bz2
skyhanni-e0f6fc1b4f0211a7bcdf42b5f579600889efd159.zip
changed damage indicator chat message, added toggle in config
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/damageindicator')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt56
-rw-r--r--src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt2
2 files changed, 21 insertions, 37 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt
index 6ce193280..85996919b 100644
--- a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt
+++ b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt
@@ -5,7 +5,6 @@ import at.hannibal2.skyhanni.dungeon.DungeonData
import at.hannibal2.skyhanni.events.DamageIndicatorFinalBossEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.misc.ScoreboardData
-import at.hannibal2.skyhanni.test.LorenzTest
import at.hannibal2.skyhanni.utils.*
import at.hannibal2.skyhanni.utils.LorenzUtils.baseMaxHealth
import net.minecraft.client.Minecraft
@@ -89,7 +88,6 @@ class BossDamageIndicator {
6f
)
-
var bossName = data.bossType.bossName
if (data.namePrefix.isNotEmpty()) {
bossName = data.namePrefix + bossName
@@ -98,15 +96,13 @@ class BossDamageIndicator {
bossName += data.nameSuffix
}
- val scale2 = LorenzTest.b.toFloat()
- val above = LorenzTest.a.toFloat()
RenderUtils.drawLabel(
pos,
bossName,
partialTicks,
true,
- scale2,
- above
+ 3.9f,
+ -9.0f
)
}
GlStateManager.enableDepth()
@@ -309,37 +305,11 @@ class BossDamageIndicator {
else -> LorenzColor.RED
}
- if (data.containsKey(entity.uniqueID)) {
- val lastHealth = data[entity.uniqueID]!!.lastHealth
- val diff = lastHealth - health
- if (diff != 0) {
+ if (SkyHanniMod.feature.misc.damageIndicatorHealingMessage) {
+ if (data.containsKey(entity.uniqueID)) {
+ val lastHealth = data[entity.uniqueID]!!.lastHealth
val bossType = entityData.bossType
- if (bossType == BossType.NETHER_ASHFANG) {
- if (diff < 0) {
- val oldHealth = lastHealth / 1_000_000
- val newHealth = health / 1_000_000
- LorenzUtils.chat("§e§lAshfang healing: ${oldHealth}M -> ${newHealth}M")
- }
- } else if (bossType == BossType.NETHER_BLADESOUL) {
- if (diff < 0) {
- val oldHealth = lastHealth / 1_000_000
- val newHealth = health / 1_000_000
- val oldFormat = NumberUtil.format(oldHealth)
- val newFormat = NumberUtil.format(newHealth)
- LorenzUtils.chat("§e§lBladesoul healing: §a+12.5m §e(${oldFormat}M -> ${newFormat}M)")
- }
- } else if (bossType == BossType.NETHER_BARBARIAN_DUKE) {
- if (diff < 0) {
- val oldHealth = lastHealth / 1_000_000
- val newHealth = health / 1_000_000
- val oldFormat = NumberUtil.format(oldHealth)
- val newFormat = NumberUtil.format(newHealth)
- LorenzUtils.chat("§e§lBarbarian Duke healing: §a+12.5m §e(${oldFormat}M -> ${newFormat}M)")
- }
- //TODO check for revive buffs
-// } else {
-// LorenzUtils.chat("$bossType diff: $diff")
- }
+ checkHealed(health, lastHealth, bossType)
}
}
@@ -354,6 +324,20 @@ class BossDamageIndicator {
}
}
+ private fun checkHealed(health: Int, lastHealth: Int, bossType: BossType) {
+ val healed = health - lastHealth
+ if (healed <= 0) return
+
+ //Hide auto heal every 10 ticks
+ if (healed == 15_000 && bossType == BossType.HUB_REVENANT_HORROR) return
+
+ val formatLastHealth = NumberUtil.format(lastHealth)
+ val formatHealth = NumberUtil.format(health)
+ val healedFormat = NumberUtil.format(healed)
+ println(bossType.bossName + " §fhealed for $healed❤ ($lastHealth -> $health)")
+ LorenzUtils.chat(bossType.bossName + " §ehealed for §a$healedFormat❤ §8(§e$formatLastHealth -> $formatHealth§8)")
+ }
+
private fun grabData(entity: EntityLivingBase): EntityData? {
if (data.contains(entity.uniqueID)) return data[entity.uniqueID]
diff --git a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt
index ea6c61b4c..a913bbf4b 100644
--- a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt
+++ b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt
@@ -12,7 +12,7 @@ enum class BossType(val bossName: String) {
NETHER_VANQUISHER("§5Vanquisher"),
END_ENDSTONE_PROTECTOR("§cEndstone Protector"),//TODO add color
- END_ENDERMAN_SLAYER("Voidgloom Seraph"),
+ END_ENDERMAN_SLAYER("Voidgloom Seraph"),//TODO use seperate enums per tier
END_ENDER_DRAGON("Ender Dragon"),//TODO fix totally
HUB_REVENANT_HORROR("§5Revenant Horror 5"),//TODO add other variants like voidgloom?