From afa8efd8e7c1e90e5f81e846b0bf26ca74c22c81 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 14 May 2019 18:51:34 -0400 Subject: [PATCH] v0.7.3: deleted old boomerang code from pre-0.7.1 --- .../shatteredpixeldungeon/items/Item.java | 3 +- .../items/artifacts/DriedRose.java | 5 +- .../items/weapon/missiles/Boomerang.java | 136 ------------------ .../levels/traps/CursingTrap.java | 3 +- .../sprites/MissileSprite.java | 4 +- .../shatteredpixeldungeon/windows/WndBag.java | 3 +- 6 files changed, 7 insertions(+), 147 deletions(-) delete mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Boomerang.java diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java index 7df9d711b..c246a280f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Item.java @@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -246,7 +245,7 @@ public class Item implements Bundlable { } else if (quantity == 1) { - if (stackable || this instanceof Boomerang){ + if (stackable){ Dungeon.quickslot.convertToPlaceholder(this); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index 8e694aad7..7a45f60bb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -44,7 +44,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.AntiMagic; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRetribution; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPsionicBlast; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.messages.Languages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -861,9 +860,9 @@ public class DriedRose extends Artifact { GameScene.selectItem(new WndBag.Listener() { @Override public void onSelect(Item item) { - if (!(item instanceof MeleeWeapon || item instanceof Boomerang)) { + if (!(item instanceof MeleeWeapon)) { //do nothing, should only happen when window is cancelled - } else if (item.unique || item instanceof Boomerang) { + } else if (item.unique) { GLog.w( Messages.get(WndGhostHero.class, "cant_unique")); hide(); } else if (!item.isIdentified()) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Boomerang.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Boomerang.java deleted file mode 100644 index 60f29379d..000000000 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Boomerang.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2019 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ - -package com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles; - -import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.actors.Char; -import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; -import com.shatteredpixel.shatteredpixeldungeon.items.Item; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; -import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; -import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; -import com.shatteredpixel.shatteredpixeldungeon.sprites.MissileSprite; - -import java.util.ArrayList; - -public class Boomerang extends MissileWeapon { - - { - image = ItemSpriteSheet.BOOMERANG; - - stackable = false; - - unique = true; - bones = false; - - tier = 1; - } - - @Override - public ArrayList actions(Hero hero) { - ArrayList actions = super.actions( hero ); - if (!isEquipped(hero)) actions.add(AC_EQUIP); - return actions; - } - - @Override - public int min(int lvl) { - return 1 + - lvl; - } - - @Override - public int max(int lvl) { - return 6 + //half the base damage of a tier-1 weapon - 2 * lvl;//scales the same as a tier 1 weapon - } - - @Override - public boolean isIdentified() { - return levelKnown && cursedKnown; - } - - @Override - public Item upgrade( boolean enchant ) { - super.upgrade( enchant ); - - updateQuickslot(); - - return this; - } - - @Override - protected float durabilityPerUse() { - return 0; - } - - @Override - public void rangedHit( Char enemy, int cell ) { - circleBack(cell, curUser); - } - - @Override - protected void rangedMiss( int cell ) { - circleBack( cell, curUser ); - } - - private void circleBack( int from, Hero owner ) { - - ((MissileSprite)curUser.sprite.parent.recycle( MissileSprite.class )). - reset( from, owner.sprite, curItem, null ); - - if (throwEquiped) { - owner.belongings.weapon = this; - owner.spend( -TIME_TO_EQUIP ); - Dungeon.quickslot.replacePlaceholder(this); - updateQuickslot(); - } else - if (!collect( curUser.belongings.backpack )) { - Dungeon.level.drop( this, owner.pos ).sprite.drop(); - } - } - - private boolean throwEquiped; - - @Override - public void cast( Hero user, int dst ) { - throwEquiped = isEquipped( user ) && !cursed; - if (throwEquiped) Dungeon.quickslot.convertToPlaceholder(this); - super.cast( user, dst ); - } - - @Override - public String desc() { - String info = super.desc(); - switch (augment) { - case SPEED: - info += "\n\n" + Messages.get(Weapon.class, "faster"); - break; - case DAMAGE: - info += "\n\n" + Messages.get(Weapon.class, "stronger"); - break; - case NONE: - } - - return info; - } -} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java index 5b9169023..6a9578628 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/CursingTrap.java @@ -33,7 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.KindofMisc; import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; @@ -77,7 +76,7 @@ public class CursingTrap extends Trap { ArrayList canCurse = new ArrayList<>(); KindOfWeapon weapon = hero.belongings.weapon; - if (weapon instanceof Weapon && !weapon.cursed && !(weapon instanceof Boomerang)){ + if (weapon instanceof Weapon && !weapon.cursed){ if (((Weapon) weapon).enchantment == null) priorityCurse.add(weapon); else diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java index d6ac6bf76..0f8acda4e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java @@ -26,8 +26,8 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Bolas; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.FishingSpear; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.HeavyBoomerang; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Javelin; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Kunai; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken; @@ -95,7 +95,7 @@ public class MissileSprite extends ItemSprite implements Tweener.Listener { //720 is default - ANGULAR_SPEEDS.put(Boomerang.class, 1440); + ANGULAR_SPEEDS.put(HeavyBoomerang.class,1440); ANGULAR_SPEEDS.put(Bolas.class, 1440); ANGULAR_SPEEDS.put(Shuriken.class, 2160); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java index a90886a3e..df5ca0f4d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBag.java @@ -45,7 +45,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle; import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.plants.Plant.Seed; @@ -390,7 +389,7 @@ public class WndBag extends WndTabbed { mode == Mode.UNCURSABLE && ScrollOfRemoveCurse.uncursable(item) || mode == Mode.CURSABLE && ((item instanceof EquipableItem && !(item instanceof MissileWeapon)) || item instanceof Wand) || mode == Mode.QUICKSLOT && (item.defaultAction != null) || - mode == Mode.WEAPON && (item instanceof MeleeWeapon || item instanceof Boomerang) || + mode == Mode.WEAPON && (item instanceof MeleeWeapon) || mode == Mode.ARMOR && (item instanceof Armor) || mode == Mode.ENCHANTABLE && (item instanceof MeleeWeapon || item instanceof SpiritBow || item instanceof Armor) || mode == Mode.WAND && (item instanceof Wand) ||