diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java index 1a257dd24..1b9e98010 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Badges.java @@ -749,8 +749,9 @@ public class Badges { } public static void validateAMZ() { - if (global.contains( Badge.KILL_APPLE ) &&global.contains( Badge.KILL_DM720 ) && - global.contains( Badge.KILL_MG) && PaswordBadges.global.contains( PaswordBadges.Badge.FIREGIRL) && PaswordBadges.global.contains( PaswordBadges.Badge.DRAWF_HEAD) && PaswordBadges.global.contains( PaswordBadges.Badge.SAKA_DIED)) { + List passwordbadges = PaswordBadges.filtered( true ); + if (global.contains( Badge.KILL_APPLE ) && global.contains( Badge.KILL_DM720 ) && + global.contains( Badge.KILL_MG) && passwordbadges.contains(PaswordBadges.Badge.FIREGIRL) && passwordbadges.contains(PaswordBadges.Badge.DRAWF_HEAD) && passwordbadges.contains(PaswordBadges.Badge.SAKA_DIED)) { PaswordBadges.Badge badge = PaswordBadges.Badge.SPICEALBOSS; PaswordBadges.displayBadge( badge ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Challenges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Challenges.java index 8775d081a..c2f574fdd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Challenges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Challenges.java @@ -28,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.custom.CustomArmor; -import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty; import com.shatteredpixel.shatteredpixeldungeon.items.food.SmallRation; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.InterlevelScene; @@ -86,8 +85,6 @@ public class Challenges { if (Dungeon.isChallenged(NO_FOOD)) { if (item instanceof SmallRation) { return true; - } else if (item instanceof HornOfPlenty) { - return true; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/legend/DiedCrossBow.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/legend/DiedCrossBow.java index 6c20afd1a..135f0fa4b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/legend/DiedCrossBow.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/legend/DiedCrossBow.java @@ -65,13 +65,8 @@ public class DiedCrossBow extends LegendWeapon { public String status() { //display the current cooldown - if (cooldown != 0) - return Messages.format( "CD:%d", cooldown ); - - - Dart missile = Dungeon.hero.belongings.getItem(Dart.class); - if(missile != null){ - return ""+missile.quantity()/5; + if (cooldown != 0){ + return Messages.format("CD:%d", cooldown); } else { return null; } @@ -83,20 +78,12 @@ public class DiedCrossBow extends LegendWeapon { public void execute(Hero hero, String action ) { super.execute( hero, action ); - Dart missile = Dungeon.hero.belongings.getItem(Dart.class); if (action.equals( AC_KING )) { if (!isEquipped(hero)){ GLog.i( Messages.get(this, "no_equip") ); } else if(cooldown == 0) { - if (missile != null) - if (missile.quantity() > 5) { - curUser = hero; - curItem = this; - GameScene.selectCell(bomb); - } else { - GLog.w(Messages.get(this, "no_king")); - } + GameScene.selectCell(bomb); } else { GLog.w(Messages.get(this, "no_cooldown")); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java index 6aecfd739..864e6c2e6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java @@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.legend.DiedCrossBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.plants.Plant; @@ -96,6 +97,8 @@ public class Dart extends MissileWeapon { } private static Crossbow bow; + + private static DiedCrossBow diedCrossBow; private void updateCrossbow(){ if (Dungeon.hero.belongings.weapon() instanceof Crossbow){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LaveCavesBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LaveCavesBossLevel.java new file mode 100644 index 000000000..c760ec50f --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LaveCavesBossLevel.java @@ -0,0 +1,27 @@ +package com.shatteredpixel.shatteredpixeldungeon.levels; + +public class LaveCavesBossLevel extends Level{ + /** + * @return + */ + @Override + protected boolean build() { + return false; + } + + /** + * + */ + @Override + protected void createMobs() { + + } + + /** + * + */ + @Override + protected void createItems() { + + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ZeroLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ZeroLevel.java index 78d6bd2d4..10e76c8a3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ZeroLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ZeroLevel.java @@ -25,6 +25,8 @@ import static com.shatteredpixel.shatteredpixeldungeon.items.Generator.randomArt import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Badges; +import com.shatteredpixel.shatteredpixeldungeon.Challenges; +import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.PaswordBadges; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NxhyNpc; @@ -35,7 +37,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Slyl; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.obSir; import com.shatteredpixel.shatteredpixeldungeon.items.Ankh; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; -import com.shatteredpixel.shatteredpixeldungeon.items.Gold; import com.shatteredpixel.shatteredpixeldungeon.items.Heap; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.Stylus; @@ -132,14 +133,15 @@ public class ZeroLevel extends Level { drop( ( Generator.randomUsingDefaults( Generator.Category.RING ) ), this.width * 17 + 18 ); } if(passwordbadges.contains(PaswordBadges.Badge.BIG_X)){ - drop( ( Generator.randomUsingDefaults( Generator.Category.ARMOR ) ), this.width * 19 + 18 ); + if(Dungeon.isChallenged(Challenges.NO_ARMOR)){ + drop( ( Generator.randomUsingDefaults( Generator.Category.WAND ) ), this.width * 19 + 18 ); + } else { + drop( ( Generator.randomUsingDefaults( Generator.Category.ARMOR ) ), this.width * 19 + 18 ); + } } if ( Badges.isUnlocked(Badges.Badge.KILL_DM720)||Badges.isUnlocked(Badges.Badge.KILL_MG) ){ drop(( Generator.randomUsingDefaults( Generator.Category.WEP_T2 )), this.width * 18 + 17 ); } - if(passwordbadges.contains(PaswordBadges.Badge.EXSG)){ - drop(new Gold().quantity(720), this.width * 18 + 18 ); - } if ( Badges.isUnlocked(Badges.Badge.RLPT)){ Item item = randomArtifact(); drop(item, this.width * 18 + 19 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java index aef0a21bf..2f3197816 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java @@ -21,6 +21,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special; +import com.shatteredpixel.shatteredpixeldungeon.Challenges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Gold; @@ -150,7 +151,8 @@ public class CrystalPathRoom extends SpecialRoom { item = new LamellarArmor(); } else { item = Generator.random(Random.oneOf( - Generator.Category.ARMOR, + Dungeon.isChallenged(Challenges.NO_ARMOR) ? Generator.Category.WAND : + Generator.Category.ARMOR, Generator.Category.STONE, Generator.Category.WAND, Generator.Category.ARTIFACT)