v3.1.0: added 4 new badges to the code (disabled out of debug for now)

This commit is contained in:
Evan Debenham
2025-04-07 11:51:32 -04:00
parent 51c6d7e10b
commit 2db280d1b9
3 changed files with 67 additions and 44 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -182,7 +182,6 @@ badges$badge.all_rare_enemies.title=Big Game Hunter
badges$badge.all_rare_enemies.desc=Fill in ten catalog entries for rare enemies in your journal
badges$badge.rodney.title=Not So Intimidating Now
badges$badge.rodney.desc=Learn the true name of the King of Dwarves
badges$badge.happy_end.title=Happy Ending
badges$badge.happy_end.desc=Take the Amulet of Yendor to the surface
badges$badge.happy_end_remains.title=You Made It Too
@@ -203,6 +202,14 @@ badges$badge.unlock_duelist.title=Duelist Unlocked!
badges$badge.unlock_duelist.desc=Unlock the Duelist by equipping a tier 2 or higher weapon with no strength penalty
badges$badge.unlock_cleric.title=Cleric Unlocked!
badges$badge.unlock_cleric.desc=Unlock the Cleric by fully cleansing the curse on any piece of cursed equipment
badges$badge.enemy_hazards.title=Safety Hazard
badges$badge.enemy_hazards.desc=Defeat 10 enemies in one game with the help of terrain hazards (traps, plants, or chasms)
badges$badge.many_buffs.title=So Many Colors
badges$badge.many_buffs.desc=Have 10 or more buff/debuff icons active at once
badges$badge.pacifist_ascent.title=Pacifist Ascent
badges$badge.pacifist_ascent.desc=Take the Amulet of Yendor to the surface without ever reducing the severity of its curse
badges$badge.taking_the_mick.title=Taking the Mick
badges$badge.taking_the_mick.desc=Strike the killing blow on the final boss with a +20 or higher pickaxe
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

View File

@@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Bundle;
import com.watabou.utils.DeviceCompat;
import com.watabou.utils.FileUtils;
import java.io.IOException;
@@ -133,42 +134,44 @@ public class Badges {
HIGH_SCORE_2 ( 57 ),
//gold
PIRANHAS ( 64 ),
GRIM_WEAPON ( 65 ),
ENEMY_HAZARDS ( 64 ),
PIRANHAS ( 65 ),
GRIM_WEAPON ( 66 ),
BAG_BOUGHT_VELVET_POUCH,
BAG_BOUGHT_SCROLL_HOLDER,
BAG_BOUGHT_POTION_BANDOLIER,
BAG_BOUGHT_MAGICAL_HOLSTER,
ALL_BAGS_BOUGHT ( 66 ),
MASTERY_COMBO ( 67 ),
MONSTERS_SLAIN_5 ( 68 ),
GOLD_COLLECTED_5 ( 69 ),
ITEM_LEVEL_4 ( 70 ),
LEVEL_REACHED_4 ( 71 ),
STRENGTH_ATTAINED_4 ( 72 ),
STRENGTH_ATTAINED_5 ( 73 ),
FOOD_EATEN_4 ( 74 ),
FOOD_EATEN_5 ( 75 ),
ITEMS_CRAFTED_4 ( 76 ),
ITEMS_CRAFTED_5 ( 77 ),
BOSS_SLAIN_4 ( 78 ),
ALL_BAGS_BOUGHT ( 67 ),
MASTERY_COMBO ( 68 ),
MONSTERS_SLAIN_5 ( 69 ),
GOLD_COLLECTED_5 ( 70 ),
ITEM_LEVEL_4 ( 71 ),
LEVEL_REACHED_4 ( 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_RINGS_IDENTIFIED , //still exists internally for pre-2.5 saves
ALL_ARTIFACTS_IDENTIFIED , //still exists internally for pre-2.5 saves
ALL_RARE_ENEMIES ( 79, BadgeType.JOURNAL ), //no longer all, just 10 as of v3.1
DEATH_FROM_GRIM_TRAP ( 80 ), //also disintegration traps
VICTORY ( 81 ),
BOSS_CHALLENGE_1 ( 82 ),
BOSS_CHALLENGE_2 ( 83 ),
RESEARCHER_3 ( 84, BadgeType.JOURNAL ),
GAMES_PLAYED_3 ( 85, BadgeType.GLOBAL ),
HIGH_SCORE_3 ( 86 ),
ALL_RARE_ENEMIES ( 80, BadgeType.JOURNAL ), //no longer all, just 10 as of v3.1
DEATH_FROM_GRIM_TRAP ( 81 ), //also disintegration traps
VICTORY ( 82 ),
BOSS_CHALLENGE_1 ( 83 ),
BOSS_CHALLENGE_2 ( 84 ),
RESEARCHER_3 ( 85, BadgeType.JOURNAL ),
GAMES_PLAYED_3 ( 86, BadgeType.GLOBAL ),
HIGH_SCORE_3 ( 87 ),
//platinum
ITEM_LEVEL_5 ( 96 ),
LEVEL_REACHED_5 ( 97 ),
HAPPY_END ( 98 ),
HAPPY_END_REMAINS ( 99 ),
RODNEY ( 100, BadgeType.JOURNAL ),
MANY_BUFFS ( 96 ),
ITEM_LEVEL_5 ( 97 ),
LEVEL_REACHED_5 ( 98 ),
HAPPY_END ( 99 ),
HAPPY_END_REMAINS ( 100 ),
RODNEY ( 101, BadgeType.JOURNAL ),
ALL_WEAPONS_IDENTIFIED , //still exists internally for pre-2.5 saves
ALL_ARMOR_IDENTIFIED , //still exists internally for pre-2.5 saves
ALL_WANDS_IDENTIFIED , //still exists internally for pre-2.5 saves
@@ -179,8 +182,8 @@ public class Badges {
VICTORY_HUNTRESS,
VICTORY_DUELIST,
VICTORY_CLERIC,
VICTORY_ALL_CLASSES ( 101, BadgeType.GLOBAL ),
DEATH_FROM_ALL ( 102, BadgeType.GLOBAL ),
VICTORY_ALL_CLASSES ( 102, BadgeType.GLOBAL ),
DEATH_FROM_ALL ( 103, BadgeType.GLOBAL ),
BOSS_SLAIN_3_GLADIATOR,
BOSS_SLAIN_3_BERSERKER,
BOSS_SLAIN_3_WARLOCK,
@@ -193,21 +196,23 @@ public class Badges {
BOSS_SLAIN_3_MONK,
BOSS_SLAIN_3_PRIEST,
BOSS_SLAIN_3_PALADIN,
BOSS_SLAIN_3_ALL_SUBCLASSES ( 103, BadgeType.GLOBAL ),
BOSS_CHALLENGE_3 ( 104 ),
BOSS_CHALLENGE_4 ( 105 ),
RESEARCHER_4 ( 106, BadgeType.JOURNAL ),
GAMES_PLAYED_4 ( 107, BadgeType.GLOBAL ),
HIGH_SCORE_4 ( 108 ),
CHAMPION_1 ( 109 ),
BOSS_SLAIN_3_ALL_SUBCLASSES ( 104, BadgeType.GLOBAL ),
BOSS_CHALLENGE_3 ( 105 ),
BOSS_CHALLENGE_4 ( 106 ),
RESEARCHER_4 ( 107, BadgeType.JOURNAL ),
GAMES_PLAYED_4 ( 108, BadgeType.GLOBAL ),
HIGH_SCORE_4 ( 109 ),
CHAMPION_1 ( 110 ),
//diamond
BOSS_CHALLENGE_5 ( 120 ),
RESEARCHER_5 ( 121, BadgeType.JOURNAL ),
GAMES_PLAYED_5 ( 122, BadgeType.GLOBAL ),
HIGH_SCORE_5 ( 123 ),
CHAMPION_2 ( 124 ),
CHAMPION_3 ( 125 );
PACIFIST_ASCENT ( 120 ),
TAKING_THE_MICK ( 121 ),
BOSS_CHALLENGE_5 ( 122 ),
RESEARCHER_5 ( 123, BadgeType.JOURNAL ),
GAMES_PLAYED_5 ( 124, BadgeType.GLOBAL ),
HIGH_SCORE_5 ( 125 ),
CHAMPION_2 ( 126 ),
CHAMPION_3 ( 127 );
public boolean meta;
@@ -1202,12 +1207,16 @@ public class Badges {
};
//don't show the later badge if the earlier one isn't unlocked
//we aren't too aggressive with this, mainly just want to prevent boss spoilers,
// and all diamond tier badges must have a gold/plat prerequisite
private static final Badge[][] prerequisiteBadges = new Badge[][]{
{Badge.BOSS_SLAIN_1, Badge.BOSS_CHALLENGE_1},
{Badge.BOSS_SLAIN_2, Badge.BOSS_CHALLENGE_2},
{Badge.BOSS_SLAIN_3, Badge.BOSS_CHALLENGE_3},
{Badge.BOSS_SLAIN_4, Badge.BOSS_CHALLENGE_4},
{Badge.VICTORY, Badge.BOSS_CHALLENGE_5},
{Badge.HAPPY_END, Badge.PACIFIST_ASCENT},
{Badge.VICTORY, Badge.TAKING_THE_MICK}
};
//If the summary badge is unlocked, don't show the component badges
@@ -1265,6 +1274,13 @@ public class Badges {
leaveWorst( badges, tierReplace );
}
if (!DeviceCompat.isDebug()){
badges.remove(Badge.ENEMY_HAZARDS);
badges.remove(Badge.MANY_BUFFS);
badges.remove(Badge.PACIFIST_ASCENT);
badges.remove(Badge.TAKING_THE_MICK);
}
Collections.sort( badges );
return badges;