diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfCorruption.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfCorruption.java index c078300cd..f613d792e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfCorruption.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfCorruption.java @@ -76,7 +76,6 @@ import com.watabou.utils.Random; import java.util.HashMap; -//TODO need to consider other balance adjustments here. Might want to put more emphasis into debuffs rather than less public class WandOfCorruption extends Wand { { @@ -143,8 +142,8 @@ public class WandOfCorruption extends Wand { } else if (ch instanceof Piranha || ch instanceof Bee) { enemyResist = 1 + Dungeon.depth/2f; } else if (ch instanceof Wraith) { - //divide by 3 as wraiths are always at full HP and are therefore ~3x harder to corrupt - enemyResist = (1f + Dungeon.depth/3f) / 3f; + //divide by 5 as wraiths are always at full HP and are therefore ~5x harder to corrupt + enemyResist = (1f + Dungeon.depth/3f) / 5f; } else if (ch instanceof Yog.BurningFist || ch instanceof Yog.RottingFist) { enemyResist = 1 + 30; } else if (ch instanceof Yog.Larva || ch instanceof King.Undead){ @@ -154,8 +153,8 @@ public class WandOfCorruption extends Wand { enemyResist = 1 + 3; } - //100% health: 3x resist 75%: 2.1x resist 50%: 1.5x resist 25%: 1.1x resist - enemyResist *= 1 + 2*Math.pow(enemy.HP/(float)enemy.HT, 2); + //100% health: 5x resist 75%: 3.25x resist 50%: 2x resist 25%: 1.25x resist + enemyResist *= 1 + 4*Math.pow(enemy.HP/(float)enemy.HT, 2); //debuffs placed on the enemy reduce their resistance for (Buff buff : enemy.buffs()){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java index b4b954391..c2354e891 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java @@ -118,7 +118,7 @@ public class WandOfDisintegration extends DamageWand { } private int distance() { - return level()*2 + 4; + return level()*2 + 6; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java index dbafc4c0b..92a778ea1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java @@ -70,9 +70,8 @@ public class WandOfFrost extends DamageWand { return; //do nothing, can't affect a frozen target } if (ch.buff(Chill.class) != null){ - //7.5% less damage per turn of chill remaining - float chill = ch.buff(Chill.class).cooldown(); - damage = (int)Math.round(damage * Math.pow(0.9f, chill)); + //5% less damage per turn of chill remaining + damage = (int)Math.round(damage * Math.pow(0.95f, ch.buff(Chill.class).cooldown())); } else { ch.sprite.burst( 0xFF99CCFF, buffedLvl() / 2 + 2 ); } @@ -104,7 +103,7 @@ public class WandOfFrost extends DamageWand { @Override public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { Chill chill = defender.buff(Chill.class); - if (chill != null && Random.IntRange(2, (int)Chill.DURATION) <= chill.cooldown()){ + if (chill != null && chill.cooldown() >= Chill.DURATION){ //need to delay this through an actor so that the freezing isn't broken by taking damage from the staff hit. new FlavourBuff(){ {actPriority = VFX_PRIO;} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLightning.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLightning.java index d4f0c3751..ba6c753a2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLightning.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfLightning.java @@ -71,12 +71,19 @@ public class WandOfLightning extends DamageWand { if (Dungeon.level.water[bolt.collisionPos]) multipler = 1f; for (Char ch : affected){ - processSoulMark(ch, chargesPerCast()); - ch.damage(Math.round(damageRoll() * multipler), this); - if (ch == Dungeon.hero) Camera.main.shake( 2, 0.3f ); ch.sprite.centerEmitter().burst( SparkParticle.FACTORY, 3 ); ch.sprite.flash(); + + if (ch != curUser && ch.alignment == curUser.alignment && ch.pos != bolt.collisionPos){ + continue; + } + processSoulMark(ch, chargesPerCast()); + if (ch == curUser) { + ch.damage(Math.round(damageRoll() * multipler * 0.67f), this); + } else { + ch.damage(Math.round(damageRoll() * multipler), this); + } } if (!curUser.isAlive()) {