v0.7.3: deleted old boomerang code from pre-0.7.1
This commit is contained in:
parent
3867c5d61e
commit
afa8efd8e7
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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()) {
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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) ||
|
||||||
|
|
Loading…
Reference in New Issue
Block a user