v0.4.1: adjusted some battlemage effects

This commit is contained in:
Evan Debenham 2016-07-09 23:37:57 -04:00 committed by Evan Debenham
parent 30f259f883
commit ebd533c935
5 changed files with 15 additions and 12 deletions

View File

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

View File

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

View File

@ -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());
Buff.prolong( attacker, Recharging.class, 1 + staff.level()/2f);
SpellSprite.show(attacker, SpellSprite.CHARGE);
}
}
protected int initialCharges() {

View File

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

View File

@ -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)) {