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.Beam;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle;
|
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.items.weapon.melee.MagesStaff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||||
|
@ -109,9 +108,7 @@ public class WandOfDisintegration extends DamageWand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
||||||
//less likely Grim proc
|
//no direct effect, see magesStaff.reachfactor
|
||||||
if (Random.Int(3) == 0)
|
|
||||||
new Grim().proc( staff, attacker, defender, damage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int distance() {
|
private int distance() {
|
||||||
|
|
|
@ -96,10 +96,9 @@ public class WandOfFrost extends DamageWand {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
//TODO: balancing, this could be mighty OP
|
|
||||||
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
||||||
Chill chill = defender.buff(Chill.class);
|
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.
|
//need to delay this through an actor so that the freezing isn't broken by taking damage from the staff hit.
|
||||||
new FlavourBuff(){
|
new FlavourBuff(){
|
||||||
{actPriority = Integer.MIN_VALUE;}
|
{actPriority = Integer.MIN_VALUE;}
|
||||||
|
|
|
@ -59,11 +59,9 @@ public class WandOfMagicMissile extends DamageWand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
||||||
//gain 1 turn of recharging buff per level of the wand.
|
Buff.prolong( attacker, Recharging.class, 1 + staff.level()/2f);
|
||||||
if (level() > 0) {
|
SpellSprite.show(attacker, SpellSprite.CHARGE);
|
||||||
Buff.prolong( attacker, Recharging.class, (float)staff.level());
|
|
||||||
SpellSprite.show(attacker, SpellSprite.CHARGE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int initialCharges() {
|
protected int initialCharges() {
|
||||||
|
|
|
@ -165,7 +165,7 @@ public class WandOfRegrowth extends Wand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
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() );
|
int level = Math.max( 0, staff.level() );
|
||||||
|
|
||||||
|
|
|
@ -136,6 +136,15 @@ public class MagesStaff extends MeleeWeapon {
|
||||||
return super.proc(attacker, defender, damage);
|
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
|
@Override
|
||||||
public boolean collect( Bag container ) {
|
public boolean collect( Bag container ) {
|
||||||
if (super.collect(container)) {
|
if (super.collect(container)) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user