v2.1.0: flying enemies no longer resist WoL's spread effect
This commit is contained in:
committed by
Evan Debenham
parent
506b6ee4d3
commit
b908dfc003
@@ -69,9 +69,9 @@ public class WandOfLightning extends DamageWand {
|
||||
public void onZap(Ballistica bolt) {
|
||||
|
||||
//lightning deals less damage per-target, the more targets that are hit.
|
||||
float multipler = 0.4f + (0.6f/affected.size());
|
||||
float multiplier = 0.4f + (0.6f/affected.size());
|
||||
//if the main target is in water, all affected take full damage
|
||||
if (Dungeon.level.water[bolt.collisionPos]) multipler = 1f;
|
||||
if (Dungeon.level.water[bolt.collisionPos]) multiplier = 1f;
|
||||
|
||||
for (Char ch : affected){
|
||||
if (ch == Dungeon.hero) Camera.main.shake( 2, 0.3f );
|
||||
@@ -83,14 +83,14 @@ public class WandOfLightning extends DamageWand {
|
||||
}
|
||||
wandProc(ch, chargesPerCast());
|
||||
if (ch == curUser && ch.isAlive()) {
|
||||
ch.damage(Math.round(damageRoll() * multipler * 0.5f), this);
|
||||
ch.damage(Math.round(damageRoll() * multiplier * 0.5f), this);
|
||||
if (!curUser.isAlive()) {
|
||||
Badges.validateDeathFromFriendlyMagic();
|
||||
Dungeon.fail( getClass() );
|
||||
GLog.n(Messages.get(this, "ondeath"));
|
||||
}
|
||||
} else {
|
||||
ch.damage(Math.round(damageRoll() * multipler), this);
|
||||
ch.damage(Math.round(damageRoll() * multiplier), this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ public class WandOfLightning extends DamageWand {
|
||||
|
||||
private void arc( Char ch ) {
|
||||
|
||||
int dist = (Dungeon.level.water[ch.pos] && !ch.flying) ? 2 : 1;
|
||||
int dist = Dungeon.level.water[ch.pos] ? 2 : 1;
|
||||
|
||||
ArrayList<Char> hitThisArc = new ArrayList<>();
|
||||
PathFinder.buildDistanceMap( ch.pos, BArray.not( Dungeon.level.solid, null ), dist );
|
||||
|
||||
Reference in New Issue
Block a user