From 2a8e5cf5912a540aeb7a3f2114be2630285ea14a Mon Sep 17 00:00:00 2001 From: J10a1n15 <45315647+j10a1n15@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:37:38 +0100 Subject: Fix: Old Mayor Perks being active (#2851) --- src/main/java/at/hannibal2/skyhanni/data/ElectionAPI.kt | 1 + src/main/java/at/hannibal2/skyhanni/data/MayorData.kt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/main/java/at/hannibal2/skyhanni/data/ElectionAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/ElectionAPI.kt index 03a6a2e9c..baedbd16c 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ElectionAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ElectionAPI.kt @@ -231,6 +231,7 @@ object ElectionAPI { val currentMayorName = data.mayor.name if (lastMayor?.name != currentMayorName) { + Perk.resetPerks() currentMayor = setAssumeMayorJson(currentMayorName, data.mayor.perks) currentMinister = data.mayor.minister?.let { setAssumeMayorJson(it.name, listOf(it.perk)) } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/MayorData.kt b/src/main/java/at/hannibal2/skyhanni/data/MayorData.kt index 3d1558987..26246011f 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/MayorData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/MayorData.kt @@ -215,6 +215,8 @@ enum class Perk(val perkName: String) { override fun toString(): String = "$perkName: $description" companion object { + fun resetPerks() = entries.forEach { it.isActive = false } + fun getPerkFromName(name: String): Perk? = entries.firstOrNull { it.perkName == name } fun MayorPerk.toPerk(): Perk? = getPerkFromName(this.renameIfFoxyExtraEventPerkFound())?.let { -- cgit