v2.5.0: added a method for recording multiple bestiary encounters
This commit is contained in:
@@ -305,16 +305,22 @@ public enum Bestiary {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void countEncounter(Class<?> cls){
|
public static void countEncounter(Class<?> cls){
|
||||||
|
countEncounters(cls, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void countEncounters(Class<?> cls, int encounters){
|
||||||
if (classConversions.containsKey(cls)){
|
if (classConversions.containsKey(cls)){
|
||||||
cls = classConversions.get(cls);
|
cls = classConversions.get(cls);
|
||||||
}
|
}
|
||||||
for (Bestiary cat : values()) {
|
for (Bestiary cat : values()) {
|
||||||
if (cat.encounterCount.containsKey(cls) && cat.encounterCount.get(cls) != Integer.MAX_VALUE){
|
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;
|
Journal.saveNeeded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Badges.validateCatalogBadges();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final String BESTIARY_CLASSES = "bestiary_classes";
|
private static final String BESTIARY_CLASSES = "bestiary_classes";
|
||||||
|
|||||||
Reference in New Issue
Block a user