v2.5.0: added a method for recording multiple bestiary encounters

This commit is contained in:
Evan Debenham
2024-06-19 19:28:54 -04:00
parent b6f7e7462c
commit f0542ebf1e

View File

@@ -305,16 +305,22 @@ public enum Bestiary {
}
public static void countEncounter(Class<?> cls){
countEncounters(cls, 1);
}
public static void countEncounters(Class<?> cls, int encounters){
if (classConversions.containsKey(cls)){
cls = classConversions.get(cls);
}
for (Bestiary cat : values()) {
if (cat.encounterCount.containsKey(cls) && cat.encounterCount.get(cls) != Integer.MAX_VALUE){
cat.encounterCount.put(cls, cat.encounterCount.get(cls)+1);
cat.encounterCount.put(cls, cat.encounterCount.get(cls)+encounters);
if (cat.encounterCount.get(cls) < -1_000_000_000){ //to catch cases of overflow
cat.encounterCount.put(cls, Integer.MAX_VALUE);
}
Journal.saveNeeded = true;
}
}
Badges.validateCatalogBadges();
}
private static final String BESTIARY_CLASSES = "bestiary_classes";