v0.4.1: adjusted some battlemage effects
This commit is contained in:
parent
30f259f883
commit
ebd533c935
|
@ -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() {
|
||||
|
|
|
@ -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;}
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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() );
|
||||
|
||||
|
|
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user