@Override public int STRReq(int lvl) { return SpiritBow.this.STRReq(lvl); }
@Override public int STRReq(int lvl) { return SpiritBow.this.STRReq(lvl); }
@Override public int damageRoll(Char owner) { int damage = augment.damageFactor(super.damageRoll(owner)); if (owner instanceof Hero) { int exStr = ((Hero)owner).STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange( 0, exStr ); } } if (sniperSpecial){ switch (augment){ case NONE: damage = Math.round(damage * 0.667f); break; case SPEED: damage = Math.round(damage * 0.5f); break; case DAMAGE: int distance = Dungeon.level.distance(owner.pos, targetPos) - 1; damage = Math.round(damage * (1f + 0.1f * distance)); break; } } return damage; }
@Override public int damageRoll(Char owner) { int damage = augment.damageFactor(super.damageRoll(owner)); if (owner instanceof Hero) { int exStr = ((Hero)owner).STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange( 0, exStr ); } } if (sniperSpecial){ switch (augment){ case NONE: damage = Math.round(damage * 0.667f); break; case SPEED: damage = Math.round(damage * 0.5f); break; case DAMAGE: int distance = Dungeon.level.distance(owner.pos, targetPos) - 1; damage = Math.round(damage * (1f + 0.1f * distance)); break; } } return damage; }
Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq()); if (STRReq() > Dungeon.hero.STR()) { info += " " + Messages.get(Weapon.class, "too_heavy"); } else if (Dungeon.hero.STR() > STRReq()){ info += " " + Messages.get(Weapon.class, "excess_str", Dungeon.hero.STR() - STRReq());
Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq()); if (STRReq() > Dungeon.hero.STR()) { info += " " + Messages.get(Weapon.class, "too_heavy"); } else if (Dungeon.hero.STR() > STRReq()){ info += " " + Messages.get(Weapon.class, "excess_str", Dungeon.hero.STR() - STRReq());