Skip to content

Commit

Permalink
isPerkActive no longer requires the current mayor
Browse files Browse the repository at this point in the history
  • Loading branch information
j10a1n15 committed Jan 30, 2024
1 parent 4c0c974 commit 50e7ae2
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ object MayorAPI {

private const val LATE_SPRING = 3

fun isPerkActive(mayor: Mayors, perk: Perks) = mayor.perk.contains(perk)
fun isPerkActive(perk: Perks) = currentMayor?.perk?.contains(perk) ?: false

/**
* @param input: The name of the mayor
Expand Down
30 changes: 15 additions & 15 deletions src/main/java/at/hannibal2/skyhanni/data/Mayors.kt
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
package at.hannibal2.skyhanni.data

enum class Mayors(val mayorName: String, val color: String, val perk: List<Perks>) {
Aatrox("Aatrox", "§3", listOf(Perks.SLASHED_PRICING, Perks.SLAYER_XP_BUFF, Perks.PATHFINDER)),
Cole("Cole", "§e", listOf(Perks.PROSPECTION, Perks.MINING_XP_BUFF, Perks.MINING_FIESTA)),
Diana("Diana", "§2", listOf(Perks.LUCKY, Perks.MYTHOLOGICAL_RITUAL, Perks.PET_XP_BUFF)),
Diaz("Diaz", "§6", listOf(Perks.BARRIER_STREET, Perks.SHOPPING_SPREE)),
Finnegan("Finnegan", "§c", listOf(Perks.FARMING_SIMULATOR, Perks.PELT_POCALYPSE, Perks.GOATED)),
Foxy("Foxy", "§d", listOf(Perks.SWEET_TOOTH, Perks.BENEVOLENCE, Perks.EXTRA_EVENT)),
Marina("Marina", "§b", listOf(Perks.FISHING_XP_BUFF, Perks.LUCK_OF_THE_SEA, Perks.FISHING_FESTIVAL)),
Paul("Paul", "§c", listOf(Perks.MARAUDER, Perks.EZPZ, Perks.BENEDICTION)),

Scorpius("Scorpius", "§d", listOf(Perks.BRIBE, Perks.DARKER_AUCTIONS)),
Jerry("Jerry", "§d", listOf(Perks.PERKPOCALYPSE, Perks.STATSPOCALYPSE, Perks.JERRYPOCALYPSE)),
Derpy("Derpy", "§d", listOf(Perks.TURBO_MINIONS, Perks.AH_CLOSED, Perks.DOUBLE_MOBS_HP, Perks.MOAR_SKILLZ)),

Unknown("Unknown", "§c", listOf()),
AATROX("Aatrox", "§3", listOf(Perks.SLASHED_PRICING, Perks.SLAYER_XP_BUFF, Perks.PATHFINDER)),
COLE("Cole", "§e", listOf(Perks.PROSPECTION, Perks.MINING_XP_BUFF, Perks.MINING_FIESTA)),
DIANA("Diana", "§2", listOf(Perks.LUCKY, Perks.MYTHOLOGICAL_RITUAL, Perks.PET_XP_BUFF)),
DIAZ("Diaz", "§6", listOf(Perks.BARRIER_STREET, Perks.SHOPPING_SPREE)),
FINNEGAN("Finnegan", "§c", listOf(Perks.FARMING_SIMULATOR, Perks.PELT_POCALYPSE, Perks.GOATED)),
FOXY("Foxy", "§d", listOf(Perks.SWEET_TOOTH, Perks.BENEVOLENCE, Perks.EXTRA_EVENT)),
MARINA("Marina", "§b", listOf(Perks.FISHING_XP_BUFF, Perks.LUCK_OF_THE_SEA, Perks.FISHING_FESTIVAL)),
PAUL("Paul", "§c", listOf(Perks.MARAUDER, Perks.EZPZ, Perks.BENEDICTION)),

SCORPIUS("Scorpius", "§d", listOf(Perks.BRIBE, Perks.DARKER_AUCTIONS)),
JERRY("Jerry", "§d", listOf(Perks.PERKPOCALYPSE, Perks.STATSPOCALYPSE, Perks.JERRYPOCALYPSE)),
DERPY("Derpy", "§d", listOf(Perks.TURBO_MINIONS, Perks.AH_CLOSED, Perks.DOUBLE_MOBS_HP, Perks.MOAR_SKILLZ)),

UNKNOWN("Unknown", "§c", listOf()),
;


companion object {
fun getMayorFromName(name: String) = entries.firstOrNull { it.mayorName == name } ?: Unknown
fun getMayorFromName(name: String) = entries.firstOrNull { it.mayorName == name } ?: UNKNOWN
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.features.event.diana
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.data.IslandType
import at.hannibal2.skyhanni.data.MayorAPI
import at.hannibal2.skyhanni.data.Perks
import at.hannibal2.skyhanni.data.PetAPI
import at.hannibal2.skyhanni.utils.InventoryUtils
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
Expand All @@ -16,8 +17,8 @@ object DianaAPI {

fun hasSpadeInHand() = InventoryUtils.itemInHandId == spade

private fun isRitualActive() = MayorAPI.isPerkActive("Diana", "Mythological Ritual") ||
MayorAPI.isPerkActive("Jerry", "Perkpocalypse") || SkyHanniMod.feature.event.diana.alwaysDiana
private fun isRitualActive() = MayorAPI.isPerkActive(Perks.MYTHOLOGICAL_RITUAL) ||
MayorAPI.isPerkActive(Perks.PERKPOCALYPSE) || SkyHanniMod.feature.event.diana.alwaysDiana

fun hasGriffinPet() = PetAPI.isCurrentPet("Griffin")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import at.hannibal2.skyhanni.data.ClickType
import at.hannibal2.skyhanni.data.GardenCropMilestones.getCounter
import at.hannibal2.skyhanni.data.GardenCropMilestones.setCounter
import at.hannibal2.skyhanni.data.MayorAPI
import at.hannibal2.skyhanni.data.Perks
import at.hannibal2.skyhanni.data.jsonobjects.repo.DicerDropsJson
import at.hannibal2.skyhanni.data.jsonobjects.repo.DicerDropsJson.DicerType
import at.hannibal2.skyhanni.events.CropClickEvent
Expand Down Expand Up @@ -172,7 +173,7 @@ object GardenCropSpeed {

fun finneganPerkActive(): Boolean {
val forcefullyEnabledAlwaysFinnegan = config.forcefullyEnabledAlwaysFinnegan
val perkActive = MayorAPI.isPerkActive("Finnegan", "Farming Simulator")
val perkActive = MayorAPI.isPerkActive(Perks.FARMING_SIMULATOR)
return forcefullyEnabledAlwaysFinnegan || perkActive
}

Expand Down
4 changes: 3 additions & 1 deletion src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.data.HypixelData
import at.hannibal2.skyhanni.data.IslandType
import at.hannibal2.skyhanni.data.MayorAPI
import at.hannibal2.skyhanni.data.Mayors
import at.hannibal2.skyhanni.data.Perks
import at.hannibal2.skyhanni.data.TitleManager
import at.hannibal2.skyhanni.events.GuiContainerEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
Expand Down Expand Up @@ -666,7 +668,7 @@ object LorenzUtils {
fun <T> List<T>.indexOfFirst(vararg args: T) = args.map { indexOf(it) }.firstOrNull { it != -1 }

private val recalculateDerpy =
RecalculatingValue(1.seconds) { MayorAPI.isPerkActive("Derpy", "DOUBLE MOBS HP!!!") }
RecalculatingValue(1.seconds) { MayorAPI.isPerkActive(Perks.DOUBLE_MOBS_HP) }

val isDerpy get() = recalculateDerpy.getValue()

Expand Down

0 comments on commit 50e7ae2

Please sign in to comment.