diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-05-21 14:29:45 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-05-23 13:31:48 +0300 |
commit | c28c60bcc2b0aa308d8550161f2fcd27ee270201 (patch) | |
tree | 2e425c8e27e1f25422333d81281f44cad0dca727 /src | |
parent | b43cf96525534465dc94584f04dffd8ef38814d3 (diff) | |
download | Skyblocker-c28c60bcc2b0aa308d8550161f2fcd27ee270201.tar.gz Skyblocker-c28c60bcc2b0aa308d8550161f2fcd27ee270201.tar.bz2 Skyblocker-c28c60bcc2b0aa308d8550161f2fcd27ee270201.zip |
Fix time tower calculations being wrong due to incorrect string matching
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java index 2b403330..b06b65f7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java @@ -36,6 +36,7 @@ public class ChocolateFactorySolver extends ContainerSolver { private static final Pattern MULTIPLIER_INCREASE_PATTERN = Pattern.compile("\\+([\\d.]+)x Chocolate per second"); private static final Pattern CHOCOLATE_PATTERN = Pattern.compile("^([\\d,]+) Chocolate$"); private static final Pattern PRESTIGE_REQUIREMENT_PATTERN = Pattern.compile("Chocolate this Prestige: ([\\d,]+) +Requires (\\S+) Chocolate this Prestige!"); + private static final Pattern TIME_TOWER_STATUS_PATTERN = Pattern.compile("Status: (ACTIVE|INACTIVE)"); private static final ObjectArrayList<Rabbit> cpsIncreaseFactors = new ObjectArrayList<>(6); private static long totalChocolate = -1L; private static double totalCps = -1.0; @@ -121,9 +122,9 @@ public class ChocolateFactorySolver extends ContainerSolver { //Time Tower is in slot 39 timeTowerMultiplier = romanToDecimal(StringUtils.substringAfterLast(slots.get(39).getName().getString(), ' ')) / 10.0; //The name holds the level, which is multiplier * 10 in roman numerals - List<Text> timeTowerLore = ItemUtils.getLore(slots.get(39)); - if (!timeTowerLore.isEmpty()) { - isTimeTowerActive = timeTowerLore.getLast().getString().equals("The Time Tower is active!"); + Matcher timeTowerStatusMatcher = TIME_TOWER_STATUS_PATTERN.matcher(getConcatenatedLore(slots.get(39))); + if (timeTowerStatusMatcher.find()) { + isTimeTowerActive = timeTowerStatusMatcher.group(1).equals("ACTIVE"); } //Compare cost/cpsIncrease rather than cpsIncrease/cost to avoid getting close to 0 and losing precision. |