From 440dda13d6bc4c6af69a6eb5105e3389e1c3bf00 Mon Sep 17 00:00:00 2001 From: David Cole <40234707+DavidArthurCole@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:58:55 -0400 Subject: [PATCH 1/2] Another hoppity event, another bug fix --- .../features/event/hoppity/HoppityAPI.kt | 17 ++++++++++------- .../ChocolateFactoryStrayTracker.kt | 4 ++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt index 5e1910d0d1c9..59ba2cf86db3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt @@ -16,6 +16,7 @@ import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactor import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker.duplicateDoradoStrayPattern import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker.duplicatePseudoStrayPattern +import at.hannibal2.skyhanni.features.inventory.chocolatefactory.ChocolateFactoryStrayTracker.formLoreToSingleLine import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils.getLore @@ -117,16 +118,18 @@ object HoppityAPI { duplicate = it.stack.getLore().any { line -> duplicatePseudoStrayPattern.matches(line) } attemptFireRabbitFound() } - "El Dorado" -> { - EggFoundEvent(STRAY, it.slotNumber).post() - lastName = "§6El Dorado" - lastMeal = STRAY - duplicate = it.stack.getLore().any { line -> duplicateDoradoStrayPattern.matches(line) } - attemptFireRabbitFound() - } else -> return@matchMatcher } } + ChocolateFactoryStrayTracker.strayDoradoPattern.matchMatcher(formLoreToSingleLine(it.stack.getLore())) { + // We don't need to do a handleStrayClicked here - the lore from El Dorado is already: + // §6§lGolden Rabbit §d§lCAUGHT! + // Which will trigger the above matcher. We only need to check name here to fire the found event for Dorado. + EggFoundEvent(STRAY, it.slotNumber).post() + lastName = "§6El Dorado" + lastMeal = STRAY + duplicate = it.stack.getLore().any { line -> duplicateDoradoStrayPattern.matches(line) } + } } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStrayTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStrayTracker.kt index 9c890aa56dc3..80ed140e7827 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStrayTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStrayTracker.kt @@ -77,7 +77,7 @@ object ChocolateFactoryStrayTracker { * REGEX-TEST: §7You caught a stray §6§lGolden Rabbit§7! §7You caught §6El Dorado §7- quite the elusive rabbit! * REGEX-TEST: §7You caught a stray §6§lGolden Rabbit§7! §7You caught §6El Dorado§7! Since you §7already have captured him before, §7you gained §6+324,364,585 Chocolate§7. */ - private val strayDoradoPattern by ChocolateFactoryAPI.patternGroup.pattern( + val strayDoradoPattern by ChocolateFactoryAPI.patternGroup.pattern( "stray.dorado", ".*§6El Dorado(?:.*?§6\\+?(?[\\d,]+) Chocolate)?.*", ) @@ -147,7 +147,7 @@ object ChocolateFactoryStrayTracker { var goldenTypesCaught: MutableMap = mutableMapOf() } - private fun formLoreToSingleLine(lore: List): String { + fun formLoreToSingleLine(lore: List): String { val notEmptyLines = lore.filter { it.isNotEmpty() } return notEmptyLines.joinToString(" ") } From 902f57ef7b06cd905c7ac1e78215240cf6bb77ee Mon Sep 17 00:00:00 2001 From: David Cole <40234707+DavidArthurCole@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:02:22 -0400 Subject: [PATCH 2/2] Where did my attempt fire go --- .../at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt index 59ba2cf86db3..8d3ac22c3e76 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt @@ -129,6 +129,7 @@ object HoppityAPI { lastName = "§6El Dorado" lastMeal = STRAY duplicate = it.stack.getLore().any { line -> duplicateDoradoStrayPattern.matches(line) } + attemptFireRabbitFound() } } }