From 61c600e43397f7a6a78109cc79fa38fa035b60e9 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 20 Apr 2022 13:10:08 -0400 Subject: [PATCH] v1.3.0: various changes to existing badge ranks and requirements --- core/src/main/assets/interfaces/badges.png | Bin 4573 -> 4755 bytes .../assets/messages/actors/actors.properties | 2 +- .../main/assets/messages/misc/misc.properties | 30 ++-- .../shatteredpixeldungeon/Badges.java | 138 +++++++++--------- .../shatteredpixeldungeon/Statistics.java | 8 +- .../actors/mobs/Mob.java | 8 +- 6 files changed, 91 insertions(+), 95 deletions(-) diff --git a/core/src/main/assets/interfaces/badges.png b/core/src/main/assets/interfaces/badges.png index 4c2b341044209d17e726b0f404ccf48d06196ea9..dedb4fd886f551714258e390858ebfc5c0219533 100644 GIT binary patch delta 4366 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 200) { + if (!local.contains( Badge.MONSTERS_SLAIN_4 ) && Statistics.enemiesSlain >= 250) { badge = Badge.MONSTERS_SLAIN_4; local.add( badge ); } - if (!local.contains( Badge.MONSTERS_SLAIN_5 ) && Statistics.enemiesSlain >= 300) { + if (!local.contains( Badge.MONSTERS_SLAIN_5 ) && Statistics.enemiesSlain >= 500) { badge = Badge.MONSTERS_SLAIN_5; local.add( badge ); } @@ -330,11 +330,11 @@ public class Badges { badge = Badge.GOLD_COLLECTED_3; local.add( badge ); } - if (!local.contains( Badge.GOLD_COLLECTED_4 ) && Statistics.goldCollected >= 5000) { + if (!local.contains( Badge.GOLD_COLLECTED_4 ) && Statistics.goldCollected >= 7500) { badge = Badge.GOLD_COLLECTED_4; local.add( badge ); } - if (!local.contains( Badge.GOLD_COLLECTED_5 ) && Statistics.goldCollected >= 10_000) { + if (!local.contains( Badge.GOLD_COLLECTED_5 ) && Statistics.goldCollected >= 15_000) { badge = Badge.GOLD_COLLECTED_5; local.add( badge ); } @@ -426,11 +426,11 @@ public class Badges { public static void validateItemsCrafted() { Badge badge = null; - if (!local.contains( Badge.ITEMS_CRAFTED_1 ) && Statistics.itemsCrafted >= 5) { + if (!local.contains( Badge.ITEMS_CRAFTED_1 ) && Statistics.itemsCrafted >= 3) { badge = Badge.ITEMS_CRAFTED_1; local.add( badge ); } - if (!local.contains( Badge.ITEMS_CRAFTED_2 ) && Statistics.itemsCrafted >= 10) { + if (!local.contains( Badge.ITEMS_CRAFTED_2 ) && Statistics.itemsCrafted >= 8) { badge = Badge.ITEMS_CRAFTED_2; local.add( badge ); } @@ -438,11 +438,11 @@ public class Badges { badge = Badge.ITEMS_CRAFTED_3; local.add( badge ); } - if (!local.contains( Badge.ITEMS_CRAFTED_4 ) && Statistics.itemsCrafted >= 20) { + if (!local.contains( Badge.ITEMS_CRAFTED_4 ) && Statistics.itemsCrafted >= 24) { badge = Badge.ITEMS_CRAFTED_4; local.add( badge ); } - if (!local.contains( Badge.ITEMS_CRAFTED_5 ) && Statistics.itemsCrafted >= 25) { + if (!local.contains( Badge.ITEMS_CRAFTED_5 ) && Statistics.itemsCrafted >= 35) { badge = Badge.ITEMS_CRAFTED_5; local.add( badge ); } @@ -755,7 +755,7 @@ public class Badges { } public static void validateHuntressUnlock(){ - if (Statistics.thrownAssists >= 10 && !isUnlocked(Badge.UNLOCK_HUNTRESS)){ + if (Statistics.thrownAttacks >= 10 && !isUnlocked(Badge.UNLOCK_HUNTRESS)){ displayBadge( Badge.UNLOCK_HUNTRESS ); } } @@ -821,16 +821,16 @@ public class Badges { if (Rankings.INSTANCE.totalNumber >= 10 || Rankings.INSTANCE.wonNumber >= 1) { badge = Badge.GAMES_PLAYED_1; } - if (Rankings.INSTANCE.totalNumber >= 50 || Rankings.INSTANCE.wonNumber >= 5) { + if (Rankings.INSTANCE.totalNumber >= 25 || Rankings.INSTANCE.wonNumber >= 3) { badge = Badge.GAMES_PLAYED_2; } - if (Rankings.INSTANCE.totalNumber >= 100 || Rankings.INSTANCE.wonNumber >= 10) { + if (Rankings.INSTANCE.totalNumber >= 50 || Rankings.INSTANCE.wonNumber >= 5) { badge = Badge.GAMES_PLAYED_3; } - if (Rankings.INSTANCE.totalNumber >= 250 || Rankings.INSTANCE.wonNumber >= 25) { + if (Rankings.INSTANCE.totalNumber >= 100 || Rankings.INSTANCE.wonNumber >= 10) { badge = Badge.GAMES_PLAYED_4; } - if (Rankings.INSTANCE.totalNumber >= 1000 || Rankings.INSTANCE.wonNumber >= 100) { + if (Rankings.INSTANCE.totalNumber >= 250 || Rankings.INSTANCE.wonNumber >= 25) { badge = Badge.GAMES_PLAYED_5; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Statistics.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Statistics.java index 19425f549..0a33e985f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Statistics.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Statistics.java @@ -36,7 +36,7 @@ public class Statistics { //used for hero unlock badges public static int upgradesUsed; public static int sneakAttacks; - public static int thrownAssists; + public static int thrownAttacks; public static int spawnersAlive; @@ -59,7 +59,7 @@ public class Statistics { upgradesUsed = 0; sneakAttacks = 0; - thrownAssists = 0; + thrownAttacks = 0; spawnersAlive = 0; @@ -102,7 +102,7 @@ public class Statistics { bundle.put( UPGRADES, upgradesUsed ); bundle.put( SNEAKS, sneakAttacks ); - bundle.put( THROWN, thrownAssists ); + bundle.put( THROWN, thrownAttacks); bundle.put( SPAWNERS, spawnersAlive ); @@ -124,7 +124,7 @@ public class Statistics { upgradesUsed = bundle.getInt( UPGRADES ); sneakAttacks = bundle.getInt( SNEAKS ); - thrownAssists = bundle.getInt( THROWN ); + thrownAttacks = bundle.getInt( THROWN ); spawnersAlive = bundle.getInt( SPAWNERS ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java index 9defcac27..c2d0f9d41 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java @@ -576,16 +576,12 @@ public abstract class Mob extends Char { } } - protected boolean hitWithRanged = false; - @Override public int defenseProc( Char enemy, int damage ) { if (enemy instanceof Hero - && ((Hero) enemy).belongings.weapon() instanceof MissileWeapon - && !hitWithRanged){ - hitWithRanged = true; - Statistics.thrownAssists++; + && ((Hero) enemy).belongings.weapon() instanceof MissileWeapon){ + Statistics.thrownAttacks++; Badges.validateHuntressUnlock(); }