v0.7.3: deleted old boomerang code from pre-0.7.1

This commit is contained in:
Evan Debenham 2019-05-14 18:51:34 -04:00
parent 3867c5d61e
commit afa8efd8e7
6 changed files with 7 additions and 147 deletions

View File

@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; 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.journal.Catalog;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -246,7 +245,7 @@ public class Item implements Bundlable {
} else } else
if (quantity == 1) { if (quantity == 1) {
if (stackable || this instanceof Boomerang){ if (stackable){
Dungeon.quickslot.convertToPlaceholder(this); Dungeon.quickslot.convertToPlaceholder(this);
} }

View File

@ -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.ScrollOfRetribution;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPsionicBlast; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPsionicBlast;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; 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.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.messages.Languages; import com.shatteredpixel.shatteredpixeldungeon.messages.Languages;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -861,9 +860,9 @@ public class DriedRose extends Artifact {
GameScene.selectItem(new WndBag.Listener() { GameScene.selectItem(new WndBag.Listener() {
@Override @Override
public void onSelect(Item item) { 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 //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")); GLog.w( Messages.get(WndGhostHero.class, "cant_unique"));
hide(); hide();
} else if (!item.isIdentified()) { } else if (!item.isIdentified()) {

View File

@ -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 <http://www.gnu.org/licenses/>
*/
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<String> actions(Hero hero) {
ArrayList<String> 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;
}
}

View File

@ -33,7 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.KindOfWeapon;
import com.shatteredpixel.shatteredpixeldungeon.items.KindofMisc; import com.shatteredpixel.shatteredpixeldungeon.items.KindofMisc;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; 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.items.weapon.missiles.MissileWeapon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@ -77,7 +76,7 @@ public class CursingTrap extends Trap {
ArrayList<Item> canCurse = new ArrayList<>(); ArrayList<Item> canCurse = new ArrayList<>();
KindOfWeapon weapon = hero.belongings.weapon; 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) if (((Weapon) weapon).enchantment == null)
priorityCurse.add(weapon); priorityCurse.add(weapon);
else else

View File

@ -26,8 +26,8 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Bolas; 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.FishingSpear;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.HeavyBoomerang;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Javelin; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Javelin;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Kunai; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Kunai;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken;
@ -95,7 +95,7 @@ public class MissileSprite extends ItemSprite implements Tweener.Listener {
//720 is default //720 is default
ANGULAR_SPEEDS.put(Boomerang.class, 1440); ANGULAR_SPEEDS.put(HeavyBoomerang.class,1440);
ANGULAR_SPEEDS.put(Bolas.class, 1440); ANGULAR_SPEEDS.put(Bolas.class, 1440);
ANGULAR_SPEEDS.put(Shuriken.class, 2160); ANGULAR_SPEEDS.put(Shuriken.class, 2160);

View File

@ -45,7 +45,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand; import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; 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.items.weapon.missiles.MissileWeapon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant.Seed; import com.shatteredpixel.shatteredpixeldungeon.plants.Plant.Seed;
@ -390,7 +389,7 @@ public class WndBag extends WndTabbed {
mode == Mode.UNCURSABLE && ScrollOfRemoveCurse.uncursable(item) || mode == Mode.UNCURSABLE && ScrollOfRemoveCurse.uncursable(item) ||
mode == Mode.CURSABLE && ((item instanceof EquipableItem && !(item instanceof MissileWeapon)) || item instanceof Wand) || mode == Mode.CURSABLE && ((item instanceof EquipableItem && !(item instanceof MissileWeapon)) || item instanceof Wand) ||
mode == Mode.QUICKSLOT && (item.defaultAction != null) || 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.ARMOR && (item instanceof Armor) ||
mode == Mode.ENCHANTABLE && (item instanceof MeleeWeapon || item instanceof SpiritBow || item instanceof Armor) || mode == Mode.ENCHANTABLE && (item instanceof MeleeWeapon || item instanceof SpiritBow || item instanceof Armor) ||
mode == Mode.WAND && (item instanceof Wand) || mode == Mode.WAND && (item instanceof Wand) ||