aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-05-26 22:07:33 +1000
committerGitHub <noreply@github.com>2024-05-26 14:07:33 +0200
commit05d2284401868ba66a916dc75a9ed891ec1d4dc9 (patch)
treed0fd31b75865e534d57df84a787c412594740aae /src/main/java/at
parentdcdeca7bca6956c127b202f832be3e76daa19197 (diff)
downloadskyhanni-05d2284401868ba66a916dc75a9ed891ec1d4dc9.tar.gz
skyhanni-05d2284401868ba66a916dc75a9ed891ec1d4dc9.tar.bz2
skyhanni-05d2284401868ba66a916dc75a9ed891ec1d4dc9.zip
Fix: hoppity stuff (#1860)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HoppityEggLocationsJson.kt1
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityCollectionStats.kt16
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgrade.kt17
7 files changed, 42 insertions, 13 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
index 33ad237db..91484305e 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java
@@ -93,6 +93,9 @@ public class ProfileSpecificStorage {
public int maxTimeTowerUses = 3;
@Expose
+ public boolean hasMuRabbit = false;
+
+ @Expose
public long bestUpgradeAvailableAt = 0;
@Expose
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HoppityEggLocationsJson.kt b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HoppityEggLocationsJson.kt
index 7e12607d2..e4162b82b 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HoppityEggLocationsJson.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HoppityEggLocationsJson.kt
@@ -20,4 +20,5 @@ data class HoppityEggLocationsJson(
@Expose val shrineIndex: Int,
@Expose val coachRabbitIndex: Int,
@Expose val maxRabbits: Int,
+ @Expose val maxPrestige: Int,
)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityCollectionStats.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityCollectionStats.kt
index e0ce6bc6f..a078ea9d2 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityCollectionStats.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityCollectionStats.kt
@@ -11,6 +11,7 @@ import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.LorenzUtils.round
import at.hannibal2.skyhanni.utils.NEUInternalName
import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName
+import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators
import at.hannibal2.skyhanni.utils.NumberUtil.formatInt
import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher
import at.hannibal2.skyhanni.utils.RegexUtils.matches
@@ -115,6 +116,7 @@ object HoppityCollectionStats {
val filtered = loggedRabbits.filter { it.value.rarity == rarity }
val isTotal = rarity == RabbitCollectionRarity.TOTAL
+ if (filtered.isEmpty() && !isTotal) continue
val title = "${rarity.displayName} Rabbits"
val amountFound = filtered.filter { it.value.found }.size
@@ -144,7 +146,7 @@ object HoppityCollectionStats {
add("§7Duplicate Rabbits: §a$displayDuplicates")
add("§7Total Rabbits Found: §a${displayFound + displayDuplicates}")
add("")
- add("§7Chocolate Per Second: §a$displayChocolatePerSecond")
+ add("§7Chocolate Per Second: §a${displayChocolatePerSecond.addSeparators()}")
add("§7Chocolate Multiplier: §a${displayChocolateMultiplier.round(3)}")
}
table.add(
@@ -191,9 +193,20 @@ object HoppityCollectionStats {
ChocolateFactoryAPI.profileStorage?.timeTowerCooldown = 7
}
+ if (itemName == "§dMu" && found) {
+ ChocolateFactoryAPI.profileStorage?.hasMuRabbit = true
+ }
+
val duplicates = duplicatesFound.coerceAtLeast(0)
loggedRabbits[itemName] = RabbitCollectionInfo(rarity, found, duplicates)
}
+ // For getting data for neu pv
+// val rarityToRabbit = mutableMapOf<RabbitCollectionRarity, MutableList<String>>()
+// loggedRabbits.forEach { (name, info) ->
+// val formattedName = name.removeColor().lowercase().replace(" ", "_").replace("-", "_")
+// rarityToRabbit.getOrPut(info.rarity) { mutableListOf() }.add("\"$formattedName\"")
+// }
+// println(rarityToRabbit)
return totalAmount
}
@@ -218,6 +231,7 @@ object HoppityCollectionStats {
EPIC("§5Epic", 10, 0.005, "STAINED_GLASS-10".asInternalName()),
LEGENDARY("§6Legendary", 0, 0.02, "STAINED_GLASS-1".asInternalName()),
MYTHIC("§dMythic", 0, 0.0, "STAINED_GLASS-6".asInternalName()),
+ DIVINE("§bDivine", 0, 0.025, "STAINED_GLASS-3".asInternalName()),
TOTAL("§cTotal", 0, 0.0, "STAINED_GLASS-14".asInternalName()),
;
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt
index 0570ad821..fa532dab6 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt
@@ -52,6 +52,7 @@ object ChocolateFactoryAPI {
var shrineIndex = 41
var coachRabbitIndex = 42
var maxRabbits = 395
+ private var maxPrestige = 5
var inChocolateFactory = false
var chocolateFactoryPaused = false
@@ -106,6 +107,7 @@ object ChocolateFactoryAPI {
shrineIndex = data.shrineIndex
coachRabbitIndex = data.coachRabbitIndex
maxRabbits = data.maxRabbits
+ maxPrestige = data.maxPrestige
ChocolateFactoryUpgrade.updateIgnoredSlots()
}
@@ -145,13 +147,16 @@ object ChocolateFactoryAPI {
fun isHoppityEvent() = SkyblockSeason.getCurrentSeason() == SkyblockSeason.SPRING
+ fun isMaxPrestige() = currentPrestige >= maxPrestige
+
fun timeUntilNeed(goal: Long): Duration {
var needed = goal
val profileStorage = profileStorage ?: return Duration.ZERO
val baseMultiplier = profileStorage.rawChocolateMultiplier
val rawChocolatePerSecond = profileStorage.rawChocPerSecond
- val timeTowerMultiplier = baseMultiplier + profileStorage.timeTowerLevel * 0.1
+ var timeTowerMultiplier = baseMultiplier + profileStorage.timeTowerLevel * 0.1
+ if (profileStorage.hasMuRabbit) timeTowerMultiplier += 0.7
if (rawChocolatePerSecond == 0) return Duration.INFINITE
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt
index 18563396c..3204efbf9 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt
@@ -50,9 +50,14 @@ object ChocolateFactoryDataLoader {
"chocolate.multiplier",
"§7Total Multiplier: §6(?<amount>[\\d.]+)x"
)
+
+ /**
+ * REGEX-TEST: §7You are §8#§b114
+ * REGEX-TEST: §7§7You are §8#§b5,139 §7in all-time Chocolate.
+ */
private val leaderboardPlacePattern by ChocolateFactoryAPI.patternGroup.pattern(
"leaderboard.place",
- "§7You are §8#§b(?<position>[\\d,]+)"
+ "(?:§.)+You are §8#§b(?<position>[\\d,]+)(?: §7in all-time Chocolate\\.)?"
)
private val leaderboardPercentilePattern by ChocolateFactoryAPI.patternGroup.pattern(
"leaderboard.percentile",
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt
index 04bf1b595..51b2fa2b3 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt
@@ -166,9 +166,9 @@ object ChocolateFactoryStats {
TIME_TOWER_FULL(
"§eTime Tower Full Charges: §b5h 13m 59s\n§bHappens at: Monday, May 13 5:32 AM",
{ ChocolateFactoryTimeTowerManager.currentCharges() != -1 || ChocolateFactoryTimeTowerManager.timeTowerFull() }),
- TIME_TO_PRESTIGE("§eTime To Prestige: §b1d 13h 59m 4s", { ChocolateFactoryAPI.currentPrestige != 5 }),
+ TIME_TO_PRESTIGE("§eTime To Prestige: §b1d 13h 59m 4s", { !ChocolateFactoryAPI.isMaxPrestige() }),
RAW_PER_SECOND("§eRaw Per Second: §62,136"),
- CHOCOLATE_UNTIL_PRESTIGE("§eChocolate To Prestige: §65,851", { ChocolateFactoryAPI.currentPrestige != 5 }),
+ CHOCOLATE_UNTIL_PRESTIGE("§eChocolate To Prestige: §65,851", { !ChocolateFactoryAPI.isMaxPrestige() }),
TIME_TO_BEST_UPGRADE(
"§eBest Upgrade: §b 59m 4s",
{ ChocolateFactoryAPI.profileStorage?.bestUpgradeCost != 0L }),
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgrade.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgrade.kt
index 057dd4ae7..850c595d6 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgrade.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgrade.kt
@@ -41,14 +41,15 @@ data class ChocolateFactoryUpgrade(
isMaxed -> "§a✔"
isRabbit -> when (level) {
- in (0..9) -> "$level"
- in (10..74) -> "§a$level"
- in (75..124) -> "§9$level"
- in (125..174) -> "§5$level"
- in (175..199) -> "§6$level"
- 200 -> "§d$level"
- else -> "§c$level"
- }
+ in (0..9) -> ""
+ in (10..74) -> "§a"
+ in (75..124) -> "§9"
+ in (125..174) -> "§5"
+ in (175..199) -> "§6"
+ in (200..219) -> "§d"
+ in (220..225) -> "§b"
+ else -> "§c"
+ } + level
else -> "$level"
}