@Override public int proc(Weapon weapon, Char attacker, Char defender, int damage ) { int oppositeDefender = defender.pos + (defender.pos - attacker.pos); Ballistica trajectory = new Ballistica(defender.pos, oppositeDefender, Ballistica.MAGIC_BOLT); WandOfBlastWave.throwChar(defender, trajectory, 2); return 0; }
@Override public int proc(Weapon weapon, Char attacker, Char defender, int damage ) { int oppositeDefender = defender.pos + (defender.pos - attacker.pos); Ballistica trajectory = new Ballistica(defender.pos, oppositeDefender, Ballistica.MAGIC_BOLT); WandOfBlastWave.throwChar(defender, trajectory, 2); return 0; }
@Override public int proc( Armor armor, Char attacker, Char defender, int damage) { int level = Math.max( 0, armor.level() ); if (Random.Int( level + 5 ) >= 4){ int oppositeHero = attacker.pos + (attacker.pos - defender.pos); Ballistica trajectory = new Ballistica(attacker.pos, oppositeHero, Ballistica.MAGIC_BOLT); WandOfBlastWave.throwChar(attacker, trajectory, 2); } return damage; }
@Override //behaves just like glyph of Repulsion public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { int level = Math.max(0, staff.level()); // lvl 0 - 25% // lvl 1 - 40% // lvl 2 - 50% if (Random.Int( level + 4 ) >= 3){ int oppositeHero = defender.pos + (defender.pos - attacker.pos); Ballistica trajectory = new Ballistica(defender.pos, oppositeHero, Ballistica.MAGIC_BOLT); throwChar(defender, trajectory, 2); } }
@Override public int proc( Armor armor, Char attacker, Char defender, int damage) { int level = Math.max( 0, armor.level() ); if (Random.Int( level + 5 ) >= 4){ int oppositeHero = attacker.pos + (attacker.pos - defender.pos); Ballistica trajectory = new Ballistica(attacker.pos, oppositeHero, Ballistica.MAGIC_BOLT); WandOfBlastWave.throwChar(attacker, trajectory, 2); } return damage; }
@Override //behaves just like glyph of Repulsion public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { int level = Math.max(0, staff.level()); // lvl 0 - 25% // lvl 1 - 40% // lvl 2 - 50% if (Random.Int( level + 4 ) >= 3){ int oppositeHero = defender.pos + (defender.pos - attacker.pos); Ballistica trajectory = new Ballistica(defender.pos, oppositeHero, Ballistica.MAGIC_BOLT); throwChar(defender, trajectory, 2); } }
Ballistica trajectory = new Ballistica(ch.pos, ch.pos + i, Ballistica.MAGIC_BOLT); int strength = 1 + Math.round(level() / 2f); throwChar(ch, trajectory, strength); } else if (ch == Dungeon.hero){ Dungeon.fail( getClass() ); Ballistica trajectory = new Ballistica(ch.pos, bolt.path.get(bolt.dist + 1), Ballistica.MAGIC_BOLT); int strength = level() + 3; throwChar(ch, trajectory, strength);
Ballistica trajectory = new Ballistica(ch.pos, ch.pos + i, Ballistica.MAGIC_BOLT); int strength = 1 + Math.round(level() / 2f); throwChar(ch, trajectory, strength); } else if (ch == Dungeon.hero){ Dungeon.fail( getClass() ); Ballistica trajectory = new Ballistica(ch.pos, bolt.path.get(bolt.dist + 1), Ballistica.MAGIC_BOLT); int strength = level() + 3; throwChar(ch, trajectory, strength);