@Override public Item upgrade( boolean enchant ) { super.upgrade( enchant ); updateQuickslot(); return this; }
@Override public float speedFactor(Char owner) { if (owner instanceof Hero && ((Hero) owner).justMoved) return 0; else return super.speedFactor(owner); } }
@Override public int price() { return super.price()/2; //half normal value } }
@Override public ArrayList<String> actions(Hero hero) { ArrayList<String> actions = super.actions( hero ); if (!isEquipped(hero)) actions.add(AC_EQUIP); return actions; }
@Override public void cast( Hero user, int dst ) { throwEquiped = isEquipped( user ) && !cursed; if (throwEquiped) Dungeon.quickslot.convertToPlaceholder(this); super.cast( user, dst ); }
@Override public void rangedHit( Char enemy, int cell ) { circleBack(cell, curUser); }
@Override public float accuracyFactor(Char owner) { if (sniperSpecial && SpiritBow.this.augment == Augment.DAMAGE){ return Float.POSITIVE_INFINITY; } else { return super.accuracyFactor(owner); } }
@Override public int price() { return 6 * tier * quantity * (level() + 1); }
@Override public Item upgrade( boolean enchant ) { super.upgrade( enchant ); updateQuickslot(); return this; }
@Override public ArrayList<String> actions(Hero hero) { ArrayList<String> actions = super.actions( hero ); if (!isEquipped(hero)) actions.add(AC_EQUIP); return actions; }
@Override public void cast( Hero user, int dst ) { throwEquiped = isEquipped( user ) && !cursed; if (throwEquiped) Dungeon.quickslot.convertToPlaceholder(this); super.cast( user, dst ); }
@Override public float castDelay(Char user, int dst) { return speedFactor( user ); }
@Override protected void rangedMiss( int cell ) { circleBack( cell, curUser ); }
@Override public int price() { return super.price()/2; //half normal value } }
@Override public float accuracyFactor(Char owner) { if (sniperSpecial && SpiritBow.this.augment == Augment.DAMAGE){ return Float.POSITIVE_INFINITY; } else { return super.accuracyFactor(owner); } }
@Override public int price() { return 6 * tier * quantity * (level() + 1); }
@Override public float speedFactor(Char owner) { if (owner instanceof Hero && ((Hero) owner).justMoved) return 0; else return super.speedFactor(owner); } }
@Override protected void rangedMiss( int cell ) { circleBack( cell, curUser ); }
@Override public float castDelay(Char user, int dst) { return speedFactor( user ); }
@Override public void rangedHit( Char enemy, int cell ) { circleBack(cell, curUser); }