v3.2.1: battlemage staff changes:

- fireblast on-hit damage scaling up
- blast wave on-hit damage up
- blast wave knockback at sides increased very slightly
This commit is contained in:
Evan Debenham
2025-08-14 12:32:41 -04:00
parent 7489578fc6
commit f4bdd396bb
4 changed files with 6 additions and 24 deletions

View File

@@ -116,9 +116,7 @@ public class AntiMagic extends Armor.Glyph {
RESISTS.add( ElementalStrike.class );
RESISTS.add( Blazing.class );
RESISTS.add( WandOfFireblast.FireBlastOnHit.class );
RESISTS.add( Shocking.class );
RESISTS.add( WandOfLightning.LightningOnHit.class );
RESISTS.add( Grim.class );
RESISTS.add( WarpBeacon.class );

View File

@@ -91,7 +91,7 @@ public class WandOfBlastWave extends DamageWand {
if ((ch.isAlive() || ch.flying || !Dungeon.level.pit[ch.pos])
&& ch.pos == bolt.collisionPos + i) {
Ballistica trajectory = new Ballistica(ch.pos, ch.pos + i, Ballistica.MAGIC_BOLT);
int strength = 1 + Math.round(buffedLvl() / 2f);
int strength = Math.round(1.5f + buffedLvl() / 2f);
throwChar(ch, trajectory, strength, false, true, this);
}
@@ -197,7 +197,7 @@ public class WandOfBlastWave extends DamageWand {
if (defender.buff(Paralysis.class) != null && defender.buff(BWaveOnHitTracker.class) == null){
defender.buff(Paralysis.class).detach();
int dmg = Random.NormalIntRange(6+buffedLvl(), 12+2*buffedLvl());
int dmg = Random.NormalIntRange(8+2*buffedLvl(), 12+3*buffedLvl());
defender.damage(Math.round(procChanceMultiplier(attacker) * dmg), this);
BlastWave.blast(defender.pos);
Sample.INSTANCE.play( Assets.Sounds.BLAST );

View File

@@ -36,7 +36,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BlastParticle;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.SmokeParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blazing;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
@@ -199,8 +198,8 @@ public class WandOfFireblast extends DamageWand {
ch.buff(Burning.class).detach();
}
if (ch.alignment == Char.Alignment.ENEMY) {
//A 2-charge zap's base dmg with a 1-charge zap's scaling
ch.damage(Math.round(powerMulti*Random.NormalIntRange(2 + buffedLvl(), 8 + 2*buffedLvl())), this);
//damage of a 2-charge zap
ch.damage(Math.round(powerMulti*Random.NormalIntRange(2 + 2*buffedLvl(), 8 + 4*buffedLvl())), this);
}
}
}
@@ -211,13 +210,6 @@ public class WandOfFireblast extends DamageWand {
}
}
public static class FireBlastOnHit extends Blazing {
@Override
protected float procChanceMultiplier(Char attacker) {
return Wand.procChanceMultiplier(attacker);
}
}
@Override
public void fx(Ballistica bolt, Callback callback) {
//need to perform flame spread logic here so we can determine what cells to put flames in.

View File

@@ -32,7 +32,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DwarfKing;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Lightning;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.SparkParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Shocking;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@@ -40,10 +39,10 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.watabou.noosa.Image;
import com.watabou.utils.BArray;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.Image;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.BArray;
import com.watabou.utils.Callback;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
@@ -141,13 +140,6 @@ public class WandOfLightning extends DamageWand {
}
}
public static class LightningOnHit extends Shocking {
@Override
protected float procChanceMultiplier(Char attacker) {
return Wand.procChanceMultiplier(attacker);
}
}
private void arc( Char ch ) {
int dist = Dungeon.level.water[ch.pos] ? 2 : 1;