diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/ArmorStackDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/ArmorStackDisplay.kt index 6df180473f7e..acdff74eed64 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/ArmorStackDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/ArmorStackDisplay.kt @@ -35,9 +35,12 @@ object ArmorStackDisplay { "combat.armorstack.actionbar", " (?:§6|§6§l)(?\\d+[ᝐ⁑|҉Ѫ⚶])" ) + /** + * REGEX-TEST: §7Health: §a+205, §7Defense: §a+55, §7Intelligence: §a+125, §7Combat Wisdom: §a+0.75, §8[§8⚔§8] §8[§8⚔§8], , §bArachno Resistance II, §7Grants §a+3❈ Defense §7against §aspiders§7., §bVeteran I, §7Grants §3+0.75☯ Combat Wisdom§7., , §6Tiered Bonus: Arcane Vision (2/4), §7Gives you the ability to see the runic, §7affinity of enemies., §7, §7Using the proper §bRune §7when casting spells, §7from §bRunic Items §7grants 1 stack of §6Arcane, §6Vision Ѫ§7., §7, §7Each §6Arcane Vision Ѫ §7stack grants you §c+2%, §c§7damage on your §bRunic Spells§7., §7, §7At §c10 §7stacks, the spells also explode on hit., §7, §7Lose 1 stack after §c4s §7of not gaining a stack., , §7§8This item can be reforged!, §6§lLEGENDARY LEGGINGS + */ private val armorStackTierBonus by RepoPattern.pattern( "combat.armorstack.armor", - "§6Tiered Bonus: (?\\S+) \\((?\\d)\\/4\\)" + "§6Tiered Bonus: (?.*) \\((?\\d)\\/4\\)" ) @SubscribeEvent @@ -51,27 +54,26 @@ object ArmorStackDisplay { @SubscribeEvent fun onSecond(event: SecondPassedEvent) { - if (config.showTimer) { - InventoryUtils.getArmor().forEach { armor -> - armorStackTierBonus.findMatcher(armor?.getLore().toString()) { - group("amount") - }?.let { result -> - armorMaxTime = when (result) { - "2" -> 4000.milliseconds - "3" -> 7000.milliseconds - "4" -> 10000.milliseconds - else -> ZERO - } - return + if (!isEnabled() || !config.showTimer) return + InventoryUtils.getArmor().forEach { armor -> + armorStackTierBonus.findMatcher(armor?.getLore().toString()) { + group("amount") + }?.let { result -> + armorMaxTime = when (result) { + "2" -> 4000.milliseconds + "3" -> 7000.milliseconds + "4" -> 10000.milliseconds + else -> ZERO } + return } } } @SubscribeEvent fun onActionBarValueUpdate(event: ActionBarValueUpdateEvent) { - if (event.updated != ActionBarStatsData.ARMOR_STACK) return - displayTimer = SimpleTimeMark.now().plus(armorMaxTime) + if (!isEnabled() || event.updated != ActionBarStatsData.ARMOR_STACK) return + displayTimer = SimpleTimeMark.now() + armorMaxTime } @SubscribeEvent