diff --git a/core/src/main/assets/messages/misc/misc.properties b/core/src/main/assets/messages/misc/misc.properties index 312a876a1..d6fbcfa4d 100644 --- a/core/src/main/assets/messages/misc/misc.properties +++ b/core/src/main/assets/messages/misc/misc.properties @@ -113,7 +113,7 @@ badges$badge.item_level_5.desc=Acquire an item of level 15 or higher badges$badge.victory.title=Victory! badges$badge.victory.desc=Obtain the Amulet of Yendor badges$badge.victory_all_classes.title=Master of Many Trades -badges$badge.victory_all_classes.desc=Obtain the Amulet of Yendor with the Warrior, Mage, Rogue & Huntress +badges$badge.victory_all_classes.desc=Obtain the Amulet of Yendor with every hero class badges$badge.mastery_combo.title=Gladiator's Fury badges$badge.mastery_combo.desc=Reach a 10-hit combo badges$badge.items_crafted_1.title=Novice Alchemist diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java index d330ad976..90f2eb918 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java @@ -670,6 +670,14 @@ public class Badges { firstBossClassBadges.put(HeroClass.HUNTRESS, Badge.BOSS_SLAIN_1_HUNTRESS); } + private static LinkedHashMap victoryClassBadges = new LinkedHashMap<>(); + static { + victoryClassBadges.put(HeroClass.WARRIOR, Badge.VICTORY_WARRIOR); + victoryClassBadges.put(HeroClass.MAGE, Badge.MASTERY_MAGE); + victoryClassBadges.put(HeroClass.ROGUE, Badge.VICTORY_ROGUE); + victoryClassBadges.put(HeroClass.HUNTRESS, Badge.VICTORY_HUNTRESS); + } + private static LinkedHashMap thirdBossSubclassBadges = new LinkedHashMap<>(); static { thirdBossSubclassBadges.put(HeroSubClass.BERSERKER, Badge.BOSS_SLAIN_3_BERSERKER); @@ -1146,6 +1154,16 @@ public class Badges { return result; + } else if (badge == Badge.VICTORY_ALL_CLASSES) { + + for (HeroClass cls : HeroClass.values()){ + result += "\n"; + if (isUnlocked(victoryClassBadges.get(cls))) result += "_" + Messages.titleCase(cls.title()) + "_"; + else result += Messages.titleCase(cls.title()); + } + + return result; + } else if (badge == Badge.BOSS_SLAIN_3_ALL_SUBCLASSES){ for (HeroSubClass cls : HeroSubClass.values()){