Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq());
@Override public float speedFactor( Char owner ) { int encumbrance = 0; if (owner instanceof Hero) { encumbrance = STRReq() - ((Hero)owner).STR(); } float DLY = augment.delayFactor(this.DLY); DLY *= RingOfFuror.attackDelayMultiplier(owner); return (encumbrance > 0 ? (float)(DLY * Math.pow( 1.2, encumbrance )) : DLY); }
info += "\n\n" + Messages.get(MeleeWeapon.class, "stats_known", tier, augment.damageFactor(min()), augment.damageFactor(max()), STRReq()); if (STRReq() > Dungeon.hero.STR()) { info += " " + Messages.get(Weapon.class, "too_heavy");
info += "\n\n" + Messages.get(MeleeWeapon.class, "stats_known", tier, augment.damageFactor(min()), augment.damageFactor(max()), STRReq()); if (STRReq() > Dungeon.hero.STR()) { info += " " + Messages.get(Weapon.class, "too_heavy");
Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq());
Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq());
Math.round(augment.damageFactor(min())), Math.round(augment.damageFactor(max())), STRReq());
@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; }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 75% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.75f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 50% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.50f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 67% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.67f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 75% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.75f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); } }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 75% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.75f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 50% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.50f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; Char enemy = hero.enemy(); if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 67% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.67f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); }
@Override public int damageRoll(Char owner) { if (owner instanceof Hero) { Hero hero = (Hero)owner; if (enemy instanceof Mob && ((Mob) enemy).surprisedBy(hero)) { //deals 75% toward max to max on surprise, instead of min to max. int diff = max() - min(); int damage = augment.damageFactor(Random.NormalIntRange( min() + Math.round(diff*0.75f), max())); int exStr = hero.STR() - STRReq(); if (exStr > 0) { damage += Random.IntRange(0, exStr); } return damage; } } return super.damageRoll(owner); } }
@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 ); } } return damage; }