From 249c9acd9660f72cfd71c7b4e1234321662d8425 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 3 Jun 2015 14:07:35 -0400 Subject: [PATCH] v0.3.0c: the battlemage now gains half a charge up-front on his staff when melee attacking, instead of a 2 turn charge buff --- .../shatteredpixeldungeon/actors/hero/Hero.java | 14 +------------- .../shatteredpixeldungeon/items/wands/Wand.java | 2 +- .../items/weapon/melee/MagesStaff.java | 14 +++++++------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index cc5cc1937..b83e0d5a4 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -39,7 +39,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Drowsy; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility; -import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison; @@ -56,7 +55,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Flare; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.items.Amulet; import com.shatteredpixel.shatteredpixeldungeon.items.Ankh; -import com.shatteredpixel.shatteredpixeldungeon.items.DewVial; import com.shatteredpixel.shatteredpixeldungeon.items.Dewdrop; import com.shatteredpixel.shatteredpixeldungeon.items.Heap; import com.shatteredpixel.shatteredpixeldungeon.items.Heap.Type; @@ -84,11 +82,8 @@ import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMight; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfTenacity; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping; -import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicalInfusion; -import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; @@ -405,7 +400,7 @@ public class Hero extends Char { TimekeepersHourglass.timeFreeze buff = buff(TimekeepersHourglass.timeFreeze.class); if (!(buff != null && buff.processTime(time))) super.spend( time ); - }; + } public void spendAndNext( float time ) { busy(); @@ -874,13 +869,6 @@ public class Hero extends Char { damage += Buff.affect( this, Combo.class ).hit( enemy, damage ); } break; - case BATTLEMAGE: - if (wep instanceof MagesStaff) { - //gives wands 50% charge - Buff.affect( this, ScrollOfRecharging.Recharging.class, 2f); - ScrollOfRecharging.charge( this ); - } - break; case SNIPER: if (rangedWeapon != null) { Buff.prolong( this, SnipersMark.class, attackDelay() * 1.1f ).object = enemy.id(); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java index ca25a9fa8..0846eba52 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java @@ -60,7 +60,7 @@ public abstract class Wand extends Item { public int maxCharges = initialCharges(); public int curCharges = maxCharges; - protected float partialCharge = 0f; + public float partialCharge = 0f; protected Charger charger; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java index f5867cb5f..1f926781f 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/MagesStaff.java @@ -98,14 +98,16 @@ public class MagesStaff extends MeleeWeapon { @Override public void proc(Char attacker, Char defender, int damage) { - if (wand != null && Dungeon.hero.subClass == HeroSubClass.BATTLEMAGE) - wand.onHit( this, attacker, defender, damage ); + if (wand != null && Dungeon.hero.subClass == HeroSubClass.BATTLEMAGE) { + wand.partialCharge += 0.5f; + wand.onHit(this, attacker, defender, damage); + } super.proc(attacker, defender, damage); } @Override public boolean collect( Bag container ) { - if (super.collect( container )) { + if (super.collect(container)) { if (container.owner != null && wand != null) { wand.charge(container.owner, STAFF_SCALE_FACTOR); } @@ -286,8 +288,6 @@ public class MagesStaff extends MeleeWeapon { updateQuickslot(); } } - - ; } ); } @@ -312,7 +312,7 @@ public class MagesStaff extends MeleeWeapon { return !((wand instanceof WandOfDisintegration) || (wand instanceof WandOfCorruption) || (wand instanceof WandOfRegrowth)); - }; + } }; //determines particle effects to use based on wand the staff owns. @@ -384,7 +384,7 @@ public class MagesStaff extends MeleeWeapon { minSize = 1f; maxSize = 2.5f; radiateXY(1f); } else if (wand instanceof WandOfTransfusion) { - color( 0xCC0000 );; am = 0.6f; + color( 0xCC0000 ); am = 0.6f; lifespan = left = 0.8f; speed.polar( Random.Float(PointF.PI2), 2f ); minSize = 1f; maxSize = 2.5f;