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

This commit is contained in:
Evan Debenham 2015-06-03 14:07:35 -04:00 committed by Evan Debenham
parent 94c069134d
commit 249c9acd96
3 changed files with 9 additions and 21 deletions

View File

@ -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();

View File

@ -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;

View File

@ -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;