diff --git a/core/src/main/assets/interfaces/badges.png b/core/src/main/assets/interfaces/badges.png index ef8935b0a..4c2b34104 100644 Binary files a/core/src/main/assets/interfaces/badges.png and b/core/src/main/assets/interfaces/badges.png differ diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index fc767c5cb..0c01eaf78 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -463,11 +463,11 @@ actors.hero.heroclass.mage_unlock=The Mage is an expert with wands, and carries actors.hero.heroclass.rogue=rogue actors.hero.heroclass.rogue_desc=The Rogue starts with a unique _Cloak of Shadows_, which he can use to become invisible at will.\n\nThe Rogue can _detect secrets and traps_ from a greater distance.\n\nThe Rogue also starts with _a dagger_, _three throwing knives_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Rogue automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Invisibility\n_-_ Scrolls of Magic Mapping -actors.hero.heroclass.rogue_unlock=The Rogue can control the flow of battle and strike from invisibility using his _unique cloak of shadows._\n\nTo unlock him _perform 10 surprise attacks in one run._ +actors.hero.heroclass.rogue_unlock=The Rogue can control the flow of battle and strike from invisibility using his _unique cloak of shadows._\n\nTo unlock him _perform 10 surprise attacks in one game._ actors.hero.heroclass.huntress=huntress actors.hero.heroclass.huntress_desc=The Huntress starts with a _unique spirit bow,_ which can fire an infinite number of conjured arrows.\n\nThe Huntress can travel through tall grass _without trampling it_.\n\nThe Huntress also starts with _studded gloves_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Huntress automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Mind Vision\n_-_ Scrolls of Lullaby -actors.hero.heroclass.huntress_unlock=The Huntress is a master of thrown weapons, and has a _unique magical bow_ with infinite arrows.\n\nTo unlock her _hit 15 different enemies with thrown weapons in one run._ +actors.hero.heroclass.huntress_unlock=The Huntress is a master of thrown weapons, and has a _unique magical bow_ with infinite arrows.\n\nTo unlock her _hit 15 different enemies with thrown weapons in one game._ actors.hero.herosubclass.berserker=berserker actors.hero.herosubclass.berserker_short_desc=The _Berserker_ builds rage as he takes damage. Rage increases his damage, and can let him briefly cheat death. diff --git a/core/src/main/assets/messages/misc/misc.properties b/core/src/main/assets/messages/misc/misc.properties index 5bb920f8b..39ecf6709 100644 --- a/core/src/main/assets/messages/misc/misc.properties +++ b/core/src/main/assets/messages/misc/misc.properties @@ -1,21 +1,25 @@ badges.endorsed=Badge endorsed: %s -badges.new=Badge unlocked!: %s +badges.new=Badge unlocked: %s badges$badge.monsters_slain_1.title=Novice Monster Hunter -badges$badge.monsters_slain_1.desc=Defeat 10 enemies in one run +badges$badge.monsters_slain_1.desc=Defeat 10 enemies in one game badges$badge.monsters_slain_2.title=Adept Monster Hunter -badges$badge.monsters_slain_2.desc=Defeat 50 enemies in one run +badges$badge.monsters_slain_2.desc=Defeat 50 enemies in one game badges$badge.monsters_slain_3.title=Expert Monster Hunter -badges$badge.monsters_slain_3.desc=Defeat 150 enemies in one run +badges$badge.monsters_slain_3.desc=Defeat 100 enemies in one game badges$badge.monsters_slain_4.title=Master Monster Hunter -badges$badge.monsters_slain_4.desc=Defeat 250 enemies in one run +badges$badge.monsters_slain_4.desc=Defeat 200 enemies in one game +badges$badge.monsters_slain_5.title=Grandmaster Monster Hunter +badges$badge.monsters_slain_5.desc=Defeat 300 enemies in one game badges$badge.gold_collected_1.title=Novice Treasure Hunter -badges$badge.gold_collected_1.desc=Collect 100 gold in one run +badges$badge.gold_collected_1.desc=Collect 250 gold in one game badges$badge.gold_collected_2.title=Adept Treasure Hunter -badges$badge.gold_collected_2.desc=Collect 500 gold in one run +badges$badge.gold_collected_2.desc=Collect 1000 gold in one game badges$badge.gold_collected_3.title=Expert Treasure Hunter -badges$badge.gold_collected_3.desc=Collect 2500 gold in one run +badges$badge.gold_collected_3.desc=Collect 2500 gold in one game badges$badge.gold_collected_4.title=Master Treasure Hunter -badges$badge.gold_collected_4.desc=Collect 7500 gold in one run +badges$badge.gold_collected_4.desc=Collect 5000 gold in one game +badges$badge.gold_collected_5.title=Grandmaster Treasure Hunter +badges$badge.gold_collected_5.desc=Collect 10,000 gold in one game badges$badge.level_reached_1.title=Novice Adventurer badges$badge.level_reached_1.desc=Reach level 6 badges$badge.level_reached_2.title=Adept Adventurer @@ -24,6 +28,8 @@ badges$badge.level_reached_3.title=Expert Adventurer badges$badge.level_reached_3.desc=Reach level 18 badges$badge.level_reached_4.title=Master Adventurer badges$badge.level_reached_4.desc=Reach level 24 +badges$badge.level_reached_5.title=Grandmaster Adventurer +badges$badge.level_reached_5.desc=Reach level 30 badges$badge.all_weapons_identified.title=Weapon Researcher badges$badge.all_weapons_identified.desc=Identify all weapons in your journal badges$badge.all_armor_identified.title=Armor Researcher @@ -69,21 +75,25 @@ badges$badge.boss_slain_1_all_classes.desc=Defeat the first boss with the Warrio badges$badge.boss_slain_3_all_subclasses.title=Jack of All Trades badges$badge.boss_slain_3_all_subclasses.desc=Defeat the third boss with the Gladiator, Berserker, Warlock, Battlemage, Freerunner, Assassin, Sniper & Warden badges$badge.strength_attained_1.title=Novice Bodybuilder -badges$badge.strength_attained_1.desc=Reach 13 points of strength +badges$badge.strength_attained_1.desc=Reach 12 points of strength badges$badge.strength_attained_2.title=Adept Bodybuilder -badges$badge.strength_attained_2.desc=Reach 15 points of strength +badges$badge.strength_attained_2.desc=Reach 14 points of strength badges$badge.strength_attained_3.title=Expert Bodybuilder -badges$badge.strength_attained_3.desc=Reach 17 points of strength +badges$badge.strength_attained_3.desc=Reach 16 points of strength badges$badge.strength_attained_4.title=Master Bodybuilder -badges$badge.strength_attained_4.desc=Reach 19 points of strength +badges$badge.strength_attained_4.desc=Reach 18 points of strength +badges$badge.strength_attained_5.title=Grandmaster Bodybuilder +badges$badge.strength_attained_5.desc=Reach 20 points of strength badges$badge.food_eaten_1.title=Novice Gourmet -badges$badge.food_eaten_1.desc=Eat 10 pieces of food in one run +badges$badge.food_eaten_1.desc=Eat food 10 times in one game badges$badge.food_eaten_2.title=Adept Gourmet -badges$badge.food_eaten_2.desc=Eat 20 pieces of food in one run +badges$badge.food_eaten_2.desc=Eat food 20 times in one game badges$badge.food_eaten_3.title=Expert Gourmet -badges$badge.food_eaten_3.desc=Eat 30 pieces of food in one run +badges$badge.food_eaten_3.desc=Eat food 30 times in one game badges$badge.food_eaten_4.title=Master Gourmet -badges$badge.food_eaten_4.desc=Eat 40 pieces of food in one run +badges$badge.food_eaten_4.desc=Eat food 40 times in one game +badges$badge.food_eaten_5.title=Grandmaster Gourmet +badges$badge.food_eaten_5.desc=Eat food 50 times in one game badges$badge.item_level_1.title=Novice Enchanter badges$badge.item_level_1.desc=Acquire an item of level 3 or higher badges$badge.item_level_2.title=Adept Enchanter @@ -92,6 +102,8 @@ badges$badge.item_level_3.title=Expert Enchanter badges$badge.item_level_3.desc=Acquire an item of level 9 or higher badges$badge.item_level_4.title=Master Enchanter badges$badge.item_level_4.desc=Acquire an item of level 12 or higher +badges$badge.item_level_5.title=Grandmaster Enchanter +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 @@ -99,27 +111,31 @@ badges$badge.victory_all_classes.desc=Obtain the Amulet of Yendor with the Warri 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 -badges$badge.items_crafted_1.desc=Craft 5 items via alchemy in one run +badges$badge.items_crafted_1.desc=Craft 5 items via alchemy in one game badges$badge.items_crafted_2.title=Adept Alchemist -badges$badge.items_crafted_2.desc=Craft 10 items via alchemy in one run +badges$badge.items_crafted_2.desc=Craft 10 items via alchemy in one game badges$badge.items_crafted_3.title=Expert Alchemist -badges$badge.items_crafted_3.desc=Craft 15 items via alchemy in one run +badges$badge.items_crafted_3.desc=Craft 15 items via alchemy in one game badges$badge.items_crafted_4.title=Master Alchemist -badges$badge.items_crafted_4.desc=Craft 20 items via alchemy in one run +badges$badge.items_crafted_4.desc=Craft 20 items via alchemy in one game +badges$badge.items_crafted_5.title=Grandmaster Alchemist +badges$badge.items_crafted_5.desc=Craft 25 items via alchemy in one game badges$badge.no_monsters_slain.title=Pacifist badges$badge.no_monsters_slain.desc=Complete a Floor without killing any monsters badges$badge.grim_weapon.title=Grim Reaper badges$badge.grim_weapon.desc=Monster killed by a Grim weapon badges$badge.piranhas.title=Unconventional Angler -badges$badge.piranhas.desc=Kill 6 piranhas in one run +badges$badge.piranhas.desc=Kill 6 piranhas in one game badges$badge.games_played_1.title=Novice Dungeoneer -badges$badge.games_played_1.desc=Play 10 games +badges$badge.games_played_1.desc=Play 10 games or win 1 game badges$badge.games_played_2.title=Adept Dungeoneer -badges$badge.games_played_2.desc=Play 50 games +badges$badge.games_played_2.desc=Play 50 games or win 5 games badges$badge.games_played_3.title=Expert Dungeoneer -badges$badge.games_played_3.desc=Play 250 games +badges$badge.games_played_3.desc=Play 100 games or win 10 games badges$badge.games_played_4.title=Master Dungeoneer -badges$badge.games_played_4.desc=Play 1000 games +badges$badge.games_played_4.desc=Play 250 games or win 25 games +badges$badge.games_played_5.title=Grandmaster Dungeoneer +badges$badge.games_played_5.desc=Play 1000 games or win 100 games badges$badge.happy_end.title=Happy Ending badges$badge.happy_end.desc=Take the Amulet of Yendor to the surface badges$badge.champion_1.title=Bronze Champion @@ -131,9 +147,9 @@ badges$badge.champion_3.desc=Beat the game with 6 or more challenges enabled badges$badge.unlock_mage.title=Mage Unlocked! badges$badge.unlock_mage.desc=Unlock the Mage by using a scroll of upgrade badges$badge.unlock_rogue.title=Rogue Unlocked! -badges$badge.unlock_rogue.desc=Unlock the Rogue by performing 10 surprise attacks in one run +badges$badge.unlock_rogue.desc=Unlock the Rogue by performing 10 surprise attacks in one game badges$badge.unlock_huntress.title=Huntress Unlocked! -badges$badge.unlock_huntress.desc=Unlock the Huntress by attacking 10 enemies with thrown weapons in one run +badges$badge.unlock_huntress.desc=Unlock the Huntress by attacking 10 enemies with thrown weapons in one game challenges.no_food=On diet challenges.no_food_desc=Food's already scarce, but you have to watch your portions as well!\n\n- Food and the horn of plenty are one third as effective at satisfying hunger\n- Other sources of satiety are unaffected diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java index 4fb046a5f..87ae9962a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java @@ -71,6 +71,7 @@ public class Badges { DEATH_FROM_GAS ( 16 ), DEATH_FROM_HUNGER ( 17 ), DEATH_FROM_FALLING ( 18 ), + GAMES_PLAYED_1 ( 19, true ), //silver NO_MONSTERS_SLAIN ( 32 ), @@ -99,7 +100,7 @@ public class Badges { BOSS_SLAIN_1_ROGUE, BOSS_SLAIN_1_HUNTRESS, BOSS_SLAIN_1_ALL_CLASSES ( 53, true ), - GAMES_PLAYED_1 ( 54, true ), + GAMES_PLAYED_2 ( 54, true ), //gold PIRANHAS ( 64 ), @@ -109,19 +110,26 @@ public class Badges { BAG_BOUGHT_MAGICAL_HOLSTER, ALL_BAGS_BOUGHT ( 65 ), MASTERY_COMBO ( 66 ), - ITEM_LEVEL_4 ( 67 ), - LEVEL_REACHED_4 ( 68 ), - STRENGTH_ATTAINED_4 ( 69 ), - FOOD_EATEN_4 ( 70 ), - ITEMS_CRAFTED_4 ( 71 ), - BOSS_SLAIN_4 ( 72 ), - ALL_WEAPONS_IDENTIFIED ( 73 ), - ALL_ARMOR_IDENTIFIED ( 74 ), - ALL_WANDS_IDENTIFIED ( 75 ), - ALL_RINGS_IDENTIFIED ( 76 ), - ALL_ARTIFACTS_IDENTIFIED ( 77 ), - VICTORY ( 78 ), - YASD ( 79, true ), + MONSTERS_SLAIN_5 ( 67 ), + GOLD_COLLECTED_5 ( 68 ), + ITEM_LEVEL_4 ( 69 ), + ITEM_LEVEL_5 ( 70 ), + LEVEL_REACHED_4 ( 71 ), + LEVEL_REACHED_5 ( 72 ), + STRENGTH_ATTAINED_4 ( 73 ), + STRENGTH_ATTAINED_5 ( 74 ), + FOOD_EATEN_4 ( 75 ), + FOOD_EATEN_5 ( 76 ), + ITEMS_CRAFTED_4 ( 77 ), + ITEMS_CRAFTED_5 ( 78 ), + BOSS_SLAIN_4 ( 79 ), + ALL_WEAPONS_IDENTIFIED ( 80 ), + ALL_ARMOR_IDENTIFIED ( 81 ), + ALL_WANDS_IDENTIFIED ( 82 ), + ALL_RINGS_IDENTIFIED ( 83 ), + ALL_ARTIFACTS_IDENTIFIED ( 84 ), + VICTORY ( 85 ), + YASD ( 86, true ), BOSS_SLAIN_3_GLADIATOR, BOSS_SLAIN_3_BERSERKER, BOSS_SLAIN_3_WARLOCK, @@ -130,8 +138,8 @@ public class Badges { BOSS_SLAIN_3_ASSASSIN, BOSS_SLAIN_3_SNIPER, BOSS_SLAIN_3_WARDEN, - BOSS_SLAIN_3_ALL_SUBCLASSES ( 80, true ), - GAMES_PLAYED_2 ( 81, true ), + BOSS_SLAIN_3_ALL_SUBCLASSES ( 87, true ), + GAMES_PLAYED_3 ( 88, true ), //platinum HAPPY_END ( 96 ), @@ -141,11 +149,11 @@ public class Badges { VICTORY_ROGUE, VICTORY_HUNTRESS, VICTORY_ALL_CLASSES ( 98, true ), - GAMES_PLAYED_3 ( 99, true ), + GAMES_PLAYED_4 ( 99, true ), CHAMPION_1 ( 100 ), //diamond - GAMES_PLAYED_4 ( 112, true ), + GAMES_PLAYED_5 ( 112, true ), CHAMPION_2 ( 113 ), CHAMPION_3 ( 114 ); @@ -291,14 +299,18 @@ public class Badges { badge = Badge.MONSTERS_SLAIN_2; local.add( badge ); } - if (!local.contains( Badge.MONSTERS_SLAIN_3 ) && Statistics.enemiesSlain >= 150) { + if (!local.contains( Badge.MONSTERS_SLAIN_3 ) && Statistics.enemiesSlain >= 100) { badge = Badge.MONSTERS_SLAIN_3; local.add( badge ); } - if (!local.contains( Badge.MONSTERS_SLAIN_4 ) && Statistics.enemiesSlain >= 250) { + if (!local.contains( Badge.MONSTERS_SLAIN_4 ) && Statistics.enemiesSlain >= 200) { badge = Badge.MONSTERS_SLAIN_4; local.add( badge ); } + if (!local.contains( Badge.MONSTERS_SLAIN_5 ) && Statistics.enemiesSlain >= 300) { + badge = Badge.MONSTERS_SLAIN_5; + local.add( badge ); + } displayBadge( badge ); } @@ -306,11 +318,11 @@ public class Badges { public static void validateGoldCollected() { Badge badge = null; - if (!local.contains( Badge.GOLD_COLLECTED_1 ) && Statistics.goldCollected >= 100) { + if (!local.contains( Badge.GOLD_COLLECTED_1 ) && Statistics.goldCollected >= 250) { badge = Badge.GOLD_COLLECTED_1; local.add( badge ); } - if (!local.contains( Badge.GOLD_COLLECTED_2 ) && Statistics.goldCollected >= 500) { + if (!local.contains( Badge.GOLD_COLLECTED_2 ) && Statistics.goldCollected >= 1000) { badge = Badge.GOLD_COLLECTED_2; local.add( badge ); } @@ -318,10 +330,14 @@ public class Badges { badge = Badge.GOLD_COLLECTED_3; local.add( badge ); } - if (!local.contains( Badge.GOLD_COLLECTED_4 ) && Statistics.goldCollected >= 7500) { + if (!local.contains( Badge.GOLD_COLLECTED_4 ) && Statistics.goldCollected >= 5000) { badge = Badge.GOLD_COLLECTED_4; local.add( badge ); } + if (!local.contains( Badge.GOLD_COLLECTED_5 ) && Statistics.goldCollected >= 10_000) { + badge = Badge.GOLD_COLLECTED_5; + local.add( badge ); + } displayBadge( badge ); } @@ -345,6 +361,10 @@ public class Badges { badge = Badge.LEVEL_REACHED_4; local.add( badge ); } + if (!local.contains( Badge.LEVEL_REACHED_5 ) && Dungeon.hero.lvl >= 30) { + badge = Badge.LEVEL_REACHED_5; + local.add( badge ); + } displayBadge( badge ); } @@ -352,22 +372,26 @@ public class Badges { public static void validateStrengthAttained() { Badge badge = null; - if (!local.contains( Badge.STRENGTH_ATTAINED_1 ) && Dungeon.hero.STR >= 13) { + if (!local.contains( Badge.STRENGTH_ATTAINED_1 ) && Dungeon.hero.STR >= 12) { badge = Badge.STRENGTH_ATTAINED_1; local.add( badge ); } - if (!local.contains( Badge.STRENGTH_ATTAINED_2 ) && Dungeon.hero.STR >= 15) { + if (!local.contains( Badge.STRENGTH_ATTAINED_2 ) && Dungeon.hero.STR >= 14) { badge = Badge.STRENGTH_ATTAINED_2; local.add( badge ); } - if (!local.contains( Badge.STRENGTH_ATTAINED_3 ) && Dungeon.hero.STR >= 17) { + if (!local.contains( Badge.STRENGTH_ATTAINED_3 ) && Dungeon.hero.STR >= 16) { badge = Badge.STRENGTH_ATTAINED_3; local.add( badge ); } - if (!local.contains( Badge.STRENGTH_ATTAINED_4 ) && Dungeon.hero.STR >= 19) { + if (!local.contains( Badge.STRENGTH_ATTAINED_4 ) && Dungeon.hero.STR >= 18) { badge = Badge.STRENGTH_ATTAINED_4; local.add( badge ); } + if (!local.contains( Badge.STRENGTH_ATTAINED_5 ) && Dungeon.hero.STR >= 20) { + badge = Badge.STRENGTH_ATTAINED_5; + local.add( badge ); + } displayBadge( badge ); } @@ -391,6 +415,10 @@ public class Badges { badge = Badge.FOOD_EATEN_4; local.add( badge ); } + if (!local.contains( Badge.FOOD_EATEN_5 ) && Statistics.foodEaten >= 50) { + badge = Badge.FOOD_EATEN_5; + local.add( badge ); + } displayBadge( badge ); } @@ -414,6 +442,10 @@ public class Badges { badge = Badge.ITEMS_CRAFTED_4; local.add( badge ); } + if (!local.contains( Badge.ITEMS_CRAFTED_5 ) && Statistics.itemsCrafted >= 25) { + badge = Badge.ITEMS_CRAFTED_5; + local.add( badge ); + } displayBadge( badge ); } @@ -458,6 +490,10 @@ public class Badges { badge = Badge.ITEM_LEVEL_4; local.add( badge ); } + if (!local.contains( Badge.ITEM_LEVEL_5 ) && item.level() >= 15) { + badge = Badge.ITEM_LEVEL_5; + local.add( badge ); + } displayBadge( badge ); } @@ -797,18 +833,21 @@ public class Badges { public static void validateGamesPlayed() { Badge badge = null; - if (Rankings.INSTANCE.totalNumber >= 10) { + if (Rankings.INSTANCE.totalNumber >= 10 || Rankings.INSTANCE.wonNumber >= 1) { badge = Badge.GAMES_PLAYED_1; } - if (Rankings.INSTANCE.totalNumber >= 50) { + if (Rankings.INSTANCE.totalNumber >= 50 || Rankings.INSTANCE.wonNumber >= 5) { badge = Badge.GAMES_PLAYED_2; } - if (Rankings.INSTANCE.totalNumber >= 250) { + if (Rankings.INSTANCE.totalNumber >= 100 || Rankings.INSTANCE.wonNumber >= 10) { badge = Badge.GAMES_PLAYED_3; } - if (Rankings.INSTANCE.totalNumber >= 1000) { + if (Rankings.INSTANCE.totalNumber >= 250 || Rankings.INSTANCE.wonNumber >= 25) { badge = Badge.GAMES_PLAYED_4; } + if (Rankings.INSTANCE.totalNumber >= 1000 || Rankings.INSTANCE.wonNumber >= 100) { + badge = Badge.GAMES_PLAYED_5; + } displayBadge( badge ); } @@ -911,15 +950,15 @@ public class Badges { } private static final Badge[][] tierBadgeReplacements = new Badge[][]{ - {Badge.MONSTERS_SLAIN_1, Badge.MONSTERS_SLAIN_2, Badge.MONSTERS_SLAIN_3, Badge.MONSTERS_SLAIN_4}, - {Badge.GOLD_COLLECTED_1, Badge.GOLD_COLLECTED_2, Badge.GOLD_COLLECTED_3, Badge.GOLD_COLLECTED_4}, - {Badge.ITEM_LEVEL_1, Badge.ITEM_LEVEL_2, Badge.ITEM_LEVEL_3, Badge.ITEM_LEVEL_4}, - {Badge.LEVEL_REACHED_1, Badge.LEVEL_REACHED_2, Badge.LEVEL_REACHED_3, Badge.LEVEL_REACHED_4}, - {Badge.STRENGTH_ATTAINED_1, Badge.STRENGTH_ATTAINED_2, Badge.STRENGTH_ATTAINED_3, Badge.STRENGTH_ATTAINED_4}, - {Badge.FOOD_EATEN_1, Badge.FOOD_EATEN_2, Badge.FOOD_EATEN_3, Badge.FOOD_EATEN_4}, - {Badge.ITEMS_CRAFTED_1, Badge.ITEMS_CRAFTED_2, Badge.ITEMS_CRAFTED_3, Badge.ITEMS_CRAFTED_4}, + {Badge.MONSTERS_SLAIN_1, Badge.MONSTERS_SLAIN_2, Badge.MONSTERS_SLAIN_3, Badge.MONSTERS_SLAIN_4, Badge.MONSTERS_SLAIN_5}, + {Badge.GOLD_COLLECTED_1, Badge.GOLD_COLLECTED_2, Badge.GOLD_COLLECTED_3, Badge.GOLD_COLLECTED_4, Badge.GOLD_COLLECTED_5}, + {Badge.ITEM_LEVEL_1, Badge.ITEM_LEVEL_2, Badge.ITEM_LEVEL_3, Badge.ITEM_LEVEL_4, Badge.ITEM_LEVEL_5}, + {Badge.LEVEL_REACHED_1, Badge.LEVEL_REACHED_2, Badge.LEVEL_REACHED_3, Badge.LEVEL_REACHED_4, Badge.LEVEL_REACHED_5}, + {Badge.STRENGTH_ATTAINED_1, Badge.STRENGTH_ATTAINED_2, Badge.STRENGTH_ATTAINED_3, Badge.STRENGTH_ATTAINED_4, Badge.STRENGTH_ATTAINED_5}, + {Badge.FOOD_EATEN_1, Badge.FOOD_EATEN_2, Badge.FOOD_EATEN_3, Badge.FOOD_EATEN_4, Badge.FOOD_EATEN_5}, + {Badge.ITEMS_CRAFTED_1, Badge.ITEMS_CRAFTED_2, Badge.ITEMS_CRAFTED_3, Badge.ITEMS_CRAFTED_4, Badge.ITEMS_CRAFTED_5}, {Badge.BOSS_SLAIN_1, Badge.BOSS_SLAIN_2, Badge.BOSS_SLAIN_3, Badge.BOSS_SLAIN_4}, - {Badge.GAMES_PLAYED_1, Badge.GAMES_PLAYED_2, Badge.GAMES_PLAYED_3, Badge.GAMES_PLAYED_4}, + {Badge.GAMES_PLAYED_1, Badge.GAMES_PLAYED_2, Badge.GAMES_PLAYED_3, Badge.GAMES_PLAYED_4, Badge.GAMES_PLAYED_5}, {Badge.CHAMPION_1, Badge.CHAMPION_2, Badge.CHAMPION_3} }; @@ -942,17 +981,6 @@ public class Badges { public static List filterReplacedBadges( List badges ) { - leaveBest( badges, Badge.MONSTERS_SLAIN_1, Badge.MONSTERS_SLAIN_2, Badge.MONSTERS_SLAIN_3, Badge.MONSTERS_SLAIN_4 ); - leaveBest( badges, Badge.GOLD_COLLECTED_1, Badge.GOLD_COLLECTED_2, Badge.GOLD_COLLECTED_3, Badge.GOLD_COLLECTED_4 ); - leaveBest( badges, Badge.BOSS_SLAIN_1, Badge.BOSS_SLAIN_2, Badge.BOSS_SLAIN_3, Badge.BOSS_SLAIN_4 ); - leaveBest( badges, Badge.LEVEL_REACHED_1, Badge.LEVEL_REACHED_2, Badge.LEVEL_REACHED_3, Badge.LEVEL_REACHED_4 ); - leaveBest( badges, Badge.STRENGTH_ATTAINED_1, Badge.STRENGTH_ATTAINED_2, Badge.STRENGTH_ATTAINED_3, Badge.STRENGTH_ATTAINED_4 ); - leaveBest( badges, Badge.FOOD_EATEN_1, Badge.FOOD_EATEN_2, Badge.FOOD_EATEN_3, Badge.FOOD_EATEN_4 ); - leaveBest( badges, Badge.ITEM_LEVEL_1, Badge.ITEM_LEVEL_2, Badge.ITEM_LEVEL_3, Badge.ITEM_LEVEL_4 ); - leaveBest( badges, Badge.ITEMS_CRAFTED_1, Badge.ITEMS_CRAFTED_2, Badge.ITEMS_CRAFTED_3, Badge.ITEMS_CRAFTED_4 ); - leaveBest( badges, Badge.GAMES_PLAYED_1, Badge.GAMES_PLAYED_2, Badge.GAMES_PLAYED_3, Badge.GAMES_PLAYED_4 ); - leaveBest( badges, Badge.CHAMPION_1, Badge.CHAMPION_2, Badge.CHAMPION_3 ); - for (Badge[] tierReplace : tierBadgeReplacements){ leaveBest( badges, tierReplace ); }