From 783ea96018adc4fb8e7353a121aa30f50a75bf2d Mon Sep 17 00:00:00 2001 From: Lorenz Date: Mon, 15 Aug 2022 17:30:56 +0200 Subject: added all revenant slayers --- .../hannibal2/skyhanni/config/features/Misc.java | 2 +- .../damageindicator/BossDamageIndicator.kt | 2 +- .../skyhanni/damageindicator/BossFinder.kt | 39 ++++++++++++++-------- .../hannibal2/skyhanni/damageindicator/BossType.kt | 13 ++++++-- 4 files changed, 39 insertions(+), 17 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java b/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java index 82b178051..c6e40b341 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/Misc.java @@ -46,7 +46,7 @@ public class Misc { "\u00a7bVanquisher", "\u00a7bEndstone Protector (not tested)", "\u00a7bEnder Dragon (not finished)", - "\u00a7bRevenant Horror (not finished)", + "\u00a7bRevenant Horror", "\u00a7bSpider Slayer (not implemented)", "\u00a7bWolf Slayer (not implemented)", "\u00a7bVoidgloom Seraph", diff --git a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt index e5ca740c7..221741640 100644 --- a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt +++ b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossDamageIndicator.kt @@ -365,7 +365,7 @@ class BossDamageIndicator { if (healed <= 0) return //Hide auto heal every 10 ticks (with rounding errors) - if ((healed == 15_000 || healed == 15_001) && bossType == BossType.HUB_REVENANT_HORROR) return + if ((healed == 15_000 || healed == 15_001) && bossType == BossType.SLAYER_ZOMBIE_5) return val formatLastHealth = NumberUtil.format(lastHealth) val formatHealth = NumberUtil.format(health) diff --git a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossFinder.kt b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossFinder.kt index fdd892e41..ddbafac0c 100644 --- a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossFinder.kt +++ b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossFinder.kt @@ -189,14 +189,15 @@ class BossFinder { } } else { + val maxHealth = entity.baseMaxHealth.toInt() if (entity is EntityBlaze) { if (entity.name != "Dinnerbone") { if (entity.hasNameTagWith(2, "§e﴾ §8[§7Lv200§8] §l§8§lAshfang§r ")) { - if (entity.baseMaxHealth == 50_000_000.0) { + if (maxHealth == 50_000_000) { return EntityResult(bossType = BossType.NETHER_ASHFANG) } //Derpy - if (entity.baseMaxHealth == 100_000_000.0) { + if (maxHealth == 100_000_000) { return EntityResult(bossType = BossType.NETHER_ASHFANG) } } @@ -226,7 +227,7 @@ class BossFinder { if (entity.hasNameTagWith(3, "§c☠ §bVoidgloom Seraph ")) { - when (entity.baseMaxHealth.toInt()) { + when (maxHealth.toInt()) { 300_000, 600_000 -> { return EntityResult(bossType = BossType.SLAYER_ENDERMAN_1) } @@ -256,23 +257,35 @@ class BossFinder { } if (entity is EntityZombie) { - if (entity.hasNameTagWith(2, "§c☠ §fAtoned Horror ")) { - if (entity.baseMaxHealth == 10_000_000.0) { - return EntityResult(bossType = BossType.HUB_REVENANT_HORROR) + if (entity.hasNameTagWith(2, "§c☠ §bRevenant Horror")) { + when (maxHealth) { + 500, 1_000 -> { + return EntityResult(bossType = BossType.SLAYER_ZOMBIE_1) + } + 20_000, 40_000 -> { + return EntityResult(bossType = BossType.SLAYER_ZOMBIE_2) + } + 400_000, 800_000 -> { + return EntityResult(bossType = BossType.SLAYER_ZOMBIE_3) + } + 1_500_000, 3_000_000 -> { + return EntityResult(bossType = BossType.SLAYER_ZOMBIE_4) + } } - //Derpy - if (entity.baseMaxHealth == 20_000_000.0) { - return EntityResult(bossType = BossType.HUB_REVENANT_HORROR) + } + if (entity.hasNameTagWith(2, "§c☠ §fAtoned Horror ")) { + if (maxHealth == 10_000_000 || maxHealth == 20_000_000) { + return EntityResult(bossType = BossType.SLAYER_ZOMBIE_5) } } } if (entity is EntityMagmaCube) { if (entity.hasNameTagWith(15, "§e﴾ §8[§7Lv500§8] §l§4§lMagma Boss§r ")) { - if (entity.baseMaxHealth == 200_000_000.0) { + if (maxHealth == 200_000_000) { return EntityResult(bossType = BossType.NETHER_MAGMA_BOSS, ignoreBlocks = true) } //Derpy - if (entity.baseMaxHealth == 400_000_000.0) { + if (maxHealth == 400_000_000) { return EntityResult(bossType = BossType.NETHER_MAGMA_BOSS, ignoreBlocks = true) } } @@ -280,11 +293,11 @@ class BossFinder { if (entity is EntityHorse) { if (entity.hasNameTagWith(15, "§8[§7Lv100§8] §c§6Headless Horseman§r ")) { - if (entity.baseMaxHealth == 3_000_000.0) { + if (maxHealth == 3_000_000) { return EntityResult(bossType = BossType.HUB_HEADLESS_HORSEMAN) } //Derpy - if (entity.baseMaxHealth == 6_000_000.0) { + if (maxHealth == 6_000_000) { return EntityResult(bossType = BossType.HUB_HEADLESS_HORSEMAN) } } diff --git a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt index 6a77ecd12..463ffccfb 100644 --- a/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt +++ b/src/main/java/at/hannibal2/skyhanni/damageindicator/BossType.kt @@ -15,8 +15,12 @@ enum class BossType(val fullName: String, val bossTypeToggle: Int, val shortName END_ENDSTONE_PROTECTOR("§cEndstone Protector", 3), END_ENDER_DRAGON("Ender Dragon", 4),//TODO fix totally - //TODO more seperated slayer variants - HUB_REVENANT_HORROR("§5Revenant Horror 5", 5, "§5Rev 5"), + SLAYER_ZOMBIE_1("§aRevenant Horror 1", 5, "§aRev 1"), + SLAYER_ZOMBIE_2("§eRevenant Horror 2", 5, "§eRev 2"), + SLAYER_ZOMBIE_3("§cRevenant Horror 3", 5, "§cRev 3"), + SLAYER_ZOMBIE_4("§4Revenant Horror 4", 5, "§4Rev 4"), + SLAYER_ZOMBIE_5("§5Revenant Horror 5", 5, "§5Rev 5"), + SPIDER_SLAYER("Spider Slayer", 6, "Spider"), WOLF_SLAYER("Wolf Slayer", 7, "Wolf"), @@ -28,4 +32,9 @@ enum class BossType(val fullName: String, val bossTypeToggle: Int, val shortName BLAZE_SLAYER("Blaze Slayer", 9, "Blaze"), HUB_HEADLESS_HORSEMAN("§6Headless Horseman", 10), + + //TODO arachne + + //TODO corelone + //TODO bal } \ No newline at end of file -- cgit