aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/cowtipper/cowlection/data
diff options
context:
space:
mode:
authorCow <cow@volloeko.de>2021-01-03 14:59:00 +0100
committerCow <cow@volloeko.de>2021-01-03 14:59:00 +0100
commite20b60fb5791933ebfbd926939312352ae7e357e (patch)
treef6bea09f2ea17ff83c5f0d3b0c836080d12d6737 /src/main/java/de/cowtipper/cowlection/data
parenta56d3d0fcbcb86919ab26e9b415f1b61e297225a (diff)
downloadCowlection-e20b60fb5791933ebfbd926939312352ae7e357e.tar.gz
Cowlection-e20b60fb5791933ebfbd926939312352ae7e357e.tar.bz2
Cowlection-e20b60fb5791933ebfbd926939312352ae7e357e.zip
Implemented more feedback from 0.12.0 pre-release
- Added pet exp to tooltips - Dungeon party finder: Lookup info when party is full - Dungeon party finder: Mark 'carry' or 'hyperion' parties - Dungeon lookup: Added dungeon type (= Catacombs) levels to player lookup - Dungeons overlay: Fixed fluctuating crypt counter
Diffstat (limited to 'src/main/java/de/cowtipper/cowlection/data')
-rw-r--r--src/main/java/de/cowtipper/cowlection/data/DataHelper.java37
-rw-r--r--src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java17
-rw-r--r--src/main/java/de/cowtipper/cowlection/data/XpTables.java12
3 files changed, 66 insertions, 0 deletions
diff --git a/src/main/java/de/cowtipper/cowlection/data/DataHelper.java b/src/main/java/de/cowtipper/cowlection/data/DataHelper.java
index 028fe62..75c49b0 100644
--- a/src/main/java/de/cowtipper/cowlection/data/DataHelper.java
+++ b/src/main/java/de/cowtipper/cowlection/data/DataHelper.java
@@ -32,6 +32,19 @@ public final class DataHelper {
return Arrays.stream(values(), 0, 5).toArray(SkyBlockRarity[]::new);
}
+ public static SkyBlockRarity getPetRarityByColorCode(String colorCode) {
+ if (MYTHIC.rarityColor.toString().equals(colorCode)) {
+ // special case: Mystic Bat
+ return LEGENDARY;
+ }
+ for (SkyBlockRarity petRarity : getPetRarities()) {
+ if (petRarity.rarityColor.toString().equals(colorCode)) {
+ return petRarity;
+ }
+ }
+ return null;
+ }
+
public EnumChatFormatting getColor() {
return rarityColor;
}
@@ -93,6 +106,30 @@ public final class DataHelper {
}
}
+ public enum PartyType {
+ SUITABLE(0xff22B14C, 240),
+ UNIDEAL(0xffCD8032, 240),
+ UNJOINABLE(0xffEB6E6E, 279),
+ CURRENT(0xff5FDE6C, 240),
+ NONE(0xffFF0000, 279);
+
+ private final float zIndex;
+ private final int color;
+
+ PartyType(int color, float zIndex) {
+ this.color = color;
+ this.zIndex = zIndex;
+ }
+
+ public float getZIndex() {
+ return zIndex;
+ }
+
+ public int getColor() {
+ return color;
+ }
+ }
+
public enum DungeonClass {
@SerializedName("archer") ARCHER('A'),
@SerializedName("berserk") BERSERK('B'),
diff --git a/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java b/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java
index 242c0c3..b65e48c 100644
--- a/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java
+++ b/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java
@@ -338,6 +338,23 @@ public class HySkyBlockStats {
return output;
}
+ public String getDungeonTypesLevels() {
+ StringBuilder dungeonTypesLevels = new StringBuilder();
+ if (dungeon_types != null && !dungeon_types.isEmpty()) {
+ for (Map.Entry<String, HySkyBlockStats.Profile.Dungeons.Type> dungeonType : dungeon_types.entrySet()) {
+ if (dungeonTypesLevels.length() == 0) {
+ dungeonTypesLevels.append(EnumChatFormatting.DARK_GRAY).append(" [").append(EnumChatFormatting.GRAY);
+ } else {
+ dungeonTypesLevels.append(EnumChatFormatting.DARK_GRAY).append(", ").append(EnumChatFormatting.GRAY);
+ }
+ int dungeonTypeLevel = dungeonType.getValue().getLevel();
+ dungeonTypesLevels.append(Utils.fancyCase(dungeonType.getKey().substring(0, 4))).append(" ").append(MooConfig.useRomanNumerals() ? Utils.convertArabicToRoman(dungeonTypeLevel) : dungeonTypeLevel);
+ }
+ dungeonTypesLevels.append(EnumChatFormatting.DARK_GRAY).append("]");
+ }
+ return dungeonTypesLevels.toString();
+ }
+
public static class Type {
private Map<String, Integer> times_played;
private Map<String, Integer> tier_completions;
diff --git a/src/main/java/de/cowtipper/cowlection/data/XpTables.java b/src/main/java/de/cowtipper/cowlection/data/XpTables.java
index 391f90a..158fb66 100644
--- a/src/main/java/de/cowtipper/cowlection/data/XpTables.java
+++ b/src/main/java/de/cowtipper/cowlection/data/XpTables.java
@@ -249,6 +249,18 @@ public class XpTables {
return -1;
}
}
+
+ public static int getTotalExp(DataHelper.SkyBlockRarity rarity, int level, int exp) {
+ TreeSet<Integer> xpToLevels = PET_XP.get(rarity);
+ if (xpToLevels != null) {
+ for (int xpToLevel : xpToLevels) {
+ if (level-- <= 1) {
+ return xpToLevel + exp;
+ }
+ }
+ }
+ return -1;
+ }
}
public enum Dungeoneering {