From bd43201e956e8b79a047ea3098d55133c76cced3 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 23 Apr 2018 23:43:44 -0400 Subject: [PATCH] v0.6.5: badge changes: - removed rare monsters badges and unused tutorial badges - added badges for 3 and 6 challenges - adjusted 'death by glyph' badge - fixed 'happy end' not showing in rankings --- core/src/main/assets/badges.png | Bin 2885 -> 2807 bytes .../shatteredpixeldungeon/Badges.java | 149 +++++++----------- .../shatteredpixeldungeon/Dungeon.java | 9 +- .../actors/hero/Hero.java | 1 + .../actors/mobs/Acidic.java | 6 - .../actors/mobs/Albino.java | 7 - .../actors/mobs/Bandit.java | 6 - .../actors/mobs/Senior.java | 6 - .../actors/mobs/Shielded.java | 6 - .../items/BrokenSeal.java | 2 - .../items/armor/Armor.java | 14 -- .../items/weapon/melee/MagesStaff.java | 1 - .../levels/features/Chasm.java | 10 +- .../scenes/BadgesScene.java | 2 +- .../messages/misc/misc.properties | 3 +- 15 files changed, 77 insertions(+), 145 deletions(-) diff --git a/core/src/main/assets/badges.png b/core/src/main/assets/badges.png index 849f9f64c8cb94daf8a1e89e28f2ad7d610eba7d..6dd6d0d3f9410b30901a6c15ec56f2ed8d13e03e 100644 GIT binary patch delta 2194 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 removedBadges = new HashSet<>(); + static{ + //removed in 0.6.1 + removedBadges.add("NIGHT_HUNTER"); + + //removed in 0.6.5 + removedBadges.addAll(Arrays.asList("RARE_ALBINO", "RARE_BANDIT", "RARE_SHIELDED", + "RARE_SENIOR", "RARE_ACIDIC", "RARE", "TUTORIAL_WARRIOR", "TUTORIAL_MAGE")); + } + private static HashSet restore( Bundle bundle ) { HashSet badges = new HashSet(); if (bundle == null) return badges; @@ -191,7 +190,9 @@ public class Badges { String[] names = bundle.getStringArray( BADGES ); for (int i=0; i < names.length; i++) { try { - badges.add( Badge.valueOf( names[i] ) ); + if (!removedBadges.contains(names[i])){ + badges.add( Badge.valueOf( names[i] ) ); + } } catch (Exception e) { ShatteredPixelDungeon.reportException(e); } @@ -685,36 +686,6 @@ public class Badges { } } - public static void validateRare( Mob mob ) { - - Badge badge = null; - if (mob instanceof Albino) { - badge = Badge.RARE_ALBINO; - } else if (mob instanceof Bandit) { - badge = Badge.RARE_BANDIT; - } else if (mob instanceof Shielded) { - badge = Badge.RARE_SHIELDED; - } else if (mob instanceof Senior) { - badge = Badge.RARE_SENIOR; - } else if (mob instanceof Acidic) { - badge = Badge.RARE_ACIDIC; - } - if (!global.contains( badge )) { - global.add( badge ); - saveNeeded = true; - } - - if (global.contains( Badge.RARE_ALBINO ) && - global.contains( Badge.RARE_BANDIT ) && - global.contains( Badge.RARE_SHIELDED ) && - global.contains( Badge.RARE_SENIOR ) && - global.contains( Badge.RARE_ACIDIC )) { - - badge = Badge.RARE; - displayBadge( badge ); - } - } - public static void validateVictory() { Badge badge = Badge.VICTORY; @@ -750,28 +721,6 @@ public class Badges { } } - public static void validateTutorial(){ - Badge badge = null; - switch (Dungeon.hero.heroClass){ - case WARRIOR: - badge = Badge.TUTORIAL_WARRIOR; - break; - case MAGE: - badge = Badge.TUTORIAL_MAGE; - break; - default: - break; - } - - if (badge != null) { - local.add(badge); - if (!global.contains(badge)) { - global.add(badge); - saveNeeded = true; - } - } - } - public static void validateNoKilling() { if (!local.contains( Badge.NO_MONSTERS_SLAIN ) && Statistics.completedWithNoKilling) { Badge badge = Badge.NO_MONSTERS_SLAIN; @@ -806,12 +755,29 @@ public class Badges { displayBadge( badge ); } + //necessary in order to display the happy end badge in the surface scene + public static void silentValidateHappyEnd() { + if (!local.contains( Badge.HAPPY_END )){ + local.add( Badge.HAPPY_END ); + } + } + public static void validateHappyEnd() { displayBadge( Badge.HAPPY_END ); } - public static void validateChampion() { - displayBadge(Badge.CHAMPION); + public static void validateChampion( int challenges ) { + Badge badge = null; + if (challenges >= 1) { + badge = Badge.CHAMPION_1; + } + if (challenges >= 3){ + badge = Badge.CHAMPION_2; + } + if (challenges >= 6){ + badge = Badge.CHAMPION_3; + } + displayBadge( badge ); } private static void displayBadge( Badge badge ) { @@ -884,7 +850,8 @@ public class Badges { leaveBest( filtered, Badge.ALL_POTIONS_IDENTIFIED, Badge.ALL_ITEMS_IDENTIFIED ); leaveBest( filtered, Badge.ALL_SCROLLS_IDENTIFIED, Badge.ALL_ITEMS_IDENTIFIED ); leaveBest( filtered, Badge.GAMES_PLAYED_1, Badge.GAMES_PLAYED_2, Badge.GAMES_PLAYED_3, Badge.GAMES_PLAYED_4 ); - + leaveBest( filtered, Badge.CHAMPION_1, Badge.CHAMPION_2, Badge.CHAMPION_3 ); + ArrayList list = new ArrayList( filtered ); Collections.sort( list ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java index 0d064aa44..96c3816dc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java @@ -682,8 +682,13 @@ public class Dungeon { hero.belongings.identify(); - if (challenges != 0) { - Badges.validateChampion(); + int chCount = 0; + for (int ch : Challenges.MASKS){ + if ((challenges & ch) != 0) chCount++; + } + + if (chCount != 0) { + Badges.validateChampion(chCount); } Rankings.INSTANCE.submit( true, cause ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 00a607b8e..fd92d7857 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -839,6 +839,7 @@ public class Hero extends Char { } else { Dungeon.win( Amulet.class ); Dungeon.deleteGame( GamesInProgress.curSlot, true ); + Badges.silentValidateHappyEnd(); Game.switchScene( SurfaceScene.class ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Acidic.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Acidic.java index 0da65b2c6..c4d5680c2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Acidic.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Acidic.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -52,9 +51,4 @@ public class Acidic extends Scorpio { return super.defenseProc( enemy, damage ); } - @Override - public void die( Object cause ) { - super.die( cause ); - Badges.validateRare( this ); - } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Albino.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Albino.java index 0c41964df..26942149b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Albino.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Albino.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; @@ -36,12 +35,6 @@ public class Albino extends Rat { HP = HT = 15; } - @Override - public void die( Object cause ) { - super.die( cause ); - Badges.validateRare( this ); - } - @Override public int attackProc( Char enemy, int damage ) { damage = super.attackProc( enemy, damage ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java index fd490ba90..6a8d14a96 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Bandit.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; @@ -58,9 +57,4 @@ public class Bandit extends Thief { } } - @Override - public void die( Object cause ) { - super.die( cause ); - Badges.validateRare( this ); - } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Senior.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Senior.java index fce77ee57..c41bcc019 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Senior.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Senior.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis; @@ -48,9 +47,4 @@ public class Senior extends Monk { return super.attackProc( enemy, damage ); } - @Override - public void die( Object cause ) { - super.die( cause ); - Badges.validateRare( this ); - } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Shielded.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Shielded.java index d7715a04b..122a1b13c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Shielded.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Shielded.java @@ -21,7 +21,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.sprites.ShieldedSprite; import com.watabou.utils.Random; @@ -38,9 +37,4 @@ public class Shielded extends Brute { return Random.NormalIntRange(0, 10); } - @Override - public void die( Object cause ) { - super.die( cause ); - Badges.validateRare( this ); - } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java index 5b57c3f46..8737695b2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java @@ -22,7 +22,6 @@ package com.shatteredpixel.shatteredpixeldungeon.items; import com.shatteredpixel.shatteredpixeldungeon.Assets; -import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; @@ -95,7 +94,6 @@ public class BrokenSeal extends Item { Sample.INSTANCE.play(Assets.SND_UNLOCK); armor.affixSeal((BrokenSeal)curItem); curItem.detach(Dungeon.hero.belongings.backpack); - Badges.validateTutorial(); } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index 0c6cb4988..56628bd73 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -567,20 +567,6 @@ public class Armor extends EquipableItem { public abstract ItemSprite.Glowing glowing(); - public boolean checkOwner( Char owner ) { - if (!owner.isAlive() && owner instanceof Hero) { - - Dungeon.fail( getClass() ); - GLog.n( Messages.get(this, "killed", name()) ); - - Badges.validateDeathFromGlyph(); - return true; - - } else { - return false; - } - } - @SuppressWarnings("unchecked") public static Glyph random() { try { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java index 86ea91b09..19ddbfbb3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java @@ -353,7 +353,6 @@ public class MagesStaff extends MeleeWeapon { Dungeon.quickslot.clearItem(wand); wand.detach(curUser.belongings.backpack); - Badges.validateTutorial(); GLog.p( Messages.get(MagesStaff.class, "imbue", wand.name())); imbueWand( wand, curUser ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/features/Chasm.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/features/Chasm.java index cd99c86c7..700b697b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/features/Chasm.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/features/Chasm.java @@ -102,7 +102,7 @@ public class Chasm { //The lower the hero's HP, the more bleed and the less upfront damage. //Hero has a 50% chance to bleed out at 66% HP, and begins to risk instant-death at 25% - Buff.affect( hero, Bleeding.class).set( Math.round(hero.HT / (6f + (6f*(hero.HP/(float)hero.HT))))); + Buff.affect( hero, FallBleed.class).set( Math.round(hero.HT / (6f + (6f*(hero.HP/(float)hero.HT))))); hero.damage( Math.max( hero.HP / 2, Random.NormalIntRange( hero.HP / 2, hero.HT / 4 )), new Hero.Doom() { @Override public void onDeath() { @@ -133,4 +133,12 @@ public class Chasm { return true; } } + + public static class FallBleed extends Bleeding implements Hero.Doom{ + + @Override + public void onDeath() { + Badges.validateDeathFromFalling(); + } + } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java index 2407e3b96..0517f25f3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/BadgesScene.java @@ -75,7 +75,7 @@ public class BadgesScene extends PixelScene { List badges = Badges.filtered( true ); - int blankBadges = 34; + int blankBadges = 33; blankBadges -= badges.size(); if (badges.contains(Badges.Badge.ALL_ITEMS_IDENTIFIED)) blankBadges -= 6; if (badges.contains(Badges.Badge.YASD)) blankBadges -= 5; diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/misc/misc.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/misc/misc.properties index 3761e7e06..2fcbe4f1e 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/misc/misc.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/misc/misc.properties @@ -26,7 +26,7 @@ badges$badge.death_from_fire=Death from fire badges$badge.death_from_poison=Death from poison badges$badge.death_from_gas=Death from toxic gas badges$badge.death_from_hunger=Death from hunger -badges$badge.death_from_glyph=Death from a glyph +badges$badge.death_from_glyph=Death from deferred damage badges$badge.death_from_falling=Death from falling down badges$badge.yasd=Death from fire, poison, toxic gas, hunger, glyph, and falling badges$badge.boss_slain_1=1st boss slain @@ -47,7 +47,6 @@ badges$badge.item_level_1=Item of level 3 acquired badges$badge.item_level_2=Item of level 6 acquired badges$badge.item_level_3=Item of level 9 acquired badges$badge.item_level_4=Item of level 12 acquired -badges$badge.rare=All rare monsters slain badges$badge.victory=Amulet of Yendor obtained badges$badge.victory_all_classes=Amulet of Yendor obtained by Warrior, Mage, Rogue & Huntress badges$badge.mastery_combo=10-hit combo