v2.5.0: improved using speck particles with magic missile
This commit is contained in:
+13
-12
@@ -70,10 +70,8 @@ public class MagicMissile extends Emitter {
|
|||||||
public static final int SHAMAN_RED = 11;
|
public static final int SHAMAN_RED = 11;
|
||||||
public static final int SHAMAN_BLUE = 12;
|
public static final int SHAMAN_BLUE = 12;
|
||||||
public static final int SHAMAN_PURPLE = 13;
|
public static final int SHAMAN_PURPLE = 13;
|
||||||
public static final int TOXIC_VENT = 14;
|
public static final int ELMO = 14;
|
||||||
public static final int ELMO = 15;
|
public static final int POISON = 15;
|
||||||
public static final int POISON = 16;
|
|
||||||
public static final int BUBBLES = 17;
|
|
||||||
|
|
||||||
public static final int MAGIC_MISS_CONE = 100;
|
public static final int MAGIC_MISS_CONE = 100;
|
||||||
public static final int FROST_CONE = 101;
|
public static final int FROST_CONE = 101;
|
||||||
@@ -88,6 +86,9 @@ public class MagicMissile extends Emitter {
|
|||||||
public static final int PURPLE_CONE = 111;
|
public static final int PURPLE_CONE = 111;
|
||||||
public static final int SPARK_CONE = 112;
|
public static final int SPARK_CONE = 112;
|
||||||
public static final int BLOOD_CONE = 113;
|
public static final int BLOOD_CONE = 113;
|
||||||
|
|
||||||
|
//use SPECK + the constant of the Speck you want. e.g. MagicMissile.SPECK + Speck.TOXIC
|
||||||
|
public static final int SPECK = 1000;
|
||||||
|
|
||||||
public void reset( int type, int from, int to, Callback callback ) {
|
public void reset( int type, int from, int to, Callback callback ) {
|
||||||
reset( type,
|
reset( type,
|
||||||
@@ -126,6 +127,14 @@ public class MagicMissile extends Emitter {
|
|||||||
sy = speed.y;
|
sy = speed.y;
|
||||||
time = d.length() / SPEED;
|
time = d.length() / SPEED;
|
||||||
|
|
||||||
|
//for now all specks share the same size and volume, this can easily be customized later if needed
|
||||||
|
if (type >= SPECK){
|
||||||
|
size( 10 );
|
||||||
|
pour( Speck.factory(type-SPECK), 0.02f);
|
||||||
|
revive();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch(type){
|
switch(type){
|
||||||
case MAGIC_MISSILE: default:
|
case MAGIC_MISSILE: default:
|
||||||
size( 4 );
|
size( 4 );
|
||||||
@@ -180,10 +189,6 @@ public class MagicMissile extends Emitter {
|
|||||||
size( 2 );
|
size( 2 );
|
||||||
pour( ShamanParticle.PURPLE, 0.01f );
|
pour( ShamanParticle.PURPLE, 0.01f );
|
||||||
break;
|
break;
|
||||||
case TOXIC_VENT:
|
|
||||||
size( 10 );
|
|
||||||
pour( Speck.factory(Speck.TOXIC), 0.02f );
|
|
||||||
break;
|
|
||||||
case ELMO:
|
case ELMO:
|
||||||
size( 5 );
|
size( 5 );
|
||||||
pour( ElmoParticle.FACTORY, 0.01f );
|
pour( ElmoParticle.FACTORY, 0.01f );
|
||||||
@@ -192,10 +197,6 @@ public class MagicMissile extends Emitter {
|
|||||||
size( 3 );
|
size( 3 );
|
||||||
pour( PoisonParticle.MISSILE, 0.01f );
|
pour( PoisonParticle.MISSILE, 0.01f );
|
||||||
break;
|
break;
|
||||||
case BUBBLES:
|
|
||||||
size( 10 );
|
|
||||||
pour( Speck.factory(Speck.BUBBLE), 0.02f );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MAGIC_MISS_CONE:
|
case MAGIC_MISS_CONE:
|
||||||
size( 10 );
|
size( 10 );
|
||||||
|
|||||||
+1
-1
@@ -324,7 +324,7 @@ public class CursedWand {
|
|||||||
@Override
|
@Override
|
||||||
public void FX(Item origin, Char user, Ballistica bolt, Callback callback) {
|
public void FX(Item origin, Char user, Ballistica bolt, Callback callback) {
|
||||||
MagicMissile.boltFromChar(user.sprite.parent,
|
MagicMissile.boltFromChar(user.sprite.parent,
|
||||||
MagicMissile.BUBBLES,
|
MagicMissile.SPECK + Speck.BUBBLE,
|
||||||
user.sprite,
|
user.sprite,
|
||||||
bolt.collisionPos,
|
bolt.collisionPos,
|
||||||
callback);
|
callback);
|
||||||
|
|||||||
+1
-1
@@ -63,7 +63,7 @@ public class DM200Sprite extends MobSprite {
|
|||||||
super.zap( cell );
|
super.zap( cell );
|
||||||
|
|
||||||
MagicMissile.boltFromChar( parent,
|
MagicMissile.boltFromChar( parent,
|
||||||
MagicMissile.TOXIC_VENT,
|
MagicMissile.SPECK + Speck.TOXIC,
|
||||||
this,
|
this,
|
||||||
cell,
|
cell,
|
||||||
new Callback() {
|
new Callback() {
|
||||||
|
|||||||
+2
-1
@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM300;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM300;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BlastParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.BlastParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.SparkParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.SparkParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
|
||||||
@@ -87,7 +88,7 @@ public class DM300Sprite extends MobSprite {
|
|||||||
super.zap( cell );
|
super.zap( cell );
|
||||||
|
|
||||||
MagicMissile.boltFromChar( parent,
|
MagicMissile.boltFromChar( parent,
|
||||||
MagicMissile.TOXIC_VENT,
|
MagicMissile.SPECK + Speck.TOXIC,
|
||||||
this,
|
this,
|
||||||
cell,
|
cell,
|
||||||
new Callback() {
|
new Callback() {
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ public abstract class FistSprite extends MobSprite {
|
|||||||
public static class Rotting extends FistSprite {
|
public static class Rotting extends FistSprite {
|
||||||
|
|
||||||
{
|
{
|
||||||
boltType = MagicMissile.TOXIC_VENT;
|
boltType = MagicMissile.SPECK + Speck.TOXIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user