v0.7.4: implement battlemage fx and staff vfx for new wands

This commit is contained in:
Evan Debenham 2019-07-07 18:15:27 -04:00
parent c174e998bc
commit 99d47f3825
3 changed files with 37 additions and 6 deletions

View File

@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
import com.watabou.utils.Callback; import com.watabou.utils.Callback;
import com.watabou.utils.ColorMath;
import com.watabou.utils.PathFinder; import com.watabou.utils.PathFinder;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@ -188,8 +189,18 @@ public class WandOfLivingEarth extends DamageWand {
@Override @Override
public void staffFx(MagesStaff.StaffParticle particle) { public void staffFx(MagesStaff.StaffParticle particle) {
//TODO if (Random.Int(10) == 0){
super.staffFx(particle); particle.color(ColorMath.random(0xFFF568, 0x80791A));
} else {
particle.color(ColorMath.random(0x805500, 0x332500));
}
particle.am = 1f;
particle.setLifespan(2f);
particle.setSize( 1f, 2f);
particle.shuffleXY(0.5f);
float dst = Random.Float(11f);
particle.x -= dst;
particle.y += dst;
} }
public static class RockArmor extends Buff { public static class RockArmor extends Buff {

View File

@ -21,6 +21,7 @@ import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
import com.watabou.utils.Callback; import com.watabou.utils.Callback;
import com.watabou.utils.PathFinder; import com.watabou.utils.PathFinder;
import com.watabou.utils.PointF;
import com.watabou.utils.Random; import com.watabou.utils.Random;
public class WandOfWarding extends Wand { public class WandOfWarding extends Wand {
@ -86,13 +87,30 @@ public class WandOfWarding 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) {
//TODO
int level = Math.max( 0, staff.level() );
// lvl 0 - 20%
// lvl 1 - 33%
// lvl 2 - 43%
if (Random.Int( level + 5 ) >= 4) {
for (Char ch : Actor.chars()){
if (ch instanceof Ward){
((Ward) ch).wandHeal(staff.level());
ch.sprite.emitter().burst(MagicMissile.WardParticle.UP, ((Ward) ch).tier);
}
}
}
} }
@Override @Override
public void staffFx(MagesStaff.StaffParticle particle) { public void staffFx(MagesStaff.StaffParticle particle) {
//TODO particle.color( 0x8822FF );
super.staffFx(particle); particle.am = 0.3f;
particle.setLifespan(3f);
particle.speed.polar(Random.Float(PointF.PI2), 0.3f);
particle.setSize( 1f, 2f);
particle.radiateXY(2.5f);
} }
public static boolean canPlaceWard(int pos){ public static boolean canPlaceWard(int pos){

View File

@ -35,6 +35,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLivingEarth;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -378,7 +379,8 @@ public class MagesStaff extends MeleeWeapon {
return !((wand instanceof WandOfDisintegration) return !((wand instanceof WandOfDisintegration)
|| (wand instanceof WandOfCorruption) || (wand instanceof WandOfCorruption)
|| (wand instanceof WandOfCorrosion) || (wand instanceof WandOfCorrosion)
|| (wand instanceof WandOfRegrowth)); || (wand instanceof WandOfRegrowth)
|| (wand instanceof WandOfLivingEarth));
} }
}; };