From ebd533c935525c8729f146c3426b42b750ffb0d7 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 9 Jul 2016 23:37:57 -0400 Subject: [PATCH] v0.4.1: adjusted some battlemage effects --- .../items/wands/WandOfDisintegration.java | 5 +---- .../shatteredpixeldungeon/items/wands/WandOfFrost.java | 3 +-- .../items/wands/WandOfMagicMissile.java | 8 +++----- .../items/wands/WandOfRegrowth.java | 2 +- .../items/weapon/melee/MagesStaff.java | 9 +++++++++ 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java index d5afbf9ae..13ecc36da 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfDisintegration.java @@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.effects.Beam; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Grim; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; @@ -109,9 +108,7 @@ public class WandOfDisintegration extends DamageWand { @Override public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { - //less likely Grim proc - if (Random.Int(3) == 0) - new Grim().proc( staff, attacker, defender, damage); + //no direct effect, see magesStaff.reachfactor } private int distance() { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java index 6cb1a0967..fe6fcba03 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java @@ -96,10 +96,9 @@ public class WandOfFrost extends DamageWand { } @Override - //TODO: balancing, this could be mighty OP public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { Chill chill = defender.buff(Chill.class); - if (chill != null && Random.Float() > chill.speedFactor()){ + if (chill != null && Random.IntRange(2, 10) > chill.cooldown()){ //need to delay this through an actor so that the freezing isn't broken by taking damage from the staff hit. new FlavourBuff(){ {actPriority = Integer.MIN_VALUE;} diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java index 46f0f29f3..aa233e9cc 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfMagicMissile.java @@ -59,11 +59,9 @@ public class WandOfMagicMissile extends DamageWand { @Override public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { - //gain 1 turn of recharging buff per level of the wand. - if (level() > 0) { - Buff.prolong( attacker, Recharging.class, (float)staff.level()); - SpellSprite.show(attacker, SpellSprite.CHARGE); - } + Buff.prolong( attacker, Recharging.class, 1 + staff.level()/2f); + SpellSprite.show(attacker, SpellSprite.CHARGE); + } protected int initialCharges() { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java index f5a0debd9..89b610ca6 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java @@ -165,7 +165,7 @@ public class WandOfRegrowth extends Wand { @Override public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) { - //like vampiric enchantment, except with herbal healing buff + //like pre-nerf vampiric enchantment, except with herbal healing buff int level = Math.max( 0, staff.level() ); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java index 2f34b18a7..f49ecaa82 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java @@ -136,6 +136,15 @@ public class MagesStaff extends MeleeWeapon { return super.proc(attacker, defender, damage); } + @Override + public int reachFactor(Hero hero) { + int reach = super.reachFactor(hero); + if (wand instanceof WandOfDisintegration && hero.subClass == HeroSubClass.BATTLEMAGE){ + reach++; + } + return reach; + } + @Override public boolean collect( Bag container ) { if (super.collect(container)) {