@Override public int damageRoll() { int dmg = 0; if (rose != null && rose.weapon != null){ dmg += rose.weapon.damageRoll(this); } else { dmg += Random.NormalIntRange(0, 5); } return dmg; }
@Override public int damageRoll() { int dmg = 0; if (rose != null && rose.weapon != null){ dmg += rose.weapon.damageRoll(this); } else { dmg += Random.NormalIntRange(0, 5); } return dmg; }
@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 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; 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; 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); }