diff --git a/src/deh_soc.c b/src/deh_soc.c index 6162034de636e54ec8d35f5292720564de8de32d..0043b4ee6b6286a2e7f21f6cfe7909f0d497a47a 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -2760,11 +2760,11 @@ void readframe(MYFILE *f, INT32 num) } else if (fastcmp(word1, "VAR1")) { - states[num].var1 = (INT32)get_number(word2); + states[num].var1 = ACTION_INTEGER_VAL((INT32)get_number(word2)); } else if (fastcmp(word1, "VAR2")) { - states[num].var2 = (INT32)get_number(word2); + states[num].var2 = ACTION_INTEGER_VAL((INT32)get_number(word2)); } else if (fastcmp(word1, "ACTION")) { diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 0f834213592e041c866ca05a90d2599476c81c76..5e33424c93ee9ff41c12d24c10ea612afb0366f2 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1503,7 +1503,8 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) if (spr->mobj->frame & FF_ANIMATE) { // set duration and tics to be the correct values for FF_ANIMATE states - durs = (float)spr->mobj->state->var2; + INT32 var2 = Action_ValueToInteger(spr->mobj->state->var2); + durs = (float)var2; tics = (float)spr->mobj->anim_duration; } @@ -1566,7 +1567,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) if (spr->mobj->frame & FF_ANIMATE) { nextFrame = (spr->mobj->frame & FF_FRAMEMASK) + 1; - if (nextFrame >= (INT32)(spr->mobj->state->var1 + (spr->mobj->state->frame & FF_FRAMEMASK))) + if (nextFrame >= (INT32)(Action_ValueToInteger(spr->mobj->state->var1) + (spr->mobj->state->frame & FF_FRAMEMASK))) nextFrame = (spr->mobj->state->frame & FF_FRAMEMASK) % mod; } else diff --git a/src/info.c b/src/info.c index f544c38952a35b02cb08e677890efbc08113e41f..9f62fe23d0e9cddcb7ffc7eaa3ac22c9dee62f85 100644 --- a/src/info.c +++ b/src/info.c @@ -682,7 +682,9 @@ playersprite_t spr2defaults[NUMPLAYERSPRITES] = { 0, // SPR2_XTRA (should never be referenced) }; -// Doesn't work with g++, needs actionf_p1 (don't modify this comment) +#define STATE(sprite, frame, duration, action, var1, var2, nextstate) \ + { sprite, frame, duration, action, ACTION_INTEGER_VAL(var1), ACTION_INTEGER_VAL(var2), nextstate } + state_t states[NUMSTATES] = { // frame is masked through FF_FRAMEMASK @@ -691,3312 +693,3313 @@ state_t states[NUMSTATES] = // use FF_TRANS10 - FF_TRANS90 for easy translucency // (or tr_trans10<<FF_TRANSSHIFT if you want to make it hard on yourself) - // Keep this comment directly above S_NULL. - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NULL - {SPR_UNKN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_UNKNOWN - {SPR_NULL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_INVISIBLE + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL), // S_NULL + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_UNKNOWN + STATE(SPR_NULL, 0, -1, {NULL}, 0, 0, S_NULL), // S_INVISIBLE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 0, 0, S_NULL}, // S_SPAWNSTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 1, 0, S_NULL}, // S_SEESTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 2, 0, S_NULL}, // S_MELEESTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 3, 0, S_NULL}, // S_MISSILESTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 4, 0, S_NULL}, // S_DEATHSTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 5, 0, S_NULL}, // S_XDEATHSTATE - {SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 6, 0, S_NULL}, // S_RAISESTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 0, 0, S_NULL), // S_SPAWNSTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 1, 0, S_NULL), // S_SEESTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 2, 0, S_NULL), // S_MELEESTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 3, 0, S_NULL), // S_MISSILESTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 4, 0, S_NULL), // S_DEATHSTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 5, 0, S_NULL), // S_XDEATHSTATE + STATE(SPR_UNKN, FF_FULLBRIGHT, -1, {A_InfoState}, 6, 0, S_NULL), // S_RAISESTATE // Thok - {SPR_THOK, FF_TRANS50, 8, {NULL}, 0, 0, S_NULL}, // S_THOK + STATE(SPR_THOK, FF_TRANS50, 8, {NULL}, 0, 0, S_NULL), // S_THOK // Player - {SPR_PLAY, SPR2_STND|FF_ANIMATE, 105, {NULL}, 0, 7, S_PLAY_WAIT}, // S_PLAY_STND - {SPR_PLAY, SPR2_WAIT|FF_ANIMATE, -1, {NULL}, 0, 16, S_NULL}, // S_PLAY_WAIT - {SPR_PLAY, SPR2_WALK, 4, {NULL}, 0, 0, S_PLAY_WALK}, // S_PLAY_WALK - {SPR_PLAY, SPR2_SKID, 1, {NULL}, 0, 0, S_PLAY_WALK}, // S_PLAY_SKID - {SPR_PLAY, SPR2_RUN , 2, {NULL}, 0, 0, S_PLAY_RUN}, // S_PLAY_RUN - {SPR_PLAY, SPR2_DASH, 2, {NULL}, 0, 0, S_PLAY_DASH}, // S_PLAY_DASH - {SPR_PLAY, SPR2_PAIN|FF_ANIMATE, 350, {NULL}, 0, 4, S_PLAY_FALL}, // S_PLAY_PAIN - {SPR_PLAY, SPR2_STUN|FF_ANIMATE, 350, {NULL}, 0, 4, S_PLAY_FALL}, // S_PLAY_STUN - {SPR_PLAY, SPR2_DEAD|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL}, // S_PLAY_DEAD - {SPR_PLAY, SPR2_DRWN|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL}, // S_PLAY_DRWN - {SPR_PLAY, SPR2_ROLL, 1, {NULL}, 0, 0, S_PLAY_ROLL}, // S_PLAY_ROLL - {SPR_PLAY, SPR2_GASP|FF_ANIMATE, 14, {NULL}, 0, 4, S_PLAY_WALK}, // S_PLAY_GASP - {SPR_PLAY, SPR2_JUMP, 1, {NULL}, 0, 0, S_PLAY_JUMP}, // S_PLAY_JUMP - {SPR_PLAY, SPR2_SPNG, 2, {NULL}, 0, 0, S_PLAY_SPRING}, // S_PLAY_SPRING - {SPR_PLAY, SPR2_FALL, 2, {NULL}, 0, 0, S_PLAY_FALL}, // S_PLAY_FALL - {SPR_PLAY, SPR2_EDGE, 12, {NULL}, 0, 0, S_PLAY_EDGE}, // S_PLAY_EDGE - {SPR_PLAY, SPR2_RIDE, 4, {NULL}, 0, 0, S_PLAY_RIDE}, // S_PLAY_RIDE + STATE(SPR_PLAY, SPR2_STND|FF_ANIMATE, 105, {NULL}, 0, 7, S_PLAY_WAIT), // S_PLAY_STND + STATE(SPR_PLAY, SPR2_WAIT|FF_ANIMATE, -1, {NULL}, 0, 16, S_NULL), // S_PLAY_WAIT + STATE(SPR_PLAY, SPR2_WALK, 4, {NULL}, 0, 0, S_PLAY_WALK), // S_PLAY_WALK + STATE(SPR_PLAY, SPR2_SKID, 1, {NULL}, 0, 0, S_PLAY_WALK), // S_PLAY_SKID + STATE(SPR_PLAY, SPR2_RUN , 2, {NULL}, 0, 0, S_PLAY_RUN), // S_PLAY_RUN + STATE(SPR_PLAY, SPR2_DASH, 2, {NULL}, 0, 0, S_PLAY_DASH), // S_PLAY_DASH + STATE(SPR_PLAY, SPR2_PAIN|FF_ANIMATE, 350, {NULL}, 0, 4, S_PLAY_FALL), // S_PLAY_PAIN + STATE(SPR_PLAY, SPR2_STUN|FF_ANIMATE, 350, {NULL}, 0, 4, S_PLAY_FALL), // S_PLAY_STUN + STATE(SPR_PLAY, SPR2_DEAD|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL), // S_PLAY_DEAD + STATE(SPR_PLAY, SPR2_DRWN|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL), // S_PLAY_DRWN + STATE(SPR_PLAY, SPR2_ROLL, 1, {NULL}, 0, 0, S_PLAY_ROLL), // S_PLAY_ROLL + STATE(SPR_PLAY, SPR2_GASP|FF_ANIMATE, 14, {NULL}, 0, 4, S_PLAY_WALK), // S_PLAY_GASP + STATE(SPR_PLAY, SPR2_JUMP, 1, {NULL}, 0, 0, S_PLAY_JUMP), // S_PLAY_JUMP + STATE(SPR_PLAY, SPR2_SPNG, 2, {NULL}, 0, 0, S_PLAY_SPRING), // S_PLAY_SPRING + STATE(SPR_PLAY, SPR2_FALL, 2, {NULL}, 0, 0, S_PLAY_FALL), // S_PLAY_FALL + STATE(SPR_PLAY, SPR2_EDGE, 12, {NULL}, 0, 0, S_PLAY_EDGE), // S_PLAY_EDGE + STATE(SPR_PLAY, SPR2_RIDE, 4, {NULL}, 0, 0, S_PLAY_RIDE), // S_PLAY_RIDE // CA2_SPINDASH - {SPR_PLAY, SPR2_SPIN, 2, {NULL}, 0, 0, S_PLAY_SPINDASH}, // S_PLAY_SPINDASH + STATE(SPR_PLAY, SPR2_SPIN, 2, {NULL}, 0, 0, S_PLAY_SPINDASH), // S_PLAY_SPINDASH // CA_FLY/CA_SWIM - {SPR_PLAY, SPR2_FLY , 2, {NULL}, 0, 0, S_PLAY_FLY}, // S_PLAY_FLY - {SPR_PLAY, SPR2_SWIM, 4, {NULL}, 0, 0, S_PLAY_SWIM}, // S_PLAY_SWIM - {SPR_PLAY, SPR2_TIRE, 12, {NULL}, 0, 0, S_PLAY_FLY_TIRED}, // S_PLAY_FLY_TIRED + STATE(SPR_PLAY, SPR2_FLY , 2, {NULL}, 0, 0, S_PLAY_FLY), // S_PLAY_FLY + STATE(SPR_PLAY, SPR2_SWIM, 4, {NULL}, 0, 0, S_PLAY_SWIM), // S_PLAY_SWIM + STATE(SPR_PLAY, SPR2_TIRE, 12, {NULL}, 0, 0, S_PLAY_FLY_TIRED), // S_PLAY_FLY_TIRED // CA_GLIDEANDCLIMB - {SPR_PLAY, SPR2_GLID, 2, {NULL}, 0, 0, S_PLAY_GLIDE}, // S_PLAY_GLIDE - {SPR_PLAY, SPR2_LAND, 7, {NULL}, 0, 0, S_PLAY_STND}, // S_PLAY_GLIDE_LANDING - {SPR_PLAY, SPR2_CLNG|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL}, // S_PLAY_CLING - {SPR_PLAY, SPR2_CLMB, 5, {NULL}, 0, 0, S_PLAY_CLIMB}, // S_PLAY_CLIMB + STATE(SPR_PLAY, SPR2_GLID, 2, {NULL}, 0, 0, S_PLAY_GLIDE), // S_PLAY_GLIDE + STATE(SPR_PLAY, SPR2_LAND, 7, {NULL}, 0, 0, S_PLAY_STND), // S_PLAY_GLIDE_LANDING + STATE(SPR_PLAY, SPR2_CLNG|FF_ANIMATE, -1, {NULL}, 0, 4, S_NULL), // S_PLAY_CLING + STATE(SPR_PLAY, SPR2_CLMB, 5, {NULL}, 0, 0, S_PLAY_CLIMB), // S_PLAY_CLIMB // CA_FLOAT/CA_SLOWFALL - {SPR_PLAY, SPR2_FLT , 7, {NULL}, 0, 0, S_PLAY_FLOAT}, // S_PLAY_FLOAT - {SPR_PLAY, SPR2_FRUN, 7, {NULL}, 0, 0, S_PLAY_FLOAT_RUN}, // S_PLAY_FLOAT_RUN + STATE(SPR_PLAY, SPR2_FLT , 7, {NULL}, 0, 0, S_PLAY_FLOAT), // S_PLAY_FLOAT + STATE(SPR_PLAY, SPR2_FRUN, 7, {NULL}, 0, 0, S_PLAY_FLOAT_RUN), // S_PLAY_FLOAT_RUN // CA_BOUNCE - {SPR_PLAY, SPR2_BNCE|FF_ANIMATE, -1, {NULL}, 0, 0, S_NULL}, // S_PLAY_BOUNCE - {SPR_PLAY, SPR2_LAND|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_BOUNCE, 0, S_PLAY_BOUNCE_LANDING}, // S_PLAY_BOUNCE_LANDING + STATE(SPR_PLAY, SPR2_BNCE|FF_ANIMATE, -1, {NULL}, 0, 0, S_NULL), // S_PLAY_BOUNCE + STATE(SPR_PLAY, SPR2_LAND|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_BOUNCE, 0, S_PLAY_BOUNCE_LANDING), // S_PLAY_BOUNCE_LANDING // CA2_GUNSLINGER - {SPR_PLAY, SPR2_FIRE|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_FIRE_FINISH, 0, S_PLAY_FIRE}, // S_PLAY_FIRE - {SPR_PLAY, SPR2_FIRE, 15, {NULL}, S_PLAY_STND, 0, S_PLAY_STND}, // S_PLAY_FIRE_FINISH + STATE(SPR_PLAY, SPR2_FIRE|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_FIRE_FINISH, 0, S_PLAY_FIRE), // S_PLAY_FIRE + STATE(SPR_PLAY, SPR2_FIRE, 15, {NULL}, S_PLAY_STND, 0, S_PLAY_STND), // S_PLAY_FIRE_FINISH // CA_TWINSPIN - {SPR_PLAY, SPR2_TWIN|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_JUMP, 0, S_PLAY_TWINSPIN}, // S_PLAY_TWINSPIN + STATE(SPR_PLAY, SPR2_TWIN|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_JUMP, 0, S_PLAY_TWINSPIN), // S_PLAY_TWINSPIN // CA2_MELEE - {SPR_PLAY, SPR2_MLEE|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_MELEE_FINISH, 0, S_PLAY_MELEE}, // S_PLAY_MELEE - {SPR_PLAY, SPR2_MLEE, 70, {NULL}, 0, 0, S_PLAY_FALL}, // S_PLAY_MELEE_FINISH - {SPR_PLAY, SPR2_MLEL, 35, {NULL}, 0, 0, S_PLAY_WALK}, // S_PLAY_MELEE_LANDING + STATE(SPR_PLAY, SPR2_MLEE|FF_SPR2ENDSTATE, 2, {NULL}, S_PLAY_MELEE_FINISH, 0, S_PLAY_MELEE), // S_PLAY_MELEE + STATE(SPR_PLAY, SPR2_MLEE, 70, {NULL}, 0, 0, S_PLAY_FALL), // S_PLAY_MELEE_FINISH + STATE(SPR_PLAY, SPR2_MLEL, 35, {NULL}, 0, 0, S_PLAY_WALK), // S_PLAY_MELEE_LANDING // SF_SUPER - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_SUPER_TRANS2}, // S_PLAY_SUPER_TRANS1 - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER, 3, {NULL}, 0, 0, S_PLAY_SUPER_TRANS3}, // S_PLAY_SUPER_TRANS2 - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS4}, // S_PLAY_SUPER_TRANS3 - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS5}, // S_PLAY_SUPER_TRANS4 - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS6}, // S_PLAY_SUPER_TRANS5 - {SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL}, // S_PLAY_SUPER_TRANS6 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_SUPER_TRANS2), // S_PLAY_SUPER_TRANS1 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER, 3, {NULL}, 0, 0, S_PLAY_SUPER_TRANS3), // S_PLAY_SUPER_TRANS2 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS4), // S_PLAY_SUPER_TRANS3 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS5), // S_PLAY_SUPER_TRANS4 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS6), // S_PLAY_SUPER_TRANS5 + STATE(SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL), // S_PLAY_SUPER_TRANS6 - {SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY}, //S_OBJPLACE_DUMMY + STATE(SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY), //S_OBJPLACE_DUMMY // 1-Up box sprites (uses player sprite) - {SPR_PLAY, SPR2_LIFE, 2, {NULL}, 0, 18, S_PLAY_BOX2}, // S_PLAY_BOX1 - {SPR_NULL, 0, 1, {NULL}, 0, 18, S_PLAY_BOX1}, // S_PLAY_BOX2 - {SPR_PLAY, SPR2_LIFE, 4, {NULL}, 0, 4, S_PLAY_ICON2}, // S_PLAY_ICON1 - {SPR_NULL, 0, 12, {NULL}, 0, 4, S_PLAY_ICON3}, // S_PLAY_ICON2 - {SPR_PLAY, SPR2_LIFE, 20, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3 + STATE(SPR_PLAY, SPR2_LIFE, 2, {NULL}, 0, 18, S_PLAY_BOX2), // S_PLAY_BOX1 + STATE(SPR_NULL, 0, 1, {NULL}, 0, 18, S_PLAY_BOX1), // S_PLAY_BOX2 + STATE(SPR_PLAY, SPR2_LIFE, 4, {NULL}, 0, 4, S_PLAY_ICON2), // S_PLAY_ICON1 + STATE(SPR_NULL, 0, 12, {NULL}, 0, 4, S_PLAY_ICON3), // S_PLAY_ICON2 + STATE(SPR_PLAY, SPR2_LIFE, 20, {NULL}, 0, 4, S_NULL), // S_PLAY_ICON3 // Level end sign (uses player sprite) - {SPR_PLAY, SPR2_SIGN|FF_PAPERSPRITE, 2, {NULL}, 0, 29, S_PLAY_SIGN}, // S_PLAY_SIGN + STATE(SPR_PLAY, SPR2_SIGN|FF_PAPERSPRITE, 2, {NULL}, 0, 29, S_PLAY_SIGN), // S_PLAY_SIGN // NiGHTS Player, transforming - {SPR_PLAY, SPR2_TRNS|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_NIGHTS_TRANS2}, // S_PLAY_NIGHTS_TRANS1 - {SPR_PLAY, SPR2_TRNS, 3, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS3}, // S_PLAY_NIGHTS_TRANS2 - {SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS4}, // S_PLAY_NIGHTS_TRANS3 - {SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS5}, // S_PLAY_NIGHTS_TRANS4 - {SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS6}, // S_PLAY_NIGHTS_TRANS5 - {SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 21, {A_FadeOverlay}, 2, 0, S_PLAY_NIGHTS_FLOAT}, // S_PLAY_NIGHTS_TRANS5 + STATE(SPR_PLAY, SPR2_TRNS|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_NIGHTS_TRANS2), // S_PLAY_NIGHTS_TRANS1 + STATE(SPR_PLAY, SPR2_TRNS, 3, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS3), // S_PLAY_NIGHTS_TRANS2 + STATE(SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS4), // S_PLAY_NIGHTS_TRANS3 + STATE(SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS5), // S_PLAY_NIGHTS_TRANS4 + STATE(SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_TRANS6), // S_PLAY_NIGHTS_TRANS5 + STATE(SPR_PLAY, SPR2_TRNS|FF_FULLBRIGHT, 21, {A_FadeOverlay}, 2, 0, S_PLAY_NIGHTS_FLOAT), // S_PLAY_NIGHTS_TRANS5 // NiGHTS Player - {SPR_PLAY, SPR2_NSTD, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_STAND}, // S_PLAY_NIGHTS_STAND - {SPR_PLAY, SPR2_NFLT, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_FLOAT}, // S_PLAY_NIGHTS_FLOAT - {SPR_PLAY, SPR2_NFLY, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_FLY}, // S_PLAY_NIGHTS_FLY - {SPR_PLAY, SPR2_NDRL, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_DRILL}, // S_PLAY_NIGHTS_DRILL - {SPR_PLAY, SPR2_NSTN, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_STUN}, // S_PLAY_NIGHTS_STUN - {SPR_PLAY, SPR2_NPUL, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_PULL}, // S_PLAY_NIGHTS_PULL - {SPR_PLAY, SPR2_NATK, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_ATTACK}, // S_PLAY_NIGHTS_ATTACK + STATE(SPR_PLAY, SPR2_NSTD, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_STAND), // S_PLAY_NIGHTS_STAND + STATE(SPR_PLAY, SPR2_NFLT, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_FLOAT), // S_PLAY_NIGHTS_FLOAT + STATE(SPR_PLAY, SPR2_NFLY, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_FLY), // S_PLAY_NIGHTS_FLY + STATE(SPR_PLAY, SPR2_NDRL, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_DRILL), // S_PLAY_NIGHTS_DRILL + STATE(SPR_PLAY, SPR2_NSTN, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_STUN), // S_PLAY_NIGHTS_STUN + STATE(SPR_PLAY, SPR2_NPUL, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_PULL), // S_PLAY_NIGHTS_PULL + STATE(SPR_PLAY, SPR2_NATK, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_ATTACK), // S_PLAY_NIGHTS_ATTACK // c: - {SPR_PLAY, SPR2_TAL0|FF_SPR2MIDSTART, 5, {NULL}, 0, 0, S_TAILSOVERLAY_STAND}, // S_TAILSOVERLAY_STAND - {SPR_PLAY, SPR2_TAL1|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_0DEGREES}, // S_TAILSOVERLAY_0DEGREES - {SPR_PLAY, SPR2_TAL2|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PLUS30DEGREES}, // S_TAILSOVERLAY_PLUS30DEGREES - {SPR_PLAY, SPR2_TAL3|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PLUS60DEGREES}, // S_TAILSOVERLAY_PLUS60DEGREES - {SPR_PLAY, SPR2_TAL4|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_MINUS30DEGREES}, // S_TAILSOVERLAY_MINUS30DEGREES - {SPR_PLAY, SPR2_TAL5|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_MINUS60DEGREES}, // S_TAILSOVERLAY_MINUS60DEGREES - {SPR_PLAY, SPR2_TAL6|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_RUN}, // S_TAILSOVERLAY_RUN - {SPR_PLAY, SPR2_TAL7|FF_SPR2MIDSTART, 4, {NULL}, 0, 0, S_TAILSOVERLAY_FLY}, // S_TAILSOVERLAY_FLY - {SPR_PLAY, SPR2_TAL8|FF_SPR2MIDSTART, 4, {NULL}, 0, 0, S_TAILSOVERLAY_TIRE}, // S_TAILSOVERLAY_TIRE - {SPR_PLAY, SPR2_TAL9|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PAIN}, // S_TAILSOVERLAY_PAIN - {SPR_PLAY, SPR2_TALA|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_GASP}, // S_TAILSOVERLAY_GASP - {SPR_PLAY, SPR2_TALB , 35, {NULL}, 0, 0, S_TAILSOVERLAY_EDGE}, // S_TAILSOVERLAY_EDGE - {SPR_PLAY, SPR2_TALC|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_DASH}, // S_TAILSOVERLAY_DASH + STATE(SPR_PLAY, SPR2_TAL0|FF_SPR2MIDSTART, 5, {NULL}, 0, 0, S_TAILSOVERLAY_STAND), // S_TAILSOVERLAY_STAND + STATE(SPR_PLAY, SPR2_TAL1|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_0DEGREES), // S_TAILSOVERLAY_0DEGREES + STATE(SPR_PLAY, SPR2_TAL2|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PLUS30DEGREES), // S_TAILSOVERLAY_PLUS30DEGREES + STATE(SPR_PLAY, SPR2_TAL3|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PLUS60DEGREES), // S_TAILSOVERLAY_PLUS60DEGREES + STATE(SPR_PLAY, SPR2_TAL4|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_MINUS30DEGREES), // S_TAILSOVERLAY_MINUS30DEGREES + STATE(SPR_PLAY, SPR2_TAL5|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_MINUS60DEGREES), // S_TAILSOVERLAY_MINUS60DEGREES + STATE(SPR_PLAY, SPR2_TAL6|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_RUN), // S_TAILSOVERLAY_RUN + STATE(SPR_PLAY, SPR2_TAL7|FF_SPR2MIDSTART, 4, {NULL}, 0, 0, S_TAILSOVERLAY_FLY), // S_TAILSOVERLAY_FLY + STATE(SPR_PLAY, SPR2_TAL8|FF_SPR2MIDSTART, 4, {NULL}, 0, 0, S_TAILSOVERLAY_TIRE), // S_TAILSOVERLAY_TIRE + STATE(SPR_PLAY, SPR2_TAL9|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_PAIN), // S_TAILSOVERLAY_PAIN + STATE(SPR_PLAY, SPR2_TALA|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_GASP), // S_TAILSOVERLAY_GASP + STATE(SPR_PLAY, SPR2_TALB , 35, {NULL}, 0, 0, S_TAILSOVERLAY_EDGE), // S_TAILSOVERLAY_EDGE + STATE(SPR_PLAY, SPR2_TALC|FF_SPR2MIDSTART, 35, {NULL}, 0, 0, S_TAILSOVERLAY_DASH), // S_TAILSOVERLAY_DASH // [: - {SPR_JETF, 3|FF_ANIMATE|FF_FULLBRIGHT, 2, {NULL}, 1, 1, S_JETFUME1}, // S_JETFUMEFLASH + STATE(SPR_JETF, 3|FF_ANIMATE|FF_FULLBRIGHT, 2, {NULL}, 1, 1, S_JETFUME1), // S_JETFUMEFLASH // Blue Crawla - {SPR_POSS, 0, 5, {A_Look}, 0, 0, S_POSS_STND}, // S_POSS_STND - {SPR_POSS, 0, 3, {A_Chase}, 0, 0, S_POSS_RUN2}, // S_POSS_RUN1 - {SPR_POSS, 1, 3, {A_Chase}, 0, 0, S_POSS_RUN3}, // S_POSS_RUN2 - {SPR_POSS, 2, 3, {A_Chase}, 0, 0, S_POSS_RUN4}, // S_POSS_RUN3 - {SPR_POSS, 3, 3, {A_Chase}, 0, 0, S_POSS_RUN5}, // S_POSS_RUN4 - {SPR_POSS, 4, 3, {A_Chase}, 0, 0, S_POSS_RUN6}, // S_POSS_RUN5 - {SPR_POSS, 5, 3, {A_Chase}, 0, 0, S_POSS_RUN1}, // S_POSS_RUN6 + STATE(SPR_POSS, 0, 5, {A_Look}, 0, 0, S_POSS_STND), // S_POSS_STND + STATE(SPR_POSS, 0, 3, {A_Chase}, 0, 0, S_POSS_RUN2), // S_POSS_RUN1 + STATE(SPR_POSS, 1, 3, {A_Chase}, 0, 0, S_POSS_RUN3), // S_POSS_RUN2 + STATE(SPR_POSS, 2, 3, {A_Chase}, 0, 0, S_POSS_RUN4), // S_POSS_RUN3 + STATE(SPR_POSS, 3, 3, {A_Chase}, 0, 0, S_POSS_RUN5), // S_POSS_RUN4 + STATE(SPR_POSS, 4, 3, {A_Chase}, 0, 0, S_POSS_RUN6), // S_POSS_RUN5 + STATE(SPR_POSS, 5, 3, {A_Chase}, 0, 0, S_POSS_RUN1), // S_POSS_RUN6 // Red Crawla - {SPR_SPOS, 0, 5, {A_Look}, 0, 0, S_SPOS_STND}, // S_SPOS_STND - {SPR_SPOS, 0, 1, {A_Chase}, 0, 0, S_SPOS_RUN2}, // S_SPOS_RUN1 - {SPR_SPOS, 1, 1, {A_Chase}, 0, 0, S_SPOS_RUN3}, // S_SPOS_RUN2 - {SPR_SPOS, 2, 1, {A_Chase}, 0, 0, S_SPOS_RUN4}, // S_SPOS_RUN3 - {SPR_SPOS, 3, 1, {A_Chase}, 0, 0, S_SPOS_RUN5}, // S_SPOS_RUN4 - {SPR_SPOS, 4, 1, {A_Chase}, 0, 0, S_SPOS_RUN6}, // S_SPOS_RUN5 - {SPR_SPOS, 5, 1, {A_Chase}, 0, 0, S_SPOS_RUN1}, // S_SPOS_RUN6 + STATE(SPR_SPOS, 0, 5, {A_Look}, 0, 0, S_SPOS_STND), // S_SPOS_STND + STATE(SPR_SPOS, 0, 1, {A_Chase}, 0, 0, S_SPOS_RUN2), // S_SPOS_RUN1 + STATE(SPR_SPOS, 1, 1, {A_Chase}, 0, 0, S_SPOS_RUN3), // S_SPOS_RUN2 + STATE(SPR_SPOS, 2, 1, {A_Chase}, 0, 0, S_SPOS_RUN4), // S_SPOS_RUN3 + STATE(SPR_SPOS, 3, 1, {A_Chase}, 0, 0, S_SPOS_RUN5), // S_SPOS_RUN4 + STATE(SPR_SPOS, 4, 1, {A_Chase}, 0, 0, S_SPOS_RUN6), // S_SPOS_RUN5 + STATE(SPR_SPOS, 5, 1, {A_Chase}, 0, 0, S_SPOS_RUN1), // S_SPOS_RUN6 // Greenflower Fish - {SPR_FISH, 1, 1, {NULL}, 0, 0, S_FISH2}, // S_FISH1 - {SPR_FISH, 1, 1, {A_FishJump}, 0, 0, S_FISH1}, // S_FISH2 - {SPR_FISH, 0, 1, {NULL}, 0, 0, S_FISH4}, // S_FISH3 - {SPR_FISH, 0, 1, {A_FishJump}, 0, 0, S_FISH3}, // S_FISH4 + STATE(SPR_FISH, 1, 1, {NULL}, 0, 0, S_FISH2), // S_FISH1 + STATE(SPR_FISH, 1, 1, {A_FishJump}, 0, 0, S_FISH1), // S_FISH2 + STATE(SPR_FISH, 0, 1, {NULL}, 0, 0, S_FISH4), // S_FISH3 + STATE(SPR_FISH, 0, 1, {A_FishJump}, 0, 0, S_FISH3), // S_FISH4 // Gold Buzz - {SPR_BUZZ, 0, 2, {A_Look}, 0, 0, S_BUZZLOOK2}, // S_BUZZLOOK1 - {SPR_BUZZ, 1, 2, {A_Look}, 0, 0, S_BUZZLOOK1}, // S_BUZZLOOK2 - {SPR_BUZZ, 0, 2, {A_BuzzFly}, sfx_buzz4, 0, S_BUZZFLY2}, // S_BUZZFLY1 - {SPR_BUZZ, 1, 2, {A_BuzzFly}, 0, 0, S_BUZZFLY1}, // S_BUZZFLY2 + STATE(SPR_BUZZ, 0, 2, {A_Look}, 0, 0, S_BUZZLOOK2), // S_BUZZLOOK1 + STATE(SPR_BUZZ, 1, 2, {A_Look}, 0, 0, S_BUZZLOOK1), // S_BUZZLOOK2 + STATE(SPR_BUZZ, 0, 2, {A_BuzzFly}, sfx_buzz4, 0, S_BUZZFLY2), // S_BUZZFLY1 + STATE(SPR_BUZZ, 1, 2, {A_BuzzFly}, 0, 0, S_BUZZFLY1), // S_BUZZFLY2 // Red Buzz - {SPR_RBUZ, 0, 2, {A_Look}, 0, 0, S_RBUZZLOOK2}, // S_RBUZZLOOK1 - {SPR_RBUZ, 1, 2, {A_Look}, 0, 0, S_RBUZZLOOK1}, // S_RBUZZLOOK2 - {SPR_RBUZ, 0, 2, {A_BuzzFly}, sfx_buzz4, 0, S_RBUZZFLY2}, // S_RBUZZFLY1 - {SPR_RBUZ, 1, 2, {A_BuzzFly}, 0, 0, S_RBUZZFLY1}, // S_RBUZZFLY2 + STATE(SPR_RBUZ, 0, 2, {A_Look}, 0, 0, S_RBUZZLOOK2), // S_RBUZZLOOK1 + STATE(SPR_RBUZ, 1, 2, {A_Look}, 0, 0, S_RBUZZLOOK1), // S_RBUZZLOOK2 + STATE(SPR_RBUZ, 0, 2, {A_BuzzFly}, sfx_buzz4, 0, S_RBUZZFLY2), // S_RBUZZFLY1 + STATE(SPR_RBUZ, 1, 2, {A_BuzzFly}, 0, 0, S_RBUZZFLY1), // S_RBUZZFLY2 // Jetty-Syn Bomber - {SPR_JETB, 0, 4, {A_Look}, 0, 0, S_JETBLOOK2}, // S_JETBLOOK1 - {SPR_JETB, 1, 4, {A_Look}, 0, 0, S_JETBLOOK1}, // S_JETBLOOK2 - {SPR_JETB, 0, 1, {A_JetbThink}, 0, 0, S_JETBZOOM2}, // S_JETBZOOM1 - {SPR_JETB, 1, 1, {A_JetbThink}, 0, 0, S_JETBZOOM1}, // S_JETBZOOM2 + STATE(SPR_JETB, 0, 4, {A_Look}, 0, 0, S_JETBLOOK2), // S_JETBLOOK1 + STATE(SPR_JETB, 1, 4, {A_Look}, 0, 0, S_JETBLOOK1), // S_JETBLOOK2 + STATE(SPR_JETB, 0, 1, {A_JetbThink}, 0, 0, S_JETBZOOM2), // S_JETBZOOM1 + STATE(SPR_JETB, 1, 1, {A_JetbThink}, 0, 0, S_JETBZOOM1), // S_JETBZOOM2 // Jetty-Syn Gunner - {SPR_JETG, 0, 4, {A_Look}, 0, 0, S_JETGLOOK2}, // S_JETGLOOK1 - {SPR_JETG, 1, 4, {A_Look}, 0, 0, S_JETGLOOK1}, // S_JETGLOOK2 - {SPR_JETG, 0, 1, {A_JetgThink}, 0, 0, S_JETGZOOM2}, // S_JETGZOOM1 - {SPR_JETG, 1, 1, {A_JetgThink}, 0, 0, S_JETGZOOM1}, // S_JETGZOOM2 - {SPR_JETG, 2, 1, {A_JetgShoot}, 0, 0, S_JETGSHOOT2}, // S_JETGSHOOT1 - {SPR_JETG, 3, 1, {NULL}, 0, 0, S_JETGZOOM1}, // S_JETGSHOOT2 + STATE(SPR_JETG, 0, 4, {A_Look}, 0, 0, S_JETGLOOK2), // S_JETGLOOK1 + STATE(SPR_JETG, 1, 4, {A_Look}, 0, 0, S_JETGLOOK1), // S_JETGLOOK2 + STATE(SPR_JETG, 0, 1, {A_JetgThink}, 0, 0, S_JETGZOOM2), // S_JETGZOOM1 + STATE(SPR_JETG, 1, 1, {A_JetgThink}, 0, 0, S_JETGZOOM1), // S_JETGZOOM2 + STATE(SPR_JETG, 2, 1, {A_JetgShoot}, 0, 0, S_JETGSHOOT2), // S_JETGSHOOT1 + STATE(SPR_JETG, 3, 1, {NULL}, 0, 0, S_JETGZOOM1), // S_JETGSHOOT2 // Crawla Commander - {SPR_CCOM, 0, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND2}, // S_CCOMMAND1 - {SPR_CCOM, 1, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND1}, // S_CCOMMAND2 - {SPR_CCOM, 2, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND4}, // S_CCOMMAND3 - {SPR_CCOM, 3, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND3}, // S_CCOMMAND4 + STATE(SPR_CCOM, 0, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND2), // S_CCOMMAND1 + STATE(SPR_CCOM, 1, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND1), // S_CCOMMAND2 + STATE(SPR_CCOM, 2, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND4), // S_CCOMMAND3 + STATE(SPR_CCOM, 3, 1, {A_CrawlaCommanderThink}, 0, 15*FRACUNIT, S_CCOMMAND3), // S_CCOMMAND4 // Deton - {SPR_DETN, 0, 35, {A_Look}, 0, 0, S_DETON1}, // S_DETON1 - {SPR_DETN, 0, 1, {A_DetonChase}, 0, 0, S_DETON3}, // S_DETON2 - {SPR_DETN, 1, 1, {A_DetonChase}, 0, 0, S_DETON4}, // S_DETON3 - {SPR_DETN, 2, 1, {A_DetonChase}, 0, 0, S_DETON5}, // S_DETON4 - {SPR_DETN, 3, 1, {A_DetonChase}, 0, 0, S_DETON6}, // S_DETON5 - {SPR_DETN, 4, 1, {A_DetonChase}, 0, 0, S_DETON7}, // S_DETON6 - {SPR_DETN, 5, 1, {A_DetonChase}, 0, 0, S_DETON8}, // S_DETON7 - {SPR_DETN, 6, 1, {A_DetonChase}, 0, 0, S_DETON9}, // S_DETON8 - {SPR_DETN, 7, 1, {A_DetonChase}, 0, 0, S_DETON10}, // S_DETON9 - {SPR_DETN, 6, 1, {A_DetonChase}, 0, 0, S_DETON11}, // S_DETON10 - {SPR_DETN, 5, 1, {A_DetonChase}, 0, 0, S_DETON12}, // S_DETON11 - {SPR_DETN, 4, 1, {A_DetonChase}, 0, 0, S_DETON13}, // S_DETON12 - {SPR_DETN, 3, 1, {A_DetonChase}, 0, 0, S_DETON14}, // S_DETON13 - {SPR_DETN, 2, 1, {A_DetonChase}, 0, 0, S_DETON15}, // S_DETON14 - {SPR_DETN, 1, 1, {A_DetonChase}, 0, 0, S_DETON2}, // S_DETON15 + STATE(SPR_DETN, 0, 35, {A_Look}, 0, 0, S_DETON1), // S_DETON1 + STATE(SPR_DETN, 0, 1, {A_DetonChase}, 0, 0, S_DETON3), // S_DETON2 + STATE(SPR_DETN, 1, 1, {A_DetonChase}, 0, 0, S_DETON4), // S_DETON3 + STATE(SPR_DETN, 2, 1, {A_DetonChase}, 0, 0, S_DETON5), // S_DETON4 + STATE(SPR_DETN, 3, 1, {A_DetonChase}, 0, 0, S_DETON6), // S_DETON5 + STATE(SPR_DETN, 4, 1, {A_DetonChase}, 0, 0, S_DETON7), // S_DETON6 + STATE(SPR_DETN, 5, 1, {A_DetonChase}, 0, 0, S_DETON8), // S_DETON7 + STATE(SPR_DETN, 6, 1, {A_DetonChase}, 0, 0, S_DETON9), // S_DETON8 + STATE(SPR_DETN, 7, 1, {A_DetonChase}, 0, 0, S_DETON10), // S_DETON9 + STATE(SPR_DETN, 6, 1, {A_DetonChase}, 0, 0, S_DETON11), // S_DETON10 + STATE(SPR_DETN, 5, 1, {A_DetonChase}, 0, 0, S_DETON12), // S_DETON11 + STATE(SPR_DETN, 4, 1, {A_DetonChase}, 0, 0, S_DETON13), // S_DETON12 + STATE(SPR_DETN, 3, 1, {A_DetonChase}, 0, 0, S_DETON14), // S_DETON13 + STATE(SPR_DETN, 2, 1, {A_DetonChase}, 0, 0, S_DETON15), // S_DETON14 + STATE(SPR_DETN, 1, 1, {A_DetonChase}, 0, 0, S_DETON2), // S_DETON15 // Skim Mine Dropper - {SPR_SKIM, 0, 1, {A_SkimChase}, 0, 0, S_SKIM2}, // S_SKIM1 - {SPR_SKIM, 0, 1, {A_SkimChase}, 0, 0, S_SKIM1}, // S_SKIM2 - {SPR_SKIM, 0, 14, {NULL}, 0, 0, S_SKIM4}, // S_SKIM3 - {SPR_SKIM, 0, 14, {A_DropMine}, 0, 0, S_SKIM1}, // S_SKIM4 + STATE(SPR_SKIM, 0, 1, {A_SkimChase}, 0, 0, S_SKIM2), // S_SKIM1 + STATE(SPR_SKIM, 0, 1, {A_SkimChase}, 0, 0, S_SKIM1), // S_SKIM2 + STATE(SPR_SKIM, 0, 14, {NULL}, 0, 0, S_SKIM4), // S_SKIM3 + STATE(SPR_SKIM, 0, 14, {A_DropMine}, 0, 0, S_SKIM1), // S_SKIM4 // THZ Turret - {SPR_TRET, FF_FULLBRIGHT, 105, {A_TurretStop}, 0, 0, S_TURRETFIRE}, // S_TURRET - {SPR_TRET, FF_FULLBRIGHT, 105, {A_TurretFire}, 0, 0, S_TURRET}, // S_TURRETFIRE - {SPR_TRET, FF_FULLBRIGHT|1, 7, {A_Pain}, 0, 0, S_TURRETSHOCK2}, // S_TURRETSHOCK1 - {SPR_TRET, FF_FULLBRIGHT|2, 7, {NULL}, 0, 0, S_TURRETSHOCK3}, // S_TURRETSHOCK2 - {SPR_TRET, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_TURRETSHOCK4}, // S_TURRETSHOCK3 - {SPR_TRET, FF_FULLBRIGHT|4, 7, {NULL}, 0, 0, S_TURRETSHOCK5}, // S_TURRETSHOCK4 - {SPR_TRET, FF_FULLBRIGHT|1, 7, {NULL}, 0, 0, S_TURRETSHOCK6}, // S_TURRETSHOCK5 - {SPR_TRET, FF_FULLBRIGHT|2, 7, {A_Pain}, 0, 0, S_TURRETSHOCK7}, // S_TURRETSHOCK6 - {SPR_TRET, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_TURRETSHOCK8}, // S_TURRETSHOCK7 - {SPR_TRET, FF_FULLBRIGHT|4, 7, {NULL}, 0, 0, S_TURRETSHOCK9}, // S_TURRETSHOCK8 - {SPR_TRET, FF_FULLBRIGHT|4, 7, {A_LinedefExecuteFromArg}, 0, 0, S_XPLD1}, // S_TURRETSHOCK9 - - {SPR_TURR, 0, 1, {A_Look}, 1, 0, S_TURRETPOPDOWN8}, // S_TURRETLOOK - {SPR_TURR, 0, 0, {A_FaceTarget}, 0, 0, S_TURRETPOPUP1}, // S_TURRETSEE - {SPR_TURR, 1, 2, {A_Pain}, 0, 0, S_TURRETPOPUP2}, // S_TURRETPOPUP1 - {SPR_TURR, 2, 2, {NULL}, 0, 0, S_TURRETPOPUP3}, // S_TURRETPOPUP2 - {SPR_TURR, 3, 2, {NULL}, 0, 0, S_TURRETPOPUP4}, // S_TURRETPOPUP3 - {SPR_TURR, 4, 2, {NULL}, 0, 0, S_TURRETPOPUP5}, // S_TURRETPOPUP4 - {SPR_TURR, 5, 2, {NULL}, 0, 0, S_TURRETPOPUP6}, // S_TURRETPOPUP5 - {SPR_TURR, 6, 2, {NULL}, 0, 0, S_TURRETPOPUP7}, // S_TURRETPOPUP6 - {SPR_TURR, 7, 2, {NULL}, 0, 0, S_TURRETPOPUP8}, // S_TURRETPOPUP7 - {SPR_TURR, 8, 14,{NULL}, 0, 0, S_TURRETSHOOT}, // S_TURRETPOPUP8 - {SPR_TURR, 8, 14,{A_JetgShoot}, 0, 0, S_TURRETPOPDOWN1}, // S_TURRETSHOOT - {SPR_TURR, 7, 2, {A_Pain}, 0, 0, S_TURRETPOPDOWN2}, // S_TURRETPOPDOWN1 - {SPR_TURR, 6, 2, {NULL}, 0, 0, S_TURRETPOPDOWN3}, // S_TURRETPOPDOWN2 - {SPR_TURR, 5, 2, {NULL}, 0, 0, S_TURRETPOPDOWN4}, // S_TURRETPOPDOWN3 - {SPR_TURR, 4, 2, {NULL}, 0, 0, S_TURRETPOPDOWN5}, // S_TURRETPOPDOWN4 - {SPR_TURR, 3, 2, {NULL}, 0, 0, S_TURRETPOPDOWN6}, // S_TURRETPOPDOWN5 - {SPR_TURR, 2, 2, {NULL}, 0, 0, S_TURRETPOPDOWN7}, // S_TURRETPOPDOWN6 - {SPR_TURR, 1, 2, {NULL}, 0, 0, S_TURRETPOPDOWN8}, // S_TURRETPOPDOWN7 - {SPR_TURR, 0, 69,{A_SetTics}, 0, 1, S_TURRETLOOK}, // S_TURRETPOPDOWN8 + STATE(SPR_TRET, FF_FULLBRIGHT, 105, {A_TurretStop}, 0, 0, S_TURRETFIRE), // S_TURRET + STATE(SPR_TRET, FF_FULLBRIGHT, 105, {A_TurretFire}, 0, 0, S_TURRET), // S_TURRETFIRE + STATE(SPR_TRET, FF_FULLBRIGHT|1, 7, {A_Pain}, 0, 0, S_TURRETSHOCK2), // S_TURRETSHOCK1 + STATE(SPR_TRET, FF_FULLBRIGHT|2, 7, {NULL}, 0, 0, S_TURRETSHOCK3), // S_TURRETSHOCK2 + STATE(SPR_TRET, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_TURRETSHOCK4), // S_TURRETSHOCK3 + STATE(SPR_TRET, FF_FULLBRIGHT|4, 7, {NULL}, 0, 0, S_TURRETSHOCK5), // S_TURRETSHOCK4 + STATE(SPR_TRET, FF_FULLBRIGHT|1, 7, {NULL}, 0, 0, S_TURRETSHOCK6), // S_TURRETSHOCK5 + STATE(SPR_TRET, FF_FULLBRIGHT|2, 7, {A_Pain}, 0, 0, S_TURRETSHOCK7), // S_TURRETSHOCK6 + STATE(SPR_TRET, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_TURRETSHOCK8), // S_TURRETSHOCK7 + STATE(SPR_TRET, FF_FULLBRIGHT|4, 7, {NULL}, 0, 0, S_TURRETSHOCK9), // S_TURRETSHOCK8 + STATE(SPR_TRET, FF_FULLBRIGHT|4, 7, {A_LinedefExecuteFromArg}, 0, 0, S_XPLD1), // S_TURRETSHOCK9 + + STATE(SPR_TURR, 0, 1, {A_Look}, 1, 0, S_TURRETPOPDOWN8), // S_TURRETLOOK + STATE(SPR_TURR, 0, 0, {A_FaceTarget}, 0, 0, S_TURRETPOPUP1), // S_TURRETSEE + STATE(SPR_TURR, 1, 2, {A_Pain}, 0, 0, S_TURRETPOPUP2), // S_TURRETPOPUP1 + STATE(SPR_TURR, 2, 2, {NULL}, 0, 0, S_TURRETPOPUP3), // S_TURRETPOPUP2 + STATE(SPR_TURR, 3, 2, {NULL}, 0, 0, S_TURRETPOPUP4), // S_TURRETPOPUP3 + STATE(SPR_TURR, 4, 2, {NULL}, 0, 0, S_TURRETPOPUP5), // S_TURRETPOPUP4 + STATE(SPR_TURR, 5, 2, {NULL}, 0, 0, S_TURRETPOPUP6), // S_TURRETPOPUP5 + STATE(SPR_TURR, 6, 2, {NULL}, 0, 0, S_TURRETPOPUP7), // S_TURRETPOPUP6 + STATE(SPR_TURR, 7, 2, {NULL}, 0, 0, S_TURRETPOPUP8), // S_TURRETPOPUP7 + STATE(SPR_TURR, 8, 14,{NULL}, 0, 0, S_TURRETSHOOT), // S_TURRETPOPUP8 + STATE(SPR_TURR, 8, 14,{A_JetgShoot}, 0, 0, S_TURRETPOPDOWN1), // S_TURRETSHOOT + STATE(SPR_TURR, 7, 2, {A_Pain}, 0, 0, S_TURRETPOPDOWN2), // S_TURRETPOPDOWN1 + STATE(SPR_TURR, 6, 2, {NULL}, 0, 0, S_TURRETPOPDOWN3), // S_TURRETPOPDOWN2 + STATE(SPR_TURR, 5, 2, {NULL}, 0, 0, S_TURRETPOPDOWN4), // S_TURRETPOPDOWN3 + STATE(SPR_TURR, 4, 2, {NULL}, 0, 0, S_TURRETPOPDOWN5), // S_TURRETPOPDOWN4 + STATE(SPR_TURR, 3, 2, {NULL}, 0, 0, S_TURRETPOPDOWN6), // S_TURRETPOPDOWN5 + STATE(SPR_TURR, 2, 2, {NULL}, 0, 0, S_TURRETPOPDOWN7), // S_TURRETPOPDOWN6 + STATE(SPR_TURR, 1, 2, {NULL}, 0, 0, S_TURRETPOPDOWN8), // S_TURRETPOPDOWN7 + STATE(SPR_TURR, 0, 69,{A_SetTics}, 0, 1, S_TURRETLOOK), // S_TURRETPOPDOWN8 // Spincushion - {SPR_SHRP, 0, 2, {A_Look}, 0, 0, S_SPINCUSHION_LOOK}, // S_SPINCUSHION_LOOK - {SPR_SHRP, 1, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE2}, // S_SPINCUSHION_CHASE1 - {SPR_SHRP, 2, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE3}, // S_SPINCUSHION_CHASE2 - {SPR_SHRP, 3, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE4}, // S_SPINCUSHION_CHASE3 - {SPR_SHRP, 0, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE1}, // S_SPINCUSHION_CHASE4 - {SPR_SHRP, 0, 2, {NULL}, 0, 0, S_SPINCUSHION_AIM2}, // S_SPINCUSHION_AIM1 - {SPR_SHRP, 4, 2, {NULL}, 0, 0, S_SPINCUSHION_AIM3}, // S_SPINCUSHION_AIM2 - {SPR_SHRP, 5, 2, {A_SetObjectFlags}, MF_PAIN, 2, S_SPINCUSHION_AIM4}, // S_SPINCUSHION_AIM3 - {SPR_SHRP, 6, 16, {A_MultiShotDist}, (MT_DUST<<16)|6, -32, S_SPINCUSHION_AIM5}, // S_SPINCUSHION_AIM4 - {SPR_SHRP, 6, 0, {A_PlaySound}, sfx_shrpgo, 1, S_SPINCUSHION_SPIN1}, // S_SPINCUSHION_AIM5 - {SPR_SHRP, 6, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN2}, // S_SPINCUSHION_SPIN1 - {SPR_SHRP, 8, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN3}, // S_SPINCUSHION_SPIN2 - {SPR_SHRP, 7, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN4}, // S_SPINCUSHION_SPIN3 - {SPR_SHRP, 8, 1, {A_SharpSpin}, MT_SPINDUST, 0, S_SPINCUSHION_SPIN1}, // S_SPINCUSHION_SPIN4 - {SPR_SHRP, 6, 1, {A_PlaySound}, sfx_s3k69, 1, S_SPINCUSHION_STOP2}, // S_SPINCUSHION_STOP1 - {SPR_SHRP, 6, 4, {A_SharpDecel}, 0, 0, S_SPINCUSHION_STOP2}, // S_SPINCUSHION_STOP2 - {SPR_SHRP, 5, 4, {A_FaceTarget}, 0, 0, S_SPINCUSHION_STOP4}, // S_SPINCUSHION_STOP3 - {SPR_SHRP, 4, 4, {A_SetObjectFlags}, MF_PAIN, 1, S_SPINCUSHION_LOOK}, // S_SPINCUSHION_STOP4 + STATE(SPR_SHRP, 0, 2, {A_Look}, 0, 0, S_SPINCUSHION_LOOK), // S_SPINCUSHION_LOOK + STATE(SPR_SHRP, 1, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE2), // S_SPINCUSHION_CHASE1 + STATE(SPR_SHRP, 2, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE3), // S_SPINCUSHION_CHASE2 + STATE(SPR_SHRP, 3, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE4), // S_SPINCUSHION_CHASE3 + STATE(SPR_SHRP, 0, 2, {A_SharpChase}, 0, 0, S_SPINCUSHION_CHASE1), // S_SPINCUSHION_CHASE4 + STATE(SPR_SHRP, 0, 2, {NULL}, 0, 0, S_SPINCUSHION_AIM2), // S_SPINCUSHION_AIM1 + STATE(SPR_SHRP, 4, 2, {NULL}, 0, 0, S_SPINCUSHION_AIM3), // S_SPINCUSHION_AIM2 + STATE(SPR_SHRP, 5, 2, {A_SetObjectFlags}, MF_PAIN, 2, S_SPINCUSHION_AIM4), // S_SPINCUSHION_AIM3 + STATE(SPR_SHRP, 6, 16, {A_MultiShotDist}, (MT_DUST<<16)|6, -32, S_SPINCUSHION_AIM5), // S_SPINCUSHION_AIM4 + STATE(SPR_SHRP, 6, 0, {A_PlaySound}, sfx_shrpgo, 1, S_SPINCUSHION_SPIN1), // S_SPINCUSHION_AIM5 + STATE(SPR_SHRP, 6, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN2), // S_SPINCUSHION_SPIN1 + STATE(SPR_SHRP, 8, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN3), // S_SPINCUSHION_SPIN2 + STATE(SPR_SHRP, 7, 1, {A_SharpSpin}, 0, 0, S_SPINCUSHION_SPIN4), // S_SPINCUSHION_SPIN3 + STATE(SPR_SHRP, 8, 1, {A_SharpSpin}, MT_SPINDUST, 0, S_SPINCUSHION_SPIN1), // S_SPINCUSHION_SPIN4 + STATE(SPR_SHRP, 6, 1, {A_PlaySound}, sfx_s3k69, 1, S_SPINCUSHION_STOP2), // S_SPINCUSHION_STOP1 + STATE(SPR_SHRP, 6, 4, {A_SharpDecel}, 0, 0, S_SPINCUSHION_STOP2), // S_SPINCUSHION_STOP2 + STATE(SPR_SHRP, 5, 4, {A_FaceTarget}, 0, 0, S_SPINCUSHION_STOP4), // S_SPINCUSHION_STOP3 + STATE(SPR_SHRP, 4, 4, {A_SetObjectFlags}, MF_PAIN, 1, S_SPINCUSHION_LOOK), // S_SPINCUSHION_STOP4 // Crushstacean - {SPR_CRAB, 0, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM2}, // S_CRUSHSTACEAN_ROAM1 - {SPR_CRAB, 1, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM3}, // S_CRUSHSTACEAN_ROAM2 - {SPR_CRAB, 0, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM4}, // S_CRUSHSTACEAN_ROAM3 - {SPR_CRAB, 2, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM1}, // S_CRUSHSTACEAN_ROAM4 - {SPR_CRAB, 0, 40, {NULL}, 0, 0, S_CRUSHSTACEAN_ROAM1}, // S_CRUSHSTACEAN_ROAMPAUSE - {SPR_CRAB, 0, 10, {NULL}, 0, 0, S_CRUSHSTACEAN_PUNCH2}, // S_CRUSHSTACEAN_PUNCH1 - {SPR_CRAB, 0, -1, {A_CrushstaceanPunch}, 0, 0, S_CRUSHSTACEAN_ROAMPAUSE}, // S_CRUSHSTACEAN_PUNCH2 - {SPR_CRAB, 3, 1, {A_CrushclawAim}, 40, 20, S_CRUSHCLAW_AIM}, // S_CRUSHCLAW_AIM - {SPR_CRAB, 3, 1, {A_CrushclawLaunch}, 0, S_CRUSHCLAW_STAY, S_CRUSHCLAW_OUT}, // S_CRUSHCLAW_OUT - {SPR_CRAB, 3, 10, {NULL}, 0, 0, S_CRUSHCLAW_IN}, // S_CRUSHCLAW_STAY - {SPR_CRAB, 3, 1, {A_CrushclawLaunch}, 1, S_CRUSHCLAW_WAIT, S_CRUSHCLAW_IN}, // S_CRUSHCLAW_IN - {SPR_CRAB, 3, 37, {NULL}, 0, 0, S_CRUSHCLAW_AIM}, // S_CRUSHCLAW_WAIT - {SPR_CRAB, 4, -1, {NULL}, 0, 0, S_NULL}, // S_CRUSHCHAIN + STATE(SPR_CRAB, 0, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM2), // S_CRUSHSTACEAN_ROAM1 + STATE(SPR_CRAB, 1, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM3), // S_CRUSHSTACEAN_ROAM2 + STATE(SPR_CRAB, 0, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM4), // S_CRUSHSTACEAN_ROAM3 + STATE(SPR_CRAB, 2, 3, {A_CrushstaceanWalk}, 0, S_CRUSHSTACEAN_ROAMPAUSE, S_CRUSHSTACEAN_ROAM1), // S_CRUSHSTACEAN_ROAM4 + STATE(SPR_CRAB, 0, 40, {NULL}, 0, 0, S_CRUSHSTACEAN_ROAM1), // S_CRUSHSTACEAN_ROAMPAUSE + STATE(SPR_CRAB, 0, 10, {NULL}, 0, 0, S_CRUSHSTACEAN_PUNCH2), // S_CRUSHSTACEAN_PUNCH1 + STATE(SPR_CRAB, 0, -1, {A_CrushstaceanPunch}, 0, 0, S_CRUSHSTACEAN_ROAMPAUSE), // S_CRUSHSTACEAN_PUNCH2 + STATE(SPR_CRAB, 3, 1, {A_CrushclawAim}, 40, 20, S_CRUSHCLAW_AIM), // S_CRUSHCLAW_AIM + STATE(SPR_CRAB, 3, 1, {A_CrushclawLaunch}, 0, S_CRUSHCLAW_STAY, S_CRUSHCLAW_OUT), // S_CRUSHCLAW_OUT + STATE(SPR_CRAB, 3, 10, {NULL}, 0, 0, S_CRUSHCLAW_IN), // S_CRUSHCLAW_STAY + STATE(SPR_CRAB, 3, 1, {A_CrushclawLaunch}, 1, S_CRUSHCLAW_WAIT, S_CRUSHCLAW_IN), // S_CRUSHCLAW_IN + STATE(SPR_CRAB, 3, 37, {NULL}, 0, 0, S_CRUSHCLAW_AIM), // S_CRUSHCLAW_WAIT + STATE(SPR_CRAB, 4, -1, {NULL}, 0, 0, S_NULL), // S_CRUSHCHAIN // Banpyura - {SPR_CR2B, 0, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM2}, // S_BANPYURA_ROAM1 - {SPR_CR2B, 1, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM3}, // S_BANPYURA_ROAM2 - {SPR_CR2B, 0, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM4}, // S_BANPYURA_ROAM3 - {SPR_CR2B, 2, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM1}, // S_BANPYURA_ROAM4 - {SPR_CR2B, 0, 40, {NULL}, 0, 0, S_BANPYURA_ROAM1}, // S_BANPYURA_ROAMPAUSE - - {SPR_CSPR, 0, 1, {A_CrushclawAim}, 50, 20, S_CDIAG1}, // S_CDIAG1 - {SPR_CSPR, 1, 1, {A_Pain}, 0, 0, S_CDIAG3}, // S_CDIAG2 - {SPR_CSPR, 2, 1, {A_CrushclawAim}, 50, 20, S_CDIAG4}, // S_CDIAG3 - {SPR_CSPR, 3, 1, {A_CrushclawAim}, 50, 20, S_CDIAG5}, // S_CDIAG4 - {SPR_CSPR, 4, 1, {A_CrushclawAim}, 50, 20, S_CDIAG6}, // S_CDIAG5 - {SPR_CSPR, 3, 1, {A_CrushclawAim}, 50, 20, S_CDIAG7}, // S_CDIAG6 - {SPR_CSPR, 2, 1, {A_CrushclawAim}, 50, 20, S_CDIAG8}, // S_CDIAG7 - {SPR_CSPR, 1, 1, {A_CrushclawAim}, 50, 20, S_CDIAG1}, // S_CDIAG8 + STATE(SPR_CR2B, 0, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM2), // S_BANPYURA_ROAM1 + STATE(SPR_CR2B, 1, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM3), // S_BANPYURA_ROAM2 + STATE(SPR_CR2B, 0, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM4), // S_BANPYURA_ROAM3 + STATE(SPR_CR2B, 2, 3, {A_CrushstaceanWalk}, 0, S_BANPYURA_ROAMPAUSE, S_BANPYURA_ROAM1), // S_BANPYURA_ROAM4 + STATE(SPR_CR2B, 0, 40, {NULL}, 0, 0, S_BANPYURA_ROAM1), // S_BANPYURA_ROAMPAUSE + + STATE(SPR_CSPR, 0, 1, {A_CrushclawAim}, 50, 20, S_CDIAG1), // S_CDIAG1 + STATE(SPR_CSPR, 1, 1, {A_Pain}, 0, 0, S_CDIAG3), // S_CDIAG2 + STATE(SPR_CSPR, 2, 1, {A_CrushclawAim}, 50, 20, S_CDIAG4), // S_CDIAG3 + STATE(SPR_CSPR, 3, 1, {A_CrushclawAim}, 50, 20, S_CDIAG5), // S_CDIAG4 + STATE(SPR_CSPR, 4, 1, {A_CrushclawAim}, 50, 20, S_CDIAG6), // S_CDIAG5 + STATE(SPR_CSPR, 3, 1, {A_CrushclawAim}, 50, 20, S_CDIAG7), // S_CDIAG6 + STATE(SPR_CSPR, 2, 1, {A_CrushclawAim}, 50, 20, S_CDIAG8), // S_CDIAG7 + STATE(SPR_CSPR, 1, 1, {A_CrushclawAim}, 50, 20, S_CDIAG1), // S_CDIAG8 // Jet Jaw - {SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM2}, // S_JETJAW_ROAM1 - {SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM3}, // S_JETJAW_ROAM2 - {SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM4}, // S_JETJAW_ROAM3 - {SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM5}, // S_JETJAW_ROAM4 - {SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM6}, // S_JETJAW_ROAM5 - {SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM7}, // S_JETJAW_ROAM6 - {SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM8}, // S_JETJAW_ROAM7 - {SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM1}, // S_JETJAW_ROAM8 - {SPR_JJAW, 0, 1, {A_DualAction}, S_JETJAW_CHOMP16, S_JETJAW_SOUND, S_JETJAW_CHOMP2}, // S_JETJAW_CHOMP1 - {SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP3}, // S_JETJAW_CHOMP2 - {SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP4}, // S_JETJAW_CHOMP3 - {SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP5}, // S_JETJAW_CHOMP4 - {SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP6}, // S_JETJAW_CHOMP5 - {SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP7}, // S_JETJAW_CHOMP6 - {SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP8}, // S_JETJAW_CHOMP7 - {SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP9}, // S_JETJAW_CHOMP8 - {SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP10}, // S_JETJAW_CHOMP9 - {SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP11}, // S_JETJAW_CHOMP10 - {SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP12}, // S_JETJAW_CHOMP11 - {SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP13}, // S_JETJAW_CHOMP12 - {SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP14}, // S_JETJAW_CHOMP13 - {SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP15}, // S_JETJAW_CHOMP14 - {SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP16}, // S_JETJAW_CHOMP15 - {SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP1}, // S_JETJAW_CHOMP16 - {SPR_JJAW, 0, 1, {A_PlayAttackSound}, 0, 0, S_JETJAW_SOUND}, // S_JETJAW_SOUND + STATE(SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM2), // S_JETJAW_ROAM1 + STATE(SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM3), // S_JETJAW_ROAM2 + STATE(SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM4), // S_JETJAW_ROAM3 + STATE(SPR_JJAW, 0, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM5), // S_JETJAW_ROAM4 + STATE(SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM6), // S_JETJAW_ROAM5 + STATE(SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM7), // S_JETJAW_ROAM6 + STATE(SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM8), // S_JETJAW_ROAM7 + STATE(SPR_JJAW, 1, 1, {A_JetJawRoam}, 0, 0, S_JETJAW_ROAM1), // S_JETJAW_ROAM8 + STATE(SPR_JJAW, 0, 1, {A_DualAction}, S_JETJAW_CHOMP16, S_JETJAW_SOUND, S_JETJAW_CHOMP2), // S_JETJAW_CHOMP1 + STATE(SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP3), // S_JETJAW_CHOMP2 + STATE(SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP4), // S_JETJAW_CHOMP3 + STATE(SPR_JJAW, 0, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP5), // S_JETJAW_CHOMP4 + STATE(SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP6), // S_JETJAW_CHOMP5 + STATE(SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP7), // S_JETJAW_CHOMP6 + STATE(SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP8), // S_JETJAW_CHOMP7 + STATE(SPR_JJAW, 1, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP9), // S_JETJAW_CHOMP8 + STATE(SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP10), // S_JETJAW_CHOMP9 + STATE(SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP11), // S_JETJAW_CHOMP10 + STATE(SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP12), // S_JETJAW_CHOMP11 + STATE(SPR_JJAW, 2, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP13), // S_JETJAW_CHOMP12 + STATE(SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP14), // S_JETJAW_CHOMP13 + STATE(SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP15), // S_JETJAW_CHOMP14 + STATE(SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP16), // S_JETJAW_CHOMP15 + STATE(SPR_JJAW, 3, 1, {A_JetJawChomp}, 0, 0, S_JETJAW_CHOMP1), // S_JETJAW_CHOMP16 + STATE(SPR_JJAW, 0, 1, {A_PlayAttackSound}, 0, 0, S_JETJAW_SOUND), // S_JETJAW_SOUND // Snailer - {SPR_SNLR, 0, 1, {A_SnailerThink}, 0, 0, S_SNAILER1}, // S_SNAILER1 - {SPR_BOM1, 0, 0, {A_FlickySpawn}, 1<<17, 0, S_XPLD1}, // S_SNAILER_FLICKY + STATE(SPR_SNLR, 0, 1, {A_SnailerThink}, 0, 0, S_SNAILER1), // S_SNAILER1 + STATE(SPR_BOM1, 0, 0, {A_FlickySpawn}, 1<<17, 0, S_XPLD1), // S_SNAILER_FLICKY // Vulture - {SPR_VLTR, 4, 35, {A_Look}, 1, 0, S_VULTURE_STND}, // S_VULTURE_STND - {SPR_VLTR, 4, 3, {A_VultureHover}, 0, 0, S_VULTURE_DRIFT}, // S_VULTURE_DRIFT - {SPR_VLTR, 0, 6, {A_VultureBlast}, 0, 0, S_VULTURE_ZOOM2}, // S_VULTURE_ZOOM1 - {SPR_VLTR, 0, 3, {A_VultureFly}, 0, 0, S_VULTURE_ZOOM2}, // S_VULTURE_ZOOM2 - {SPR_VLTR, 0, 3*TICRATE, {NULL}, 0, 0, S_VULTURE_DRIFT}, // S_VULTURE_STUNNED + STATE(SPR_VLTR, 4, 35, {A_Look}, 1, 0, S_VULTURE_STND), // S_VULTURE_STND + STATE(SPR_VLTR, 4, 3, {A_VultureHover}, 0, 0, S_VULTURE_DRIFT), // S_VULTURE_DRIFT + STATE(SPR_VLTR, 0, 6, {A_VultureBlast}, 0, 0, S_VULTURE_ZOOM2), // S_VULTURE_ZOOM1 + STATE(SPR_VLTR, 0, 3, {A_VultureFly}, 0, 0, S_VULTURE_ZOOM2), // S_VULTURE_ZOOM2 + STATE(SPR_VLTR, 0, 3*TICRATE, {NULL}, 0, 0, S_VULTURE_DRIFT), // S_VULTURE_STUNNED // Pointy - {SPR_PNTY, 0, 1, {A_PointyThink}, 0, 0, S_POINTY1}, // S_POINTY1 + STATE(SPR_PNTY, 0, 1, {A_PointyThink}, 0, 0, S_POINTY1), // S_POINTY1 // Pointy Ball - {SPR_PNTY, 1, 1, {A_CheckBuddy}, 0, 0, S_POINTYBALL1}, // S_POINTYBALL1 + STATE(SPR_PNTY, 1, 1, {A_CheckBuddy}, 0, 0, S_POINTYBALL1), // S_POINTYBALL1 // Robo-Hood - {SPR_ARCH, 0, 4, {A_Look}, 2048<<FRACBITS, 0, S_ROBOHOOD_LOOK}, // S_ROBOHOOD_LOOK - {SPR_ARCH, 0, 1, {A_HoodThink}, 0, 0, S_ROBOHOOD_STAND}, // S_ROBOHOOD_STAND - {SPR_ARCH, 2, TICRATE, {A_PlayActiveSound}, 0, 0, S_ROBOHOOD_FIRE2}, // S_ROBOHOOD_FIRE1 - {SPR_ARCH, 2, 20, {A_HoodFire}, MT_ARROW, 0, S_ROBOHOOD_STAND}, // S_ROBOHOOD_FIRE2 - {SPR_ARCH, 1, 1, {A_FaceTarget}, 0, 0, S_ROBOHOOD_JUMP2}, // S_ROBOHOOD_JUMP1 - {SPR_ARCH, 1, 1, {A_BunnyHop}, 4, -10, S_ROBOHOOD_JUMP3}, // S_ROBOHOOD_JUMP2 - {SPR_ARCH, 1, 1, {A_HoodFall}, 0, 0, S_ROBOHOOD_JUMP3}, // S_ROBOHOOD_JUMP3 + STATE(SPR_ARCH, 0, 4, {A_Look}, 2048<<FRACBITS, 0, S_ROBOHOOD_LOOK), // S_ROBOHOOD_LOOK + STATE(SPR_ARCH, 0, 1, {A_HoodThink}, 0, 0, S_ROBOHOOD_STAND), // S_ROBOHOOD_STAND + STATE(SPR_ARCH, 2, TICRATE, {A_PlayActiveSound}, 0, 0, S_ROBOHOOD_FIRE2), // S_ROBOHOOD_FIRE1 + STATE(SPR_ARCH, 2, 20, {A_HoodFire}, MT_ARROW, 0, S_ROBOHOOD_STAND), // S_ROBOHOOD_FIRE2 + STATE(SPR_ARCH, 1, 1, {A_FaceTarget}, 0, 0, S_ROBOHOOD_JUMP2), // S_ROBOHOOD_JUMP1 + STATE(SPR_ARCH, 1, 1, {A_BunnyHop}, 4, -10, S_ROBOHOOD_JUMP3), // S_ROBOHOOD_JUMP2 + STATE(SPR_ARCH, 1, 1, {A_HoodFall}, 0, 0, S_ROBOHOOD_JUMP3), // S_ROBOHOOD_JUMP3 // Castlebot Facestabber - {SPR_CBFS, 0, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND2}, // S_FACESTABBER_STND1 - {SPR_CBFS, 1, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND3}, // S_FACESTABBER_STND2 - {SPR_CBFS, 2, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND4}, // S_FACESTABBER_STND3 - {SPR_CBFS, 3, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND5}, // S_FACESTABBER_STND4 - {SPR_CBFS, 4, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND6}, // S_FACESTABBER_STND5 - {SPR_CBFS, 5, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND1}, // S_FACESTABBER_STND6 - {SPR_CBFS, 0, 1, {A_FaceStabRev}, 20, S_FACESTABBER_CHARGE2, S_FACESTABBER_CHARGE1}, // S_FACESTABBER_CHARGE1 - {SPR_CBFS, 0, 0, {A_FaceTarget}, 0, 0, S_FACESTABBER_CHARGE3}, // S_FACESTABBER_CHARGE2 - {SPR_CBFS, 7, 1, {A_FaceStabHurl}, 6, S_FACESTABBER_CHARGE4, S_FACESTABBER_CHARGE3}, // S_FACESTABBER_CHARGE3 - {SPR_CBFS, 7, 1, {A_FaceStabMiss}, 0, S_FACESTABBER_STND1, S_FACESTABBER_CHARGE4}, // S_FACESTABBER_CHARGE4 - {SPR_CBFS, 0, 35, {A_Pain}, 0, 0, S_FACESTABBER_STND1}, // S_FACESTABBER_PAIN - {SPR_CBFS, 0, 2, {A_BossScream}, 1, 0, S_FACESTABBER_DIE2}, // S_FACESTABBER_DIE1 - {SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_FACESTABBER_DIE3}, // S_FACESTABBER_DIE2 - {SPR_NULL, 0, 0, {A_Repeat}, 7, S_FACESTABBER_DIE1, S_XPLD_FLICKY}, // S_FACESTABBER_DIE3 - - {SPR_STAB, FF_PAPERSPRITE|FF_TRANS50|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_FACESTABBERSPEAR + STATE(SPR_CBFS, 0, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND2), // S_FACESTABBER_STND1 + STATE(SPR_CBFS, 1, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND3), // S_FACESTABBER_STND2 + STATE(SPR_CBFS, 2, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND4), // S_FACESTABBER_STND3 + STATE(SPR_CBFS, 3, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND5), // S_FACESTABBER_STND4 + STATE(SPR_CBFS, 4, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND6), // S_FACESTABBER_STND5 + STATE(SPR_CBFS, 5, 1, {A_Chase}, 0, 0, S_FACESTABBER_STND1), // S_FACESTABBER_STND6 + STATE(SPR_CBFS, 0, 1, {A_FaceStabRev}, 20, S_FACESTABBER_CHARGE2, S_FACESTABBER_CHARGE1), // S_FACESTABBER_CHARGE1 + STATE(SPR_CBFS, 0, 0, {A_FaceTarget}, 0, 0, S_FACESTABBER_CHARGE3), // S_FACESTABBER_CHARGE2 + STATE(SPR_CBFS, 7, 1, {A_FaceStabHurl}, 6, S_FACESTABBER_CHARGE4, S_FACESTABBER_CHARGE3), // S_FACESTABBER_CHARGE3 + STATE(SPR_CBFS, 7, 1, {A_FaceStabMiss}, 0, S_FACESTABBER_STND1, S_FACESTABBER_CHARGE4), // S_FACESTABBER_CHARGE4 + STATE(SPR_CBFS, 0, 35, {A_Pain}, 0, 0, S_FACESTABBER_STND1), // S_FACESTABBER_PAIN + STATE(SPR_CBFS, 0, 2, {A_BossScream}, 1, 0, S_FACESTABBER_DIE2), // S_FACESTABBER_DIE1 + STATE(SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_FACESTABBER_DIE3), // S_FACESTABBER_DIE2 + STATE(SPR_NULL, 0, 0, {A_Repeat}, 7, S_FACESTABBER_DIE1, S_XPLD_FLICKY), // S_FACESTABBER_DIE3 + + STATE(SPR_STAB, FF_PAPERSPRITE|FF_TRANS50|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_FACESTABBERSPEAR // Egg Guard - {SPR_SPSH, 0, 1, {A_Look}, 0, 0, S_EGGGUARD_STND}, // S_EGGGUARD_STND - {SPR_SPSH, 1, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK2}, // S_EGGGUARD_WALK1 - {SPR_SPSH, 2, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK3}, // S_EGGGUARD_WALK2 - {SPR_SPSH, 3, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK4}, // S_EGGGUARD_WALK3 - {SPR_SPSH, 4, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK1}, // S_EGGGUARD_WALK4 - {SPR_SPSH, 5, 5, {NULL}, 0, 0, S_EGGGUARD_MAD2}, // S_EGGGUARD_MAD1 - {SPR_SPSH, 6, 5, {NULL}, 0, 0, S_EGGGUARD_MAD3}, // S_EGGGUARD_MAD2 - {SPR_SPSH, 7, 15, {NULL}, 0, 0, S_EGGGUARD_RUN1}, // S_EGGGUARD_MAD3 - {SPR_SPSH, 8, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN2}, // S_EGGGUARD_RUN1 - {SPR_SPSH, 9, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN3}, // S_EGGGUARD_RUN2 - {SPR_SPSH, 10, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN4}, // S_EGGGUARD_RUN3 - {SPR_SPSH, 11, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN1}, // S_EGGGUARD_RUN4 - - {SPR_ESHI, 0, 8, {A_EggShield}, 0, 0, S_EGGSHIELD}, // S_EGGSHIELD - {SPR_ESHI, 0, TICRATE/2, {NULL}, 0, 0, S_NULL}, // S_EGGSHIELDBREAK + STATE(SPR_SPSH, 0, 1, {A_Look}, 0, 0, S_EGGGUARD_STND), // S_EGGGUARD_STND + STATE(SPR_SPSH, 1, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK2), // S_EGGGUARD_WALK1 + STATE(SPR_SPSH, 2, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK3), // S_EGGGUARD_WALK2 + STATE(SPR_SPSH, 3, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK4), // S_EGGGUARD_WALK3 + STATE(SPR_SPSH, 4, 3, {A_GuardChase}, 0, 0, S_EGGGUARD_WALK1), // S_EGGGUARD_WALK4 + STATE(SPR_SPSH, 5, 5, {NULL}, 0, 0, S_EGGGUARD_MAD2), // S_EGGGUARD_MAD1 + STATE(SPR_SPSH, 6, 5, {NULL}, 0, 0, S_EGGGUARD_MAD3), // S_EGGGUARD_MAD2 + STATE(SPR_SPSH, 7, 15, {NULL}, 0, 0, S_EGGGUARD_RUN1), // S_EGGGUARD_MAD3 + STATE(SPR_SPSH, 8, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN2), // S_EGGGUARD_RUN1 + STATE(SPR_SPSH, 9, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN3), // S_EGGGUARD_RUN2 + STATE(SPR_SPSH, 10, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN4), // S_EGGGUARD_RUN3 + STATE(SPR_SPSH, 11, 1, {A_GuardChase}, 0, 0, S_EGGGUARD_RUN1), // S_EGGGUARD_RUN4 + + STATE(SPR_ESHI, 0, 8, {A_EggShield}, 0, 0, S_EGGSHIELD), // S_EGGSHIELD + STATE(SPR_ESHI, 0, TICRATE/2, {NULL}, 0, 0, S_NULL), // S_EGGSHIELDBREAK // Green Snapper - {SPR_GSNP, 0, TICRATE, {NULL}, 0, 0, S_SNAPPER_SPAWN2}, // S_SNAPPER_SPAWN - {SPR_GSNP, 0, 2, {A_SnapperSpawn}, MT_SNAPPER_LEG, MT_SNAPPER_HEAD, S_GSNAPPER_STND}, // S_SNAPPER_SPAWN2 - {SPR_GSNP, 0, 1, {A_SnapperThinker}, 0, 0, S_GSNAPPER_STND}, // S_GSNAPPER_STND - {SPR_GSNP, 0, 2, {A_Chase}, 0, 0, S_GSNAPPER2}, // S_GSNAPPER1 - {SPR_GSNP, 1, 2, {A_Chase}, 0, 0, S_GSNAPPER3}, // S_GSNAPPER2 - {SPR_GSNP, 2, 2, {A_Chase}, 0, 0, S_GSNAPPER4}, // S_GSNAPPER3 - {SPR_GSNP, 3, 2, {A_Chase}, 0, 0, S_GSNAPPER1}, // S_GSNAPPER4 - {SPR_GSNP, 0, 0, {A_KillSegments}, 0, 0, S_XPLD_FLICKY}, // S_SNAPPER_XPLD - {SPR_GSNL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SNAPPER_LEG - {SPR_GSNL, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SNAPPER_LEGRAISE - {SPR_GSNH, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SNAPPER_HEAD + STATE(SPR_GSNP, 0, TICRATE, {NULL}, 0, 0, S_SNAPPER_SPAWN2), // S_SNAPPER_SPAWN + STATE(SPR_GSNP, 0, 2, {A_SnapperSpawn}, MT_SNAPPER_LEG, MT_SNAPPER_HEAD, S_GSNAPPER_STND), // S_SNAPPER_SPAWN2 + STATE(SPR_GSNP, 0, 1, {A_SnapperThinker}, 0, 0, S_GSNAPPER_STND), // S_GSNAPPER_STND + STATE(SPR_GSNP, 0, 2, {A_Chase}, 0, 0, S_GSNAPPER2), // S_GSNAPPER1 + STATE(SPR_GSNP, 1, 2, {A_Chase}, 0, 0, S_GSNAPPER3), // S_GSNAPPER2 + STATE(SPR_GSNP, 2, 2, {A_Chase}, 0, 0, S_GSNAPPER4), // S_GSNAPPER3 + STATE(SPR_GSNP, 3, 2, {A_Chase}, 0, 0, S_GSNAPPER1), // S_GSNAPPER4 + STATE(SPR_GSNP, 0, 0, {A_KillSegments}, 0, 0, S_XPLD_FLICKY), // S_SNAPPER_XPLD + STATE(SPR_GSNL, 0, -1, {NULL}, 0, 0, S_NULL), // S_SNAPPER_LEG + STATE(SPR_GSNL, 1, -1, {NULL}, 0, 0, S_NULL), // S_SNAPPER_LEGRAISE + STATE(SPR_GSNH, 0, -1, {NULL}, 0, 0, S_NULL), // S_SNAPPER_HEAD // Minus - {SPR_MNUD, 0, 1, {NULL}, 0, 0, S_MINUS_STND}, // S_MINUS_INIT (required for objectplace to work) - {SPR_NULL, 0, 10, {A_Look}, 0, 0, S_MINUS_STND}, // S_MINUS_STND - {SPR_NULL, 0, 1, {A_MinusDigging}, 1, 0, S_MINUS_DIGGING2}, // S_MINUS_DIGGING1 - {SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING3}, // S_MINUS_DIGGING2 - {SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING4}, // S_MINUS_DIGGING3 - {SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING1}, // S_MINUS_DIGGING4 - {SPR_NULL, 0, 25, {NULL}, 0, 0, S_MINUS_POPUP}, // S_MINUS_BURST0 - {SPR_MNUD, FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST2}, // S_MINUS_BURST1 - {SPR_MNUD, 1|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST3}, // S_MINUS_BURST2 - {SPR_MNUD, 2|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST4}, // S_MINUS_BURST3 - {SPR_MNUD, 3|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST5}, // S_MINUS_BURST4 - {SPR_MNUD, 4|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUSDIRT2}, // S_MINUS_BURST5 - {SPR_MNUS, 3, 1, {A_MinusPopup}, 0, 0, S_MINUS_AERIAL1}, // S_MINUS_POPUP - {SPR_MNUS, 0, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL2}, // S_MINUS_AERIAL1 - {SPR_MNUS, 1, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL3}, // S_MINUS_AERIAL2 - {SPR_MNUS, 2, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL4}, // S_MINUS_AERIAL3 - {SPR_MNUS, 3, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL1}, // S_MINUS_AERIAL4 - - {SPR_MNUD, FF_ANIMATE, 6, {NULL}, 1, 5, S_MINUSDIRT2}, // S_MINUSDIRT1 - {SPR_MNUD, 5, 8, {NULL}, 3, 5, S_MINUSDIRT3}, // S_MINUSDIRT2 - {SPR_MNUD, 4, 8, {NULL}, 3, 5, S_MINUSDIRT4}, // S_MINUSDIRT3 - {SPR_MNUD, 3, 8, {NULL}, 3, 5, S_MINUSDIRT5}, // S_MINUSDIRT4 - {SPR_MNUD, 2, 8, {NULL}, 3, 5, S_MINUSDIRT6}, // S_MINUSDIRT5 - {SPR_MNUD, 1, 8, {NULL}, 3, 5, S_MINUSDIRT7}, // S_MINUSDIRT6 - {SPR_MNUD, 0, 8, {NULL}, 3, 5, S_NULL}, // S_MINUSDIRT7 + STATE(SPR_MNUD, 0, 1, {NULL}, 0, 0, S_MINUS_STND), // S_MINUS_INIT (required for objectplace to work) + STATE(SPR_NULL, 0, 10, {A_Look}, 0, 0, S_MINUS_STND), // S_MINUS_STND + STATE(SPR_NULL, 0, 1, {A_MinusDigging}, 1, 0, S_MINUS_DIGGING2), // S_MINUS_DIGGING1 + STATE(SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING3), // S_MINUS_DIGGING2 + STATE(SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING4), // S_MINUS_DIGGING3 + STATE(SPR_NULL, 0, 1, {A_MinusDigging}, 0, 0, S_MINUS_DIGGING1), // S_MINUS_DIGGING4 + STATE(SPR_NULL, 0, 25, {NULL}, 0, 0, S_MINUS_POPUP), // S_MINUS_BURST0 + STATE(SPR_MNUD, FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST2), // S_MINUS_BURST1 + STATE(SPR_MNUD, 1|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST3), // S_MINUS_BURST2 + STATE(SPR_MNUD, 2|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST4), // S_MINUS_BURST3 + STATE(SPR_MNUD, 3|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUS_BURST5), // S_MINUS_BURST4 + STATE(SPR_MNUD, 4|FF_ANIMATE, 5, {NULL}, 1, 2, S_MINUSDIRT2), // S_MINUS_BURST5 + STATE(SPR_MNUS, 3, 1, {A_MinusPopup}, 0, 0, S_MINUS_AERIAL1), // S_MINUS_POPUP + STATE(SPR_MNUS, 0, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL2), // S_MINUS_AERIAL1 + STATE(SPR_MNUS, 1, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL3), // S_MINUS_AERIAL2 + STATE(SPR_MNUS, 2, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL4), // S_MINUS_AERIAL3 + STATE(SPR_MNUS, 3, 1, {A_MinusCheck}, 0, 1, S_MINUS_AERIAL1), // S_MINUS_AERIAL4 + + STATE(SPR_MNUD, FF_ANIMATE, 6, {NULL}, 1, 5, S_MINUSDIRT2), // S_MINUSDIRT1 + STATE(SPR_MNUD, 5, 8, {NULL}, 3, 5, S_MINUSDIRT3), // S_MINUSDIRT2 + STATE(SPR_MNUD, 4, 8, {NULL}, 3, 5, S_MINUSDIRT4), // S_MINUSDIRT3 + STATE(SPR_MNUD, 3, 8, {NULL}, 3, 5, S_MINUSDIRT5), // S_MINUSDIRT4 + STATE(SPR_MNUD, 2, 8, {NULL}, 3, 5, S_MINUSDIRT6), // S_MINUSDIRT5 + STATE(SPR_MNUD, 1, 8, {NULL}, 3, 5, S_MINUSDIRT7), // S_MINUSDIRT6 + STATE(SPR_MNUD, 0, 8, {NULL}, 3, 5, S_NULL), // S_MINUSDIRT7 // Spring Shell - {SPR_SSHL, 0, 4, {A_Look}, 0, 0, S_SSHELL_STND}, // S_SSHELL_STND - {SPR_SSHL, 0, 4, {A_Chase}, 0, 0, S_SSHELL_RUN2}, // S_SSHELL_RUN1 - {SPR_SSHL, 1, 4, {A_Chase}, 0, 0, S_SSHELL_RUN3}, // S_SSHELL_RUN2 - {SPR_SSHL, 2, 4, {A_Chase}, 0, 0, S_SSHELL_RUN4}, // S_SSHELL_RUN3 - {SPR_SSHL, 3, 4, {A_Chase}, 0, 0, S_SSHELL_RUN1}, // S_SSHELL_RUN4 - {SPR_SSHL, 7, 4, {A_Pain}, 0, 0, S_SSHELL_SPRING2}, // S_SSHELL_SPRING1 - {SPR_SSHL, 6, 1, {NULL}, 0, 0, S_SSHELL_SPRING3}, // S_SSHELL_SPRING2 - {SPR_SSHL, 5, 1, {NULL}, 0, 0, S_SSHELL_SPRING4}, // S_SSHELL_SPRING3 - {SPR_SSHL, 4, 1, {NULL}, 0, 0, S_SSHELL_RUN1}, // S_SSHELL_SPRING4 + STATE(SPR_SSHL, 0, 4, {A_Look}, 0, 0, S_SSHELL_STND), // S_SSHELL_STND + STATE(SPR_SSHL, 0, 4, {A_Chase}, 0, 0, S_SSHELL_RUN2), // S_SSHELL_RUN1 + STATE(SPR_SSHL, 1, 4, {A_Chase}, 0, 0, S_SSHELL_RUN3), // S_SSHELL_RUN2 + STATE(SPR_SSHL, 2, 4, {A_Chase}, 0, 0, S_SSHELL_RUN4), // S_SSHELL_RUN3 + STATE(SPR_SSHL, 3, 4, {A_Chase}, 0, 0, S_SSHELL_RUN1), // S_SSHELL_RUN4 + STATE(SPR_SSHL, 7, 4, {A_Pain}, 0, 0, S_SSHELL_SPRING2), // S_SSHELL_SPRING1 + STATE(SPR_SSHL, 6, 1, {NULL}, 0, 0, S_SSHELL_SPRING3), // S_SSHELL_SPRING2 + STATE(SPR_SSHL, 5, 1, {NULL}, 0, 0, S_SSHELL_SPRING4), // S_SSHELL_SPRING3 + STATE(SPR_SSHL, 4, 1, {NULL}, 0, 0, S_SSHELL_RUN1), // S_SSHELL_SPRING4 // Spring Shell (yellow) - {SPR_SSHL, 8, 4, {A_Look}, 0, 0, S_YSHELL_STND}, // S_YSHELL_STND - {SPR_SSHL, 8, 4, {A_Chase}, 0, 0, S_YSHELL_RUN2}, // S_YSHELL_RUN1 - {SPR_SSHL, 9, 4, {A_Chase}, 0, 0, S_YSHELL_RUN3}, // S_YSHELL_RUN2 - {SPR_SSHL, 10, 4, {A_Chase}, 0, 0, S_YSHELL_RUN4}, // S_YSHELL_RUN3 - {SPR_SSHL, 11, 4, {A_Chase}, 0, 0, S_YSHELL_RUN1}, // S_YSHELL_RUN4 - {SPR_SSHL, 15, 4, {A_Pain}, 0, 0, S_YSHELL_SPRING2}, // S_YSHELL_SPRING1 - {SPR_SSHL, 14, 1, {NULL}, 0, 0, S_YSHELL_SPRING3}, // S_YSHELL_SPRING2 - {SPR_SSHL, 13, 1, {NULL}, 0, 0, S_YSHELL_SPRING4}, // S_YSHELL_SPRING3 - {SPR_SSHL, 12, 1, {NULL}, 0, 0, S_YSHELL_RUN1}, // S_YSHELL_SPRING4 + STATE(SPR_SSHL, 8, 4, {A_Look}, 0, 0, S_YSHELL_STND), // S_YSHELL_STND + STATE(SPR_SSHL, 8, 4, {A_Chase}, 0, 0, S_YSHELL_RUN2), // S_YSHELL_RUN1 + STATE(SPR_SSHL, 9, 4, {A_Chase}, 0, 0, S_YSHELL_RUN3), // S_YSHELL_RUN2 + STATE(SPR_SSHL, 10, 4, {A_Chase}, 0, 0, S_YSHELL_RUN4), // S_YSHELL_RUN3 + STATE(SPR_SSHL, 11, 4, {A_Chase}, 0, 0, S_YSHELL_RUN1), // S_YSHELL_RUN4 + STATE(SPR_SSHL, 15, 4, {A_Pain}, 0, 0, S_YSHELL_SPRING2), // S_YSHELL_SPRING1 + STATE(SPR_SSHL, 14, 1, {NULL}, 0, 0, S_YSHELL_SPRING3), // S_YSHELL_SPRING2 + STATE(SPR_SSHL, 13, 1, {NULL}, 0, 0, S_YSHELL_SPRING4), // S_YSHELL_SPRING3 + STATE(SPR_SSHL, 12, 1, {NULL}, 0, 0, S_YSHELL_RUN1), // S_YSHELL_SPRING4 // Unidus - {SPR_UNID, 0, 4, {A_Look}, 0, 0, S_UNIDUS_STND}, // S_UNIDUS_STND - {SPR_UNID, 0, 1, {A_Chase}, 0, 0, S_UNIDUS_RUN }, // S_UNIDUS_RUN - {SPR_UNID, 1, 1, {A_UnidusBall}, 1, 0, S_UNIDUS_BALL}, // S_UNIDUS_BALL + STATE(SPR_UNID, 0, 4, {A_Look}, 0, 0, S_UNIDUS_STND), // S_UNIDUS_STND + STATE(SPR_UNID, 0, 1, {A_Chase}, 0, 0, S_UNIDUS_RUN ), // S_UNIDUS_RUN + STATE(SPR_UNID, 1, 1, {A_UnidusBall}, 1, 0, S_UNIDUS_BALL), // S_UNIDUS_BALL // Canarivore - {SPR_CANA, 0, 5, {A_Look}, 1200*FRACUNIT+1, 1, S_CANARIVORE_LOOK}, // S_CANARIVORE_LOOK - {SPR_CANA, 0, 3, {A_PlaySound}, sfx_s3k76, 1, S_CANARIVORE_AWAKEN2}, // S_CANARIVORE_AWAKEN1 - {SPR_CANA, 1, 5, {NULL}, 0, 0, S_CANARIVORE_AWAKEN3}, // S_CANARIVORE_AWAKEN2 - {SPR_CANA, 2, 8, {NULL}, 0, 0, S_CANARIVORE_GAS1}, // S_CANARIVORE_AWAKEN3 - {SPR_CANA, 2, 15, {A_PlaySound}, sfx_s3k93, 1, S_CANARIVORE_GAS2}, // S_CANARIVORE_GAS1 - {SPR_CANA, 1, 4, {NULL}, 0, 0, S_CANARIVORE_GAS3}, // S_CANARIVORE_GAS2 - {SPR_CANA, 2, 0, {A_PlaySound}, sfx_s3k97, 1, S_CANARIVORE_GAS4}, // S_CANARIVORE_GAS3 - {SPR_CANA, 2, 5, {A_CanarivoreGas}, MT_CANARIVORE_GAS, 0, S_CANARIVORE_GAS5}, // S_CANARIVORE_GAS4 - {SPR_CANA, 1, 5, {NULL}, 0, 0, S_CANARIVORE_GASREPEAT}, // S_CANARIVORE_GAS5 - {SPR_CANA, 2, 0, {A_Repeat}, 6, S_CANARIVORE_GAS4, S_CANARIVORE_CLOSE1}, // S_CANARIVORE_GASREPEAT - {SPR_CANA, 1, 8, {NULL}, 0, 0, S_CANARIVORE_CLOSE2}, // S_CANARIVORE_CLOSE1 - {SPR_CANA, 0, 90, {NULL}, sfx_s3k5d, 1, S_CANARIVORE_LOOK}, // S_CANARIVORE_CLOSE2 - - {SPR_CANG, 0|FF_TRANS90, 2, {NULL}, 0, 0, S_CANARIVOREGAS_2}, // S_CANARIVOREGAS_1 - {SPR_CANG, 0|FF_TRANS30, 2*TICRATE, {A_SetRandomTics}, 2, TICRATE, S_CANARIVOREGAS_3}, // S_CANARIVOREGAS_2 - {SPR_CANG, 0|FF_TRANS40, 10, {NULL}, 0, 0, S_CANARIVOREGAS_4}, // S_CANARIVOREGAS_3 - {SPR_CANG, 0|FF_TRANS50, 10, {NULL}, 0, 0, S_CANARIVOREGAS_5}, // S_CANARIVOREGAS_4 - {SPR_CANG, 0|FF_TRANS60, 10, {NULL}, 0, 0, S_CANARIVOREGAS_6}, // S_CANARIVOREGAS_5 - {SPR_CANG, 0|FF_TRANS70, 10, {NULL}, 0, 0, S_CANARIVOREGAS_7}, // S_CANARIVOREGAS_6 - {SPR_CANG, 0|FF_TRANS80, 10, {NULL}, 0, 0, S_CANARIVOREGAS_8}, // S_CANARIVOREGAS_7 - {SPR_CANG, 0|FF_TRANS90, 10, {NULL}, 0, 0, S_NULL}, // S_CANARIVOREGAS_8 + STATE(SPR_CANA, 0, 5, {A_Look}, 1200*FRACUNIT+1, 1, S_CANARIVORE_LOOK), // S_CANARIVORE_LOOK + STATE(SPR_CANA, 0, 3, {A_PlaySound}, sfx_s3k76, 1, S_CANARIVORE_AWAKEN2), // S_CANARIVORE_AWAKEN1 + STATE(SPR_CANA, 1, 5, {NULL}, 0, 0, S_CANARIVORE_AWAKEN3), // S_CANARIVORE_AWAKEN2 + STATE(SPR_CANA, 2, 8, {NULL}, 0, 0, S_CANARIVORE_GAS1), // S_CANARIVORE_AWAKEN3 + STATE(SPR_CANA, 2, 15, {A_PlaySound}, sfx_s3k93, 1, S_CANARIVORE_GAS2), // S_CANARIVORE_GAS1 + STATE(SPR_CANA, 1, 4, {NULL}, 0, 0, S_CANARIVORE_GAS3), // S_CANARIVORE_GAS2 + STATE(SPR_CANA, 2, 0, {A_PlaySound}, sfx_s3k97, 1, S_CANARIVORE_GAS4), // S_CANARIVORE_GAS3 + STATE(SPR_CANA, 2, 5, {A_CanarivoreGas}, MT_CANARIVORE_GAS, 0, S_CANARIVORE_GAS5), // S_CANARIVORE_GAS4 + STATE(SPR_CANA, 1, 5, {NULL}, 0, 0, S_CANARIVORE_GASREPEAT), // S_CANARIVORE_GAS5 + STATE(SPR_CANA, 2, 0, {A_Repeat}, 6, S_CANARIVORE_GAS4, S_CANARIVORE_CLOSE1), // S_CANARIVORE_GASREPEAT + STATE(SPR_CANA, 1, 8, {NULL}, 0, 0, S_CANARIVORE_CLOSE2), // S_CANARIVORE_CLOSE1 + STATE(SPR_CANA, 0, 90, {NULL}, sfx_s3k5d, 1, S_CANARIVORE_LOOK), // S_CANARIVORE_CLOSE2 + + STATE(SPR_CANG, 0|FF_TRANS90, 2, {NULL}, 0, 0, S_CANARIVOREGAS_2), // S_CANARIVOREGAS_1 + STATE(SPR_CANG, 0|FF_TRANS30, 2*TICRATE, {A_SetRandomTics}, 2, TICRATE, S_CANARIVOREGAS_3), // S_CANARIVOREGAS_2 + STATE(SPR_CANG, 0|FF_TRANS40, 10, {NULL}, 0, 0, S_CANARIVOREGAS_4), // S_CANARIVOREGAS_3 + STATE(SPR_CANG, 0|FF_TRANS50, 10, {NULL}, 0, 0, S_CANARIVOREGAS_5), // S_CANARIVOREGAS_4 + STATE(SPR_CANG, 0|FF_TRANS60, 10, {NULL}, 0, 0, S_CANARIVOREGAS_6), // S_CANARIVOREGAS_5 + STATE(SPR_CANG, 0|FF_TRANS70, 10, {NULL}, 0, 0, S_CANARIVOREGAS_7), // S_CANARIVOREGAS_6 + STATE(SPR_CANG, 0|FF_TRANS80, 10, {NULL}, 0, 0, S_CANARIVOREGAS_8), // S_CANARIVOREGAS_7 + STATE(SPR_CANG, 0|FF_TRANS90, 10, {NULL}, 0, 0, S_NULL), // S_CANARIVOREGAS_8 // Pyre Fly - {SPR_PYRE, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_PYREFLY_FLY - {SPR_PYRE, 4|FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 3, 2, S_NULL}, // S_PYREFLY_BURN - {SPR_FLAM, FF_FULLBRIGHT, 10, {NULL}, 0, 0, S_PYREFIRE2}, // S_PYREFIRE1 - {SPR_FLAM, 1|FF_FULLBRIGHT, 10, {A_FireShrink}, 0, 16, S_NULL}, // S_PYREFIRE2 + STATE(SPR_PYRE, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL), // S_PYREFLY_FLY + STATE(SPR_PYRE, 4|FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 3, 2, S_NULL), // S_PYREFLY_BURN + STATE(SPR_FLAM, FF_FULLBRIGHT, 10, {NULL}, 0, 0, S_PYREFIRE2), // S_PYREFIRE1 + STATE(SPR_FLAM, 1|FF_FULLBRIGHT, 10, {A_FireShrink}, 0, 16, S_NULL), // S_PYREFIRE2 // Pterabyte - {SPR_NULL, 0, -1, {A_SpawnPterabytes}, 0, 0, S_PTERABYTESPAWNER}, // S_PTERABYTESPAWNER - {SPR_NULL, 0, 1, {A_PterabyteHover}, 0, 0, S_PTERABYTEWAYPOINT}, // S_PTERABYTEWAYPOINT - {SPR_PTER, 0, 6, {NULL}, 0, 0, S_PTERABYTE_FLY2}, // S_PTERABYTE_FLY1 - {SPR_PTER, 1, 2, {NULL}, 0, 0, S_PTERABYTE_FLY3}, // S_PTERABYTE_FLY2 - {SPR_PTER, 2, 6, {NULL}, 0, 0, S_PTERABYTE_FLY4}, // S_PTERABYTE_FLY3 - {SPR_PTER, 3, 2, {NULL}, 0, 0, S_PTERABYTE_FLY1}, // S_PTERABYTE_FLY4 - {SPR_PTER, 4, 1, {NULL}, 0, 0, S_PTERABYTE_SWOOPDOWN}, // S_PTERABYTE_SWOOPDOWN - {SPR_PTER, 0, 1, {NULL}, 0, 0, S_PTERABYTE_SWOOPUP}, // S_PTERABYTE_SWOOPUP + STATE(SPR_NULL, 0, -1, {A_SpawnPterabytes}, 0, 0, S_PTERABYTESPAWNER), // S_PTERABYTESPAWNER + STATE(SPR_NULL, 0, 1, {A_PterabyteHover}, 0, 0, S_PTERABYTEWAYPOINT), // S_PTERABYTEWAYPOINT + STATE(SPR_PTER, 0, 6, {NULL}, 0, 0, S_PTERABYTE_FLY2), // S_PTERABYTE_FLY1 + STATE(SPR_PTER, 1, 2, {NULL}, 0, 0, S_PTERABYTE_FLY3), // S_PTERABYTE_FLY2 + STATE(SPR_PTER, 2, 6, {NULL}, 0, 0, S_PTERABYTE_FLY4), // S_PTERABYTE_FLY3 + STATE(SPR_PTER, 3, 2, {NULL}, 0, 0, S_PTERABYTE_FLY1), // S_PTERABYTE_FLY4 + STATE(SPR_PTER, 4, 1, {NULL}, 0, 0, S_PTERABYTE_SWOOPDOWN), // S_PTERABYTE_SWOOPDOWN + STATE(SPR_PTER, 0, 1, {NULL}, 0, 0, S_PTERABYTE_SWOOPUP), // S_PTERABYTE_SWOOPUP // Dragonbomber - {SPR_DRAB, 0, -1, {A_DragonbomberSpawn}, 6, 0, S_NULL}, // S_DRAGONBOMBER - {SPR_DRAB, FF_PAPERSPRITE|7, 1, {A_DragonWing}, 0, 0, S_DRAGONWING2}, // S_DRAGONWING1 - {SPR_DRAB, FF_PAPERSPRITE|8, 1, {A_DragonWing}, 0, 0, S_DRAGONWING3}, // S_DRAGONWING2 - {SPR_DRAB, FF_PAPERSPRITE|9, 1, {A_DragonWing}, 0, 0, S_DRAGONWING4}, // S_DRAGONWING3 - {SPR_DRAB, FF_PAPERSPRITE|10, 1, {A_DragonWing}, 0, 0, S_DRAGONWING1}, // S_DRAGONWING4 - {SPR_DRAB, 1, 1, {A_DragonSegment}, 0, 0, S_DRAGONTAIL_LOADED}, // S_DRAGONTAIL_LOADED - {SPR_DRAB, 2, 1, {A_DragonSegment}, 0, 0, S_DRAGONTAIL_EMPTYLOOP}, // S_DRAGONTAIL_EMPTY - {SPR_DRAB, 2, 0, {A_Repeat}, 3*TICRATE, S_DRAGONTAIL_EMPTY, S_DRAGONTAIL_RELOAD}, // S_DRAGONTAIL_EMPTYLOOP - {SPR_DRAB, 1, 0, {A_PlayActiveSound}, 0, 0, S_DRAGONTAIL_LOADED}, // S_DRAGONTAIL_RELOAD - {SPR_DRAB, 3, 1, {A_MinusCheck}, S_DRAGONMINE_LAND1, 0, S_DRAGONMINE}, // S_DRAGONMINE - {SPR_DRAB, 4, 0, {A_PlayActiveSound}, 0, 0, S_DRAGONMINE_LAND2}, // S_DRAGONMINE_LAND1 - {SPR_DRAB, 4, 2, {A_Thrust}, 0, 1, S_DRAGONMINE_SLOWFLASH1}, // S_DRAGONMINE_LAND2 - {SPR_DRAB, 5, 11, {NULL}, 0, 0, S_DRAGONMINE_SLOWFLASH2}, // S_DRAGONMINE_SLOWFLASH1 - {SPR_DRAB, FF_FULLBRIGHT|6, 1, {A_PlayAttackSound}, 0, 0, S_DRAGONMINE_SLOWLOOP}, // S_DRAGONMINE_SLOWFLASH2 - {SPR_DRAB, 5, 0, {A_Repeat}, 4, S_DRAGONMINE_SLOWFLASH1, S_DRAGONMINE_FASTFLASH1}, // S_DRAGONMINE_SLOWLOOP - {SPR_DRAB, 5, 3, {NULL}, 0, 0, S_DRAGONMINE_FASTFLASH2}, // S_DRAGONMINE_FASTFLASH1 - {SPR_DRAB, FF_FULLBRIGHT|6, 1, {A_PlayAttackSound}, 0, 0, S_DRAGONMINE_FASTLOOP}, // S_DRAGONMINE_FASTFLASH2 - {SPR_DRAB, 5, 0, {A_Repeat}, 5, S_DRAGONMINE_FASTFLASH1, S_DEATHSTATE}, // S_DRAGONMINE_FASTLOOP + STATE(SPR_DRAB, 0, -1, {A_DragonbomberSpawn}, 6, 0, S_NULL), // S_DRAGONBOMBER + STATE(SPR_DRAB, FF_PAPERSPRITE|7, 1, {A_DragonWing}, 0, 0, S_DRAGONWING2), // S_DRAGONWING1 + STATE(SPR_DRAB, FF_PAPERSPRITE|8, 1, {A_DragonWing}, 0, 0, S_DRAGONWING3), // S_DRAGONWING2 + STATE(SPR_DRAB, FF_PAPERSPRITE|9, 1, {A_DragonWing}, 0, 0, S_DRAGONWING4), // S_DRAGONWING3 + STATE(SPR_DRAB, FF_PAPERSPRITE|10, 1, {A_DragonWing}, 0, 0, S_DRAGONWING1), // S_DRAGONWING4 + STATE(SPR_DRAB, 1, 1, {A_DragonSegment}, 0, 0, S_DRAGONTAIL_LOADED), // S_DRAGONTAIL_LOADED + STATE(SPR_DRAB, 2, 1, {A_DragonSegment}, 0, 0, S_DRAGONTAIL_EMPTYLOOP), // S_DRAGONTAIL_EMPTY + STATE(SPR_DRAB, 2, 0, {A_Repeat}, 3*TICRATE, S_DRAGONTAIL_EMPTY, S_DRAGONTAIL_RELOAD), // S_DRAGONTAIL_EMPTYLOOP + STATE(SPR_DRAB, 1, 0, {A_PlayActiveSound}, 0, 0, S_DRAGONTAIL_LOADED), // S_DRAGONTAIL_RELOAD + STATE(SPR_DRAB, 3, 1, {A_MinusCheck}, S_DRAGONMINE_LAND1, 0, S_DRAGONMINE), // S_DRAGONMINE + STATE(SPR_DRAB, 4, 0, {A_PlayActiveSound}, 0, 0, S_DRAGONMINE_LAND2), // S_DRAGONMINE_LAND1 + STATE(SPR_DRAB, 4, 2, {A_Thrust}, 0, 1, S_DRAGONMINE_SLOWFLASH1), // S_DRAGONMINE_LAND2 + STATE(SPR_DRAB, 5, 11, {NULL}, 0, 0, S_DRAGONMINE_SLOWFLASH2), // S_DRAGONMINE_SLOWFLASH1 + STATE(SPR_DRAB, FF_FULLBRIGHT|6, 1, {A_PlayAttackSound}, 0, 0, S_DRAGONMINE_SLOWLOOP), // S_DRAGONMINE_SLOWFLASH2 + STATE(SPR_DRAB, 5, 0, {A_Repeat}, 4, S_DRAGONMINE_SLOWFLASH1, S_DRAGONMINE_FASTFLASH1), // S_DRAGONMINE_SLOWLOOP + STATE(SPR_DRAB, 5, 3, {NULL}, 0, 0, S_DRAGONMINE_FASTFLASH2), // S_DRAGONMINE_FASTFLASH1 + STATE(SPR_DRAB, FF_FULLBRIGHT|6, 1, {A_PlayAttackSound}, 0, 0, S_DRAGONMINE_FASTLOOP), // S_DRAGONMINE_FASTFLASH2 + STATE(SPR_DRAB, 5, 0, {A_Repeat}, 5, S_DRAGONMINE_FASTFLASH1, S_DEATHSTATE), // S_DRAGONMINE_FASTLOOP // Boss Explosion - {SPR_BOM2, FF_FULLBRIGHT|FF_ANIMATE, (5*7), {NULL}, 6, 5, S_NULL}, // S_BOSSEXPLODE + STATE(SPR_BOM2, FF_FULLBRIGHT|FF_ANIMATE, (5*7), {NULL}, 6, 5, S_NULL), // S_BOSSEXPLODE // S3&K Boss Explosion - {SPR_BOM3, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION2}, // S_SONIC3KBOSSEXPLOSION1 - {SPR_BOM3, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION3}, // S_SONIC3KBOSSEXPLOSION2 - {SPR_BOM3, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION4}, // S_SONIC3KBOSSEXPLOSION3 - {SPR_BOM3, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION5}, // S_SONIC3KBOSSEXPLOSION4 - {SPR_BOM3, FF_FULLBRIGHT|4, 3, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION6}, // S_SONIC3KBOSSEXPLOSION5 - {SPR_BOM3, FF_FULLBRIGHT|5, 4, {NULL}, 0, 0, S_NULL}, // S_SONIC3KBOSSEXPLOSION6 + STATE(SPR_BOM3, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION2), // S_SONIC3KBOSSEXPLOSION1 + STATE(SPR_BOM3, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION3), // S_SONIC3KBOSSEXPLOSION2 + STATE(SPR_BOM3, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION4), // S_SONIC3KBOSSEXPLOSION3 + STATE(SPR_BOM3, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION5), // S_SONIC3KBOSSEXPLOSION4 + STATE(SPR_BOM3, FF_FULLBRIGHT|4, 3, {NULL}, 0, 0, S_SONIC3KBOSSEXPLOSION6), // S_SONIC3KBOSSEXPLOSION5 + STATE(SPR_BOM3, FF_FULLBRIGHT|5, 4, {NULL}, 0, 0, S_NULL), // S_SONIC3KBOSSEXPLOSION6 - {SPR_JETF, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 2, 1, S_NULL}, // S_JETFUME1 + STATE(SPR_JETF, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 2, 1, S_NULL), // S_JETFUME1 // Boss 1 - {SPR_EGGM, 0, 1, {A_Boss1Chase}, 0, 0, S_EGGMOBILE_STND}, // S_EGGMOBILE_STND - {SPR_EGGM, FF_ANIMATE|17, 35, {A_FaceTarget}, 1, 2, S_EGGMOBILE_STND}, // S_EGGMOBILE_ROFL - {SPR_EGGM, 1, 3, {A_FaceTarget}, 0, 0, S_EGGMOBILE_LATK2}, // S_EGGMOBILE_LATK1 - {SPR_EGGM, 2, 15, {NULL}, 0, 0, S_EGGMOBILE_LATK3}, // S_EGGMOBILE_LATK2 - {SPR_EGGM, 3, 2, {NULL}, 0, 0, S_EGGMOBILE_LATK4}, // S_EGGMOBILE_LATK3 - {SPR_EGGM, 4, 2, {A_FaceTarget}, 0, 0, S_EGGMOBILE_LATK5}, // S_EGGMOBILE_LATK4 - {SPR_EGGM, 6, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_LATK6}, // S_EGGMOBILE_LATK5 - {SPR_EGGM, 5, 1, {A_Boss1Laser}, MT_LASER, 0, S_EGGMOBILE_LATK7}, // S_EGGMOBILE_LATK6 - {SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, (1<<16), S_EGGMOBILE_LATK8}, // S_EGGMOBILE_LATK7 - {SPR_EGGM, 5, 0, {A_Repeat}, 45, S_EGGMOBILE_LATK6, S_EGGMOBILE_LATK9}, // S_EGGMOBILE_LATK8 - {SPR_EGGM, 8, 2, {NULL}, 0, 0, S_EGGMOBILE_ROFL}, // S_EGGMOBILE_LATK9 - {SPR_EGGM, 9, 3, {A_FaceTarget}, 0, 0, S_EGGMOBILE_RATK2}, // S_EGGMOBILE_RATK1 - {SPR_EGGM, 10, 15, {NULL}, 0, 0, S_EGGMOBILE_RATK3}, // S_EGGMOBILE_RATK2 - {SPR_EGGM, 11, 2, {NULL}, 0, 0, S_EGGMOBILE_RATK4}, // S_EGGMOBILE_RATK3 - {SPR_EGGM, 12, 2, {A_FaceTarget}, 0, 0, S_EGGMOBILE_RATK5}, // S_EGGMOBILE_RATK4 - {SPR_EGGM, 14, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_RATK6}, // S_EGGMOBILE_RATK5 - {SPR_EGGM, 13, 1, {A_Boss1Laser}, MT_LASER, 1, S_EGGMOBILE_RATK7}, // S_EGGMOBILE_RATK6 - {SPR_EGGM, 14, 1, {A_Boss1Laser}, MT_LASER, 1|(1<<16), S_EGGMOBILE_RATK8}, // S_EGGMOBILE_RATK7 - {SPR_EGGM, 13, 0, {A_Repeat}, 45, S_EGGMOBILE_RATK6, S_EGGMOBILE_RATK9}, // S_EGGMOBILE_RATK8 - {SPR_EGGM, 16, 2, {NULL}, 0, 0, S_EGGMOBILE_ROFL}, // S_EGGMOBILE_RATK9 - {SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC2}, // S_EGGMOBILE_PANIC1 - {SPR_EGGM, FF_ANIMATE|1, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC3}, // S_EGGMOBILE_PANIC2 - {SPR_EGGM, 7, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC4}, // S_EGGMOBILE_PANIC3 - {SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC5}, // S_EGGMOBILE_PANIC4 - {SPR_EGGM, 6, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC3, S_EGGMOBILE_PANIC6}, // S_EGGMOBILE_PANIC5 - {SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC7}, // S_EGGMOBILE_PANIC6 - {SPR_EGGM, FF_ANIMATE|9, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC8}, // S_EGGMOBILE_PANIC7 - {SPR_EGGM, 15, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC9}, // S_EGGMOBILE_PANIC8 - {SPR_EGGM, 14, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC10}, // S_EGGMOBILE_PANIC9 - {SPR_EGGM, 14, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC8, S_EGGMOBILE_PANIC11}, // S_EGGMOBILE_PANIC10 - {SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC12}, // S_EGGMOBILE_PANIC11 - {SPR_EGGM, FF_ANIMATE|1, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC13}, // S_EGGMOBILE_PANIC12 - {SPR_EGGM, 7, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC14}, // S_EGGMOBILE_PANIC13 - {SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC15}, // S_EGGMOBILE_PANIC14 - {SPR_EGGM, 6, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC13, S_EGGMOBILE_ROFL}, // S_EGGMOBILE_PANIC15 - {SPR_EGGM, 19, 24, {A_Pain}, 0, 0, S_EGGMOBILE_PAIN2}, // S_EGGMOBILE_PAIN - {SPR_EGGM, 19, 16, {A_SkullAttack}, 3, 1, S_EGGMOBILE_STND}, // S_EGGMOBILE_PAIN2 - {SPR_EGGM, 20, 2, {A_Fall}, 17, 0, S_EGGMOBILE_DIE2}, // S_EGGMOBILE_DIE1 - {SPR_EGGM, 20, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_DIE3}, // S_EGGMOBILE_DIE2 - {SPR_EGGM, 20, 0, {A_Repeat}, 17, S_EGGMOBILE_DIE2, S_EGGMOBILE_DIE4}, // S_EGGMOBILE_DIE3 - {SPR_EGGM, 20, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_EGGMOBILE_DIE4 - {SPR_EGGM, 21, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_FLEE2}, // S_EGGMOBILE_FLEE1 - {SPR_EGGM, 22, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_FLEE1}, // S_EGGMOBILE_FLEE2 - {SPR_UNID, 1, 1, {A_UnidusBall}, 2, 0, S_EGGMOBILE_BALL}, // S_EGGMOBILE_BALL - {SPR_NULL, 0, 1, {A_FocusTarget}, 0, 0, S_EGGMOBILE_TARGET}, // S_EGGMOBILE_TARGET - - {SPR_EGLZ, 0, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSEGLZ1 - {SPR_EGLZ, 1, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSEGLZ2 + STATE(SPR_EGGM, 0, 1, {A_Boss1Chase}, 0, 0, S_EGGMOBILE_STND), // S_EGGMOBILE_STND + STATE(SPR_EGGM, FF_ANIMATE|17, 35, {A_FaceTarget}, 1, 2, S_EGGMOBILE_STND), // S_EGGMOBILE_ROFL + STATE(SPR_EGGM, 1, 3, {A_FaceTarget}, 0, 0, S_EGGMOBILE_LATK2), // S_EGGMOBILE_LATK1 + STATE(SPR_EGGM, 2, 15, {NULL}, 0, 0, S_EGGMOBILE_LATK3), // S_EGGMOBILE_LATK2 + STATE(SPR_EGGM, 3, 2, {NULL}, 0, 0, S_EGGMOBILE_LATK4), // S_EGGMOBILE_LATK3 + STATE(SPR_EGGM, 4, 2, {A_FaceTarget}, 0, 0, S_EGGMOBILE_LATK5), // S_EGGMOBILE_LATK4 + STATE(SPR_EGGM, 6, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_LATK6), // S_EGGMOBILE_LATK5 + STATE(SPR_EGGM, 5, 1, {A_Boss1Laser}, MT_LASER, 0, S_EGGMOBILE_LATK7), // S_EGGMOBILE_LATK6 + STATE(SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, (1<<16), S_EGGMOBILE_LATK8), // S_EGGMOBILE_LATK7 + STATE(SPR_EGGM, 5, 0, {A_Repeat}, 45, S_EGGMOBILE_LATK6, S_EGGMOBILE_LATK9), // S_EGGMOBILE_LATK8 + STATE(SPR_EGGM, 8, 2, {NULL}, 0, 0, S_EGGMOBILE_ROFL), // S_EGGMOBILE_LATK9 + STATE(SPR_EGGM, 9, 3, {A_FaceTarget}, 0, 0, S_EGGMOBILE_RATK2), // S_EGGMOBILE_RATK1 + STATE(SPR_EGGM, 10, 15, {NULL}, 0, 0, S_EGGMOBILE_RATK3), // S_EGGMOBILE_RATK2 + STATE(SPR_EGGM, 11, 2, {NULL}, 0, 0, S_EGGMOBILE_RATK4), // S_EGGMOBILE_RATK3 + STATE(SPR_EGGM, 12, 2, {A_FaceTarget}, 0, 0, S_EGGMOBILE_RATK5), // S_EGGMOBILE_RATK4 + STATE(SPR_EGGM, 14, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_RATK6), // S_EGGMOBILE_RATK5 + STATE(SPR_EGGM, 13, 1, {A_Boss1Laser}, MT_LASER, 1, S_EGGMOBILE_RATK7), // S_EGGMOBILE_RATK6 + STATE(SPR_EGGM, 14, 1, {A_Boss1Laser}, MT_LASER, 1|(1<<16), S_EGGMOBILE_RATK8), // S_EGGMOBILE_RATK7 + STATE(SPR_EGGM, 13, 0, {A_Repeat}, 45, S_EGGMOBILE_RATK6, S_EGGMOBILE_RATK9), // S_EGGMOBILE_RATK8 + STATE(SPR_EGGM, 16, 2, {NULL}, 0, 0, S_EGGMOBILE_ROFL), // S_EGGMOBILE_RATK9 + STATE(SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC2), // S_EGGMOBILE_PANIC1 + STATE(SPR_EGGM, FF_ANIMATE|1, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC3), // S_EGGMOBILE_PANIC2 + STATE(SPR_EGGM, 7, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC4), // S_EGGMOBILE_PANIC3 + STATE(SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC5), // S_EGGMOBILE_PANIC4 + STATE(SPR_EGGM, 6, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC3, S_EGGMOBILE_PANIC6), // S_EGGMOBILE_PANIC5 + STATE(SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC7), // S_EGGMOBILE_PANIC6 + STATE(SPR_EGGM, FF_ANIMATE|9, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC8), // S_EGGMOBILE_PANIC7 + STATE(SPR_EGGM, 15, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC9), // S_EGGMOBILE_PANIC8 + STATE(SPR_EGGM, 14, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC10), // S_EGGMOBILE_PANIC9 + STATE(SPR_EGGM, 14, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC8, S_EGGMOBILE_PANIC11), // S_EGGMOBILE_PANIC10 + STATE(SPR_EGGM, 0, 0, {A_PrepareRepeat}, 45, 0, S_EGGMOBILE_PANIC12), // S_EGGMOBILE_PANIC11 + STATE(SPR_EGGM, FF_ANIMATE|1, 16, {A_FaceTarget}, 3, 4, S_EGGMOBILE_PANIC13), // S_EGGMOBILE_PANIC12 + STATE(SPR_EGGM, 7, 1, {A_Boss1Laser}, MT_LASER, 2, S_EGGMOBILE_PANIC14), // S_EGGMOBILE_PANIC13 + STATE(SPR_EGGM, 6, 1, {A_Boss1Laser}, MT_LASER, 2|(1<<16), S_EGGMOBILE_PANIC15), // S_EGGMOBILE_PANIC14 + STATE(SPR_EGGM, 6, 0, {A_Repeat}, 45, S_EGGMOBILE_PANIC13, S_EGGMOBILE_ROFL), // S_EGGMOBILE_PANIC15 + STATE(SPR_EGGM, 19, 24, {A_Pain}, 0, 0, S_EGGMOBILE_PAIN2), // S_EGGMOBILE_PAIN + STATE(SPR_EGGM, 19, 16, {A_SkullAttack}, 3, 1, S_EGGMOBILE_STND), // S_EGGMOBILE_PAIN2 + STATE(SPR_EGGM, 20, 2, {A_Fall}, 17, 0, S_EGGMOBILE_DIE2), // S_EGGMOBILE_DIE1 + STATE(SPR_EGGM, 20, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_DIE3), // S_EGGMOBILE_DIE2 + STATE(SPR_EGGM, 20, 0, {A_Repeat}, 17, S_EGGMOBILE_DIE2, S_EGGMOBILE_DIE4), // S_EGGMOBILE_DIE3 + STATE(SPR_EGGM, 20, -1, {A_BossDeath}, 0, 0, S_NULL), // S_EGGMOBILE_DIE4 + STATE(SPR_EGGM, 21, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_FLEE2), // S_EGGMOBILE_FLEE1 + STATE(SPR_EGGM, 22, 2, {A_BossScream}, 0, 0, S_EGGMOBILE_FLEE1), // S_EGGMOBILE_FLEE2 + STATE(SPR_UNID, 1, 1, {A_UnidusBall}, 2, 0, S_EGGMOBILE_BALL), // S_EGGMOBILE_BALL + STATE(SPR_NULL, 0, 1, {A_FocusTarget}, 0, 0, S_EGGMOBILE_TARGET), // S_EGGMOBILE_TARGET + + STATE(SPR_EGLZ, 0, 35, {NULL}, 0, 0, S_NULL), // S_BOSSEGLZ1 + STATE(SPR_EGLZ, 1, 35, {NULL}, 0, 0, S_NULL), // S_BOSSEGLZ2 // Boss 2 - {SPR_EGGN, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGMOBILE2_STND - {SPR_EGGN, 1, 4, {NULL}, 0, 0, S_EGGMOBILE2_POGO2}, // S_EGGMOBILE2_POGO1 - {SPR_EGGN, 0, 2, {A_Boss2PogoTarget}, 9*FRACUNIT, 8*FRACUNIT, S_EGGMOBILE2_POGO3}, // S_EGGMOBILE2_POGO2 - {SPR_EGGN, 1, 2, {NULL}, 0, 0, S_EGGMOBILE2_POGO4}, // S_EGGMOBILE2_POGO3 - {SPR_EGGN, 2, -1, {NULL}, 0, 0, S_NULL}, // S_EGGMOBILE2_POGO4 - {SPR_EGGN, 1, 4, {NULL}, 0, 0, S_EGGMOBILE2_POGO6}, // S_EGGMOBILE2_POGO5 - {SPR_EGGN, 0, 2, {A_Boss2PogoTarget}, 7*FRACUNIT, 8*FRACUNIT, S_EGGMOBILE2_POGO7}, // S_EGGMOBILE2_POGO6 - {SPR_EGGN, 1, 2, {NULL}, 0, 0, S_EGGMOBILE2_POGO4}, // S_EGGMOBILE2_POGO7 - {SPR_EGGN, 3, 24, {A_Boss2TakeDamage}, 24+TICRATE, 0, S_EGGMOBILE2_STND}, // S_EGGMOBILE2_PAIN - {SPR_EGGN, 4, 24, {A_Boss2TakeDamage}, 24+TICRATE, 0, S_EGGMOBILE2_POGO4}, // S_EGGMOBILE2_PAIN2 - {SPR_EGGN, 5, 2, {A_Fall}, 0, 0, S_EGGMOBILE2_DIE2}, // S_EGGMOBILE2_DIE1 - {SPR_EGGN, 5, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_DIE3}, // S_EGGMOBILE2_DIE2 - {SPR_EGGN, 5, 0, {A_Repeat}, 17, S_EGGMOBILE2_DIE2, S_EGGMOBILE2_DIE4}, // S_EGGMOBILE2_DIE3 - {SPR_EGGN, 5, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_EGGMOBILE2_DIE4 - {SPR_EGGN, 6, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_FLEE2}, // S_EGGMOBILE2_FLEE1 - {SPR_EGGN, 7, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_FLEE1}, // S_EGGMOBILE2_FLEE2 - - {SPR_TANK, 0, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSTANK1 - {SPR_TANK, 1, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSTANK2 - {SPR_TANK, 2, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSSPIGOT + STATE(SPR_EGGN, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGMOBILE2_STND + STATE(SPR_EGGN, 1, 4, {NULL}, 0, 0, S_EGGMOBILE2_POGO2), // S_EGGMOBILE2_POGO1 + STATE(SPR_EGGN, 0, 2, {A_Boss2PogoTarget}, 9*FRACUNIT, 8*FRACUNIT, S_EGGMOBILE2_POGO3), // S_EGGMOBILE2_POGO2 + STATE(SPR_EGGN, 1, 2, {NULL}, 0, 0, S_EGGMOBILE2_POGO4), // S_EGGMOBILE2_POGO3 + STATE(SPR_EGGN, 2, -1, {NULL}, 0, 0, S_NULL), // S_EGGMOBILE2_POGO4 + STATE(SPR_EGGN, 1, 4, {NULL}, 0, 0, S_EGGMOBILE2_POGO6), // S_EGGMOBILE2_POGO5 + STATE(SPR_EGGN, 0, 2, {A_Boss2PogoTarget}, 7*FRACUNIT, 8*FRACUNIT, S_EGGMOBILE2_POGO7), // S_EGGMOBILE2_POGO6 + STATE(SPR_EGGN, 1, 2, {NULL}, 0, 0, S_EGGMOBILE2_POGO4), // S_EGGMOBILE2_POGO7 + STATE(SPR_EGGN, 3, 24, {A_Boss2TakeDamage}, 24+TICRATE, 0, S_EGGMOBILE2_STND), // S_EGGMOBILE2_PAIN + STATE(SPR_EGGN, 4, 24, {A_Boss2TakeDamage}, 24+TICRATE, 0, S_EGGMOBILE2_POGO4), // S_EGGMOBILE2_PAIN2 + STATE(SPR_EGGN, 5, 2, {A_Fall}, 0, 0, S_EGGMOBILE2_DIE2), // S_EGGMOBILE2_DIE1 + STATE(SPR_EGGN, 5, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_DIE3), // S_EGGMOBILE2_DIE2 + STATE(SPR_EGGN, 5, 0, {A_Repeat}, 17, S_EGGMOBILE2_DIE2, S_EGGMOBILE2_DIE4), // S_EGGMOBILE2_DIE3 + STATE(SPR_EGGN, 5, -1, {A_BossDeath}, 0, 0, S_NULL), // S_EGGMOBILE2_DIE4 + STATE(SPR_EGGN, 6, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_FLEE2), // S_EGGMOBILE2_FLEE1 + STATE(SPR_EGGN, 7, 2, {A_BossScream}, 0, 0, S_EGGMOBILE2_FLEE1), // S_EGGMOBILE2_FLEE2 + + STATE(SPR_TANK, 0, 35, {NULL}, 0, 0, S_NULL), // S_BOSSTANK1 + STATE(SPR_TANK, 1, 35, {NULL}, 0, 0, S_NULL), // S_BOSSTANK2 + STATE(SPR_TANK, 2, 35, {NULL}, 0, 0, S_NULL), // S_BOSSSPIGOT // Boss 2 Goop - {SPR_GOOP, 0, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP2}, // S_GOOP1 - {SPR_GOOP, 1, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP1}, // S_GOOP2 - {SPR_GOOP, 2, -1, {NULL}, 0, 0, S_NULL}, // S_GOOP3 - {SPR_GOOP, FF_ANIMATE|3, 11, {NULL}, 2, 6, S_NULL}, // S_GOOPTRAIL + STATE(SPR_GOOP, 0, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP2), // S_GOOP1 + STATE(SPR_GOOP, 1, 2, {A_SpawnObjectRelative}, 0, MT_GOOPTRAIL, S_GOOP1), // S_GOOP2 + STATE(SPR_GOOP, 2, -1, {NULL}, 0, 0, S_NULL), // S_GOOP3 + STATE(SPR_GOOP, FF_ANIMATE|3, 11, {NULL}, 2, 6, S_NULL), // S_GOOPTRAIL // Boss 3 - {SPR_EGGO, 0, 1, {NULL}, 0, 0, S_EGGMOBILE3_STND}, // S_EGGMOBILE3_STND - {SPR_EGGO, FF_ANIMATE, 24, {NULL}, 1, 2, S_EGGMOBILE3_ATK2}, // S_EGGMOBILE3_SHOCK - {SPR_EGGO, 6|FF_ANIMATE, 24, {NULL}, 1, 2, S_EGGMOBILE3_ATK2}, // S_EGGMOBILE3_ATK1 - {SPR_EGGO, 2, 2, {NULL}, 0, 0, S_EGGMOBILE3_ATK3A}, // S_EGGMOBILE3_ATK2 - {SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 2, S_EGGMOBILE3_ATK3B}, // S_EGGMOBILE3_ATK3A - {SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 4, S_EGGMOBILE3_ATK3C}, // S_EGGMOBILE3_ATK3B - {SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 3, S_EGGMOBILE3_ATK3D}, // S_EGGMOBILE3_ATK3C - {SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 5, S_EGGMOBILE3_ATK4}, // S_EGGMOBILE3_ATK3D - {SPR_EGGO, 4, 2, {NULL}, 0, 0, S_EGGMOBILE3_ATK5}, // S_EGGMOBILE3_ATK4 - {SPR_EGGO, 5, 2, {NULL}, 0, 0, S_EGGMOBILE3_ROFL}, // S_EGGMOBILE3_ATK5 - {SPR_EGGO, 6|FF_ANIMATE, 60, {NULL}, 1, 2, S_EGGMOBILE3_STND}, // S_EGGMOBILE3_ROFL - {SPR_EGGO, 8, 1, {A_Boss3TakeDamage}, 0, 0, S_EGGMOBILE3_PAIN2}, // S_EGGMOBILE3_PAIN - {SPR_EGGO, 8, 23, {A_Pain}, 0, 0, S_EGGMOBILE3_STND}, // S_EGGMOBILE3_PAIN2 - {SPR_EGGO, 9, 2, {A_Fall}, 0, 0, S_EGGMOBILE3_DIE2}, // S_EGGMOBILE3_DIE1 - {SPR_EGGO, 9, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_DIE3}, // S_EGGMOBILE3_DIE2 - {SPR_EGGO, 9, 0, {A_Repeat}, 17, S_EGGMOBILE3_DIE2, S_EGGMOBILE3_DIE4}, // S_EGGMOBILE3_DIE3 - {SPR_EGGO, 9, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_EGGMOBILE3_DIE4 - {SPR_EGGO, 10, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_FLEE2}, // S_EGGMOBILE3_FLEE1 - {SPR_EGGO, 11, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_FLEE1}, // S_EGGMOBILE3_FLEE2 + STATE(SPR_EGGO, 0, 1, {NULL}, 0, 0, S_EGGMOBILE3_STND), // S_EGGMOBILE3_STND + STATE(SPR_EGGO, FF_ANIMATE, 24, {NULL}, 1, 2, S_EGGMOBILE3_ATK2), // S_EGGMOBILE3_SHOCK + STATE(SPR_EGGO, 6|FF_ANIMATE, 24, {NULL}, 1, 2, S_EGGMOBILE3_ATK2), // S_EGGMOBILE3_ATK1 + STATE(SPR_EGGO, 2, 2, {NULL}, 0, 0, S_EGGMOBILE3_ATK3A), // S_EGGMOBILE3_ATK2 + STATE(SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 2, S_EGGMOBILE3_ATK3B), // S_EGGMOBILE3_ATK3A + STATE(SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 4, S_EGGMOBILE3_ATK3C), // S_EGGMOBILE3_ATK3B + STATE(SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 3, S_EGGMOBILE3_ATK3D), // S_EGGMOBILE3_ATK3C + STATE(SPR_EGGO, 3, 2, {A_BossFireShot}, MT_TORPEDO, 5, S_EGGMOBILE3_ATK4), // S_EGGMOBILE3_ATK3D + STATE(SPR_EGGO, 4, 2, {NULL}, 0, 0, S_EGGMOBILE3_ATK5), // S_EGGMOBILE3_ATK4 + STATE(SPR_EGGO, 5, 2, {NULL}, 0, 0, S_EGGMOBILE3_ROFL), // S_EGGMOBILE3_ATK5 + STATE(SPR_EGGO, 6|FF_ANIMATE, 60, {NULL}, 1, 2, S_EGGMOBILE3_STND), // S_EGGMOBILE3_ROFL + STATE(SPR_EGGO, 8, 1, {A_Boss3TakeDamage}, 0, 0, S_EGGMOBILE3_PAIN2), // S_EGGMOBILE3_PAIN + STATE(SPR_EGGO, 8, 23, {A_Pain}, 0, 0, S_EGGMOBILE3_STND), // S_EGGMOBILE3_PAIN2 + STATE(SPR_EGGO, 9, 2, {A_Fall}, 0, 0, S_EGGMOBILE3_DIE2), // S_EGGMOBILE3_DIE1 + STATE(SPR_EGGO, 9, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_DIE3), // S_EGGMOBILE3_DIE2 + STATE(SPR_EGGO, 9, 0, {A_Repeat}, 17, S_EGGMOBILE3_DIE2, S_EGGMOBILE3_DIE4), // S_EGGMOBILE3_DIE3 + STATE(SPR_EGGO, 9, -1, {A_BossDeath}, 0, 0, S_NULL), // S_EGGMOBILE3_DIE4 + STATE(SPR_EGGO, 10, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_FLEE2), // S_EGGMOBILE3_FLEE1 + STATE(SPR_EGGO, 11, 2, {A_BossScream}, 0, 0, S_EGGMOBILE3_FLEE1), // S_EGGMOBILE3_FLEE2 // Boss 3 Pinch - {SPR_FAKE, 0, 1, {NULL}, 0, 0, S_FAKEMOBILE}, // S_FAKEMOBILE_INIT - {SPR_FAKE, 0, 1, {A_Boss3Path}, 0, 0, S_FAKEMOBILE}, // S_FAKEMOBILE - {SPR_FAKE, 0, 22, {NULL}, 0, 0, S_FAKEMOBILE_ATK2}, // S_FAKEMOBILE_ATK1 - {SPR_FAKE, 0, 2, {NULL}, 0, 0, S_FAKEMOBILE_ATK3A}, // S_FAKEMOBILE_ATK2 - {SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 2, S_FAKEMOBILE_ATK3B}, // S_FAKEMOBILE_ATK3A - {SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 4, S_FAKEMOBILE_ATK3C}, // S_FAKEMOBILE_ATK3B - {SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 3, S_FAKEMOBILE_ATK3D}, // S_FAKEMOBILE_ATK3C - {SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 5, S_FAKEMOBILE}, // S_FAKEMOBILE_ATK3D - {SPR_FAKE, 1, 1, {NULL}, 0, 0, S_FAKEMOBILE_DIE2}, // S_FAKEMOBILE_DIE1 - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_FAKEMOBILE_DIE1}, // S_FAKEMOBILE_DIE2 - - {SPR_SEBH, 0, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSSEBH1 - {SPR_SEBH, 1, 35, {NULL}, 0, 0, S_NULL}, // S_BOSSSEBH2 + STATE(SPR_FAKE, 0, 1, {NULL}, 0, 0, S_FAKEMOBILE), // S_FAKEMOBILE_INIT + STATE(SPR_FAKE, 0, 1, {A_Boss3Path}, 0, 0, S_FAKEMOBILE), // S_FAKEMOBILE + STATE(SPR_FAKE, 0, 22, {NULL}, 0, 0, S_FAKEMOBILE_ATK2), // S_FAKEMOBILE_ATK1 + STATE(SPR_FAKE, 0, 2, {NULL}, 0, 0, S_FAKEMOBILE_ATK3A), // S_FAKEMOBILE_ATK2 + STATE(SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 2, S_FAKEMOBILE_ATK3B), // S_FAKEMOBILE_ATK3A + STATE(SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 4, S_FAKEMOBILE_ATK3C), // S_FAKEMOBILE_ATK3B + STATE(SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 3, S_FAKEMOBILE_ATK3D), // S_FAKEMOBILE_ATK3C + STATE(SPR_FAKE, 0, 2, {A_BossFireShot}, MT_TORPEDO2, 5, S_FAKEMOBILE), // S_FAKEMOBILE_ATK3D + STATE(SPR_FAKE, 1, 1, {NULL}, 0, 0, S_FAKEMOBILE_DIE2), // S_FAKEMOBILE_DIE1 + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_FAKEMOBILE_DIE1), // S_FAKEMOBILE_DIE2 + + STATE(SPR_SEBH, 0, 35, {NULL}, 0, 0, S_NULL), // S_BOSSSEBH1 + STATE(SPR_SEBH, 1, 35, {NULL}, 0, 0, S_NULL), // S_BOSSSEBH2 // Boss 3 Shockwave - {SPR_SHCK, FF_FULLBRIGHT|FF_PAPERSPRITE|FF_ANIMATE, 8, {A_Boss3ShockThink}, 4, 2, S_SHOCKWAVE2}, // S_SHOCKWAVE1 - {SPR_SHCK, 3|FF_FULLBRIGHT|FF_PAPERSPRITE|FF_ANIMATE, 8, {A_Boss3ShockThink}, 4, 2, S_SHOCKWAVE1}, // S_SHOCKWAVE2 + STATE(SPR_SHCK, FF_FULLBRIGHT|FF_PAPERSPRITE|FF_ANIMATE, 8, {A_Boss3ShockThink}, 4, 2, S_SHOCKWAVE2), // S_SHOCKWAVE1 + STATE(SPR_SHCK, 3|FF_FULLBRIGHT|FF_PAPERSPRITE|FF_ANIMATE, 8, {A_Boss3ShockThink}, 4, 2, S_SHOCKWAVE1), // S_SHOCKWAVE2 // Boss 4 - {SPR_EGGP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGMOBILE4_STND - {SPR_EGGP, 1, 3, {NULL}, 0, 0, S_EGGMOBILE4_LATK2}, // S_EGGMOBILE4_LATK1 - {SPR_EGGP, 2, 15, {NULL}, 0, 0, S_EGGMOBILE4_LATK3}, // S_EGGMOBILE4_LATK2 - {SPR_EGGP, 3, 2, {NULL}, 0, 0, S_EGGMOBILE4_LATK4}, // S_EGGMOBILE4_LATK3 - {SPR_EGGP, 4, 2, {NULL}, 0, 0, S_EGGMOBILE4_LATK5}, // S_EGGMOBILE4_LATK4 - {SPR_EGGP, 5, 50, {A_Boss4Reverse}, sfx_mswing, 0, S_EGGMOBILE4_LATK6}, // S_EGGMOBILE4_LATK5 - {SPR_EGGP, 6, 2, {NULL}, 0, 0, S_EGGMOBILE4_STND}, // S_EGGMOBILE4_LATK6 - {SPR_EGGP, 7, 3, {NULL}, 0, 0, S_EGGMOBILE4_RATK2}, // S_EGGMOBILE4_RATK1 - {SPR_EGGP, 8, 15, {NULL}, 0, 0, S_EGGMOBILE4_RATK3}, // S_EGGMOBILE4_RATK2 - {SPR_EGGP, 9, 2, {NULL}, 0, 0, S_EGGMOBILE4_RATK4}, // S_EGGMOBILE4_RATK3 - {SPR_EGGP,10, 2, {NULL}, 0, 0, S_EGGMOBILE4_RATK5}, // S_EGGMOBILE4_RATK4 - {SPR_EGGP,11,150, {A_Boss4SpeedUp}, sfx_mswing, 0, S_EGGMOBILE4_RATK6}, // S_EGGMOBILE4_RATK5 - {SPR_EGGP,12, 2, {NULL}, 0, 0, S_EGGMOBILE4_STND}, // S_EGGMOBILE4_RATK6 - {SPR_EGGP,13, 20, {A_Boss4Raise}, sfx_doord1, 0, S_EGGMOBILE4_RAISE2}, // S_EGGMOBILE4_RAISE1 - {SPR_EGGP,15|FF_ANIMATE, -1, {NULL}, 1, 10, S_NULL}, // S_EGGMOBILE4_RAISE2 - {SPR_EGGP,13, 0, {A_Boss4Reverse}, sfx_alarm, sfx_s3k60, S_EGGMOBILE4_PAIN2}, // S_EGGMOBILE4_PAIN1 - {SPR_EGGP,13, 24, {A_Pain}, 0, 0, S_EGGMOBILE4_STND}, // S_EGGMOBILE4_PAIN2 - {SPR_EGGP,14, 2, {A_Fall}, 0, 0, S_EGGMOBILE4_DIE2}, // S_EGGMOBILE4_DIE1 - {SPR_EGGP,14, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_DIE3}, // S_EGGMOBILE4_DIE2 - {SPR_EGGP,14, 0, {A_Repeat}, 17, S_EGGMOBILE4_DIE2, S_EGGMOBILE4_DIE4}, // S_EGGMOBILE4_DIE3 - {SPR_EGGP,14, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_EGGMOBILE4_DIE4 - {SPR_EGGP,15, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_FLEE2}, // S_EGGMOBILE4_FLEE1 - {SPR_EGGP,16, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_FLEE1}, // S_EGGMOBILE4_FLEE2 - {SPR_BMCE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGMOBILE4_MACE - {SPR_BMCE, 0, 2, {A_BossScream}, 1, 0, S_EGGMOBILE4_MACE_DIE2}, // S_EGGMOBILE4_MACE_DIE1 - {SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_EGGMOBILE4_MACE_DIE3}, // S_EGGMOBILE4_MACE_DIE2 - {SPR_NULL, 0, 0, {A_Repeat}, 7, S_EGGMOBILE4_MACE_DIE1, S_SONIC3KBOSSEXPLOSION1}, // S_EGGMOBILE4_MACE_DIE3 + STATE(SPR_EGGP, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGMOBILE4_STND + STATE(SPR_EGGP, 1, 3, {NULL}, 0, 0, S_EGGMOBILE4_LATK2), // S_EGGMOBILE4_LATK1 + STATE(SPR_EGGP, 2, 15, {NULL}, 0, 0, S_EGGMOBILE4_LATK3), // S_EGGMOBILE4_LATK2 + STATE(SPR_EGGP, 3, 2, {NULL}, 0, 0, S_EGGMOBILE4_LATK4), // S_EGGMOBILE4_LATK3 + STATE(SPR_EGGP, 4, 2, {NULL}, 0, 0, S_EGGMOBILE4_LATK5), // S_EGGMOBILE4_LATK4 + STATE(SPR_EGGP, 5, 50, {A_Boss4Reverse}, sfx_mswing, 0, S_EGGMOBILE4_LATK6), // S_EGGMOBILE4_LATK5 + STATE(SPR_EGGP, 6, 2, {NULL}, 0, 0, S_EGGMOBILE4_STND), // S_EGGMOBILE4_LATK6 + STATE(SPR_EGGP, 7, 3, {NULL}, 0, 0, S_EGGMOBILE4_RATK2), // S_EGGMOBILE4_RATK1 + STATE(SPR_EGGP, 8, 15, {NULL}, 0, 0, S_EGGMOBILE4_RATK3), // S_EGGMOBILE4_RATK2 + STATE(SPR_EGGP, 9, 2, {NULL}, 0, 0, S_EGGMOBILE4_RATK4), // S_EGGMOBILE4_RATK3 + STATE(SPR_EGGP,10, 2, {NULL}, 0, 0, S_EGGMOBILE4_RATK5), // S_EGGMOBILE4_RATK4 + STATE(SPR_EGGP,11,150, {A_Boss4SpeedUp}, sfx_mswing, 0, S_EGGMOBILE4_RATK6), // S_EGGMOBILE4_RATK5 + STATE(SPR_EGGP,12, 2, {NULL}, 0, 0, S_EGGMOBILE4_STND), // S_EGGMOBILE4_RATK6 + STATE(SPR_EGGP,13, 20, {A_Boss4Raise}, sfx_doord1, 0, S_EGGMOBILE4_RAISE2), // S_EGGMOBILE4_RAISE1 + STATE(SPR_EGGP,15|FF_ANIMATE, -1, {NULL}, 1, 10, S_NULL), // S_EGGMOBILE4_RAISE2 + STATE(SPR_EGGP,13, 0, {A_Boss4Reverse}, sfx_alarm, sfx_s3k60, S_EGGMOBILE4_PAIN2), // S_EGGMOBILE4_PAIN1 + STATE(SPR_EGGP,13, 24, {A_Pain}, 0, 0, S_EGGMOBILE4_STND), // S_EGGMOBILE4_PAIN2 + STATE(SPR_EGGP,14, 2, {A_Fall}, 0, 0, S_EGGMOBILE4_DIE2), // S_EGGMOBILE4_DIE1 + STATE(SPR_EGGP,14, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_DIE3), // S_EGGMOBILE4_DIE2 + STATE(SPR_EGGP,14, 0, {A_Repeat}, 17, S_EGGMOBILE4_DIE2, S_EGGMOBILE4_DIE4), // S_EGGMOBILE4_DIE3 + STATE(SPR_EGGP,14, -1, {A_BossDeath}, 0, 0, S_NULL), // S_EGGMOBILE4_DIE4 + STATE(SPR_EGGP,15, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_FLEE2), // S_EGGMOBILE4_FLEE1 + STATE(SPR_EGGP,16, 2, {A_BossScream}, 0, 0, S_EGGMOBILE4_FLEE1), // S_EGGMOBILE4_FLEE2 + STATE(SPR_BMCE, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGMOBILE4_MACE + STATE(SPR_BMCE, 0, 2, {A_BossScream}, 1, 0, S_EGGMOBILE4_MACE_DIE2), // S_EGGMOBILE4_MACE_DIE1 + STATE(SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_EGGMOBILE4_MACE_DIE3), // S_EGGMOBILE4_MACE_DIE2 + STATE(SPR_NULL, 0, 0, {A_Repeat}, 7, S_EGGMOBILE4_MACE_DIE1, S_SONIC3KBOSSEXPLOSION1), // S_EGGMOBILE4_MACE_DIE3 // Boss 4 jet flame - {SPR_EFIR, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 1, 1, S_NULL}, // S_JETFLAME + STATE(SPR_EFIR, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 1, 1, S_NULL), // S_JETFLAME // Boss 4 Spectator Eggrobo - {SPR_EGR1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGROBO1_STND - {SPR_EGR1, 5, 2, {NULL}, 0, 0, S_EGGROBO1_BSLAP2}, // S_EGGROBO1_BSLAP1 - {SPR_EGR1, FF_ANIMATE|6, 35, {NULL}, 1, 2, S_EGGROBO1_STND}, // S_EGGROBO1_BSLAP2 - {SPR_EGR1, FF_ANIMATE|3, -1, {NULL}, 1, 2, S_NULL}, // S_EGGROBO1_PISSED + STATE(SPR_EGR1, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGROBO1_STND + STATE(SPR_EGR1, 5, 2, {NULL}, 0, 0, S_EGGROBO1_BSLAP2), // S_EGGROBO1_BSLAP1 + STATE(SPR_EGR1, FF_ANIMATE|6, 35, {NULL}, 1, 2, S_EGGROBO1_STND), // S_EGGROBO1_BSLAP2 + STATE(SPR_EGR1, FF_ANIMATE|3, -1, {NULL}, 1, 2, S_NULL), // S_EGGROBO1_PISSED // Boss 4 Spectator Eggrobo jet flame - {SPR_EFIR, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL}, // S_EGGROBOJET + STATE(SPR_EFIR, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL), // S_EGGROBOJET // Boss 5 - {SPR_NULL, 0, 2, {A_CheckFlags2}, MF2_AMBUSH, S_FANG_IDLE0, S_FANG_INTRO0}, // S_FANG_SETUP - - {SPR_NULL, 0, 2, {NULL}, 0, 0, S_FANG_INTRO1}, // S_FANG_INTRO0 - {SPR_NULL, 0, 2, {A_Boss5MakeJunk}, -S_FANG_CLONE1, 0, S_FANG_INTRO2}, // S_FANG_INTRO1 - {SPR_NULL, 0, 0, {A_Repeat}, 25, S_FANG_INTRO1, S_FANG_INTRO3}, // S_FANG_INTRO2 - {SPR_NULL, 0, 0, {A_Boss5MakeJunk}, 0, 1, S_FANG_INTRO4}, // S_FANG_INTRO3 - {SPR_FANG, 30, 1, {A_ZThrust}, 9, (1<<16)|1, S_FANG_INTRO5}, // S_FANG_INTRO4 - {SPR_FANG, 27, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO6}, // S_FANG_INTRO5 - {SPR_FANG, 28, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO7}, // S_FANG_INTRO6 - {SPR_FANG, 29, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO8}, // S_FANG_INTRO7 - {SPR_FANG, 30, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO5}, // S_FANG_INTRO8 - {SPR_FANG, 23|FF_ANIMATE, 50, {NULL}, 1, 4, S_FANG_INTRO10}, // S_FANG_INTRO9 - {SPR_FANG, 25, 5, {NULL}, 0, 0, S_FANG_INTRO11}, // S_FANG_INTRO10 - {SPR_FANG, 26, 2, {A_Boss5MakeJunk}, S_BROKENROBOTD, 2, S_FANG_INTRO12}, // S_FANG_INTRO11 - {SPR_FANG, 31|FF_ANIMATE, 50, {NULL}, 3, 4, S_FANG_IDLE1}, // S_FANG_INTRO12 - - {SPR_FANG, 11, 2, {A_Boss5MakeJunk}, 0, -1, S_FANG_CLONE2}, // S_FANG_CLONE1 - {SPR_FANG, 11, 0, {A_Repeat}, 49, S_FANG_CLONE1, S_FANG_CLONE3}, // S_FANG_INTRO2 - {SPR_FANG, 12, 0, {A_SetObjectFlags}, MF_NOGRAVITY, 1, S_FANG_CLONE4}, // S_FANG_CLONE3 - {SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_IDLE0, 0, S_FANG_CLONE4}, // S_FANG_CLONE4 - - {SPR_FANG, 0, 0, {A_SetObjectFlags}, MF_NOCLIPTHING, 1, S_FANG_IDLE1}, // S_FANG_IDLE0 - {SPR_FANG, 2, 16, {A_Look}, 1, 0, S_FANG_IDLE2}, // S_FANG_IDLE1 - {SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE3}, // S_FANG_IDLE2 - {SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE4}, // S_FANG_IDLE3 - {SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE5}, // S_FANG_IDLE4 - {SPR_FANG, 2, 16, {A_Look}, 1, 0, S_FANG_IDLE6}, // S_FANG_IDLE5 - {SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE7}, // S_FANG_IDLE6 - {SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE8}, // S_FANG_IDLE7 - {SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE1}, // S_FANG_IDLE8 - - {SPR_FANG, 14, 0, {A_DoNPCPain}, FRACUNIT, 0, S_FANG_PAIN2}, // S_FANG_PAIN1 - {SPR_FANG, 14, 1, {A_Boss5CheckOnGround}, S_FANG_PATHINGSTART1, S_FANG_PINCHPATHINGSTART1, S_FANG_PAIN2}, // S_FANG_PAIN2 - - {SPR_FANG, 8, 0, {A_Boss5ExtraRepeat}, 5, 4, S_FANG_PATHINGSTART2}, // S_FANG_PATHINGSTART1 - {SPR_FANG, 8, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PATHING}, // S_FANG_PATHINGSTART2 - {SPR_FANG, 8, 0, {A_Boss5FindWaypoint}, 0, 0, S_FANG_BOUNCE1}, // S_FANG_PATHING - - {SPR_FANG, 8, 2, {A_Thrust}, 0, 1, S_FANG_BOUNCE2}, // S_FANG_BOUNCE1 - {SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_BOUNCE3}, // S_FANG_BOUNCE2 - {SPR_FANG, 10, 1, {A_Boss5Jump}, 0, 0, S_FANG_BOUNCE4}, // S_FANG_BOUNCE3 - {SPR_FANG, 10, 1, {A_Boss5CheckFalling}, S_FANG_CHECKPATH1, S_FANG_FALL1, S_FANG_BOUNCE4}, // S_FANG_BOUNCE4 - - {SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_CHECKPATH1, 0, S_FANG_FALL2}, // S_FANG_FALL1 - {SPR_FANG, 13, 1, {A_Boss5CheckOnGround}, S_FANG_CHECKPATH1, 0, S_FANG_FALL1}, // S_FANG_FALL2 - - {SPR_FANG, 8, 0, {A_Boss5Calm}, 0, 0, S_FANG_CHECKPATH2}, // S_FANG_CHECKPATH1 - {SPR_FANG, 8, 0, {A_Repeat}, 0, S_FANG_PATHINGCONT1, S_FANG_SKID1}, // S_FANG_CHECKPATH2 - - {SPR_FANG, 9, 0, {A_Boss5PinchShot}, MT_FBOMB, -16, S_FANG_PATHINGCONT2}, // S_FANG_PATHINGCONT1 - {SPR_FANG, 9, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PATHINGCONT3}, // S_FANG_PATHINGCONT2 - {SPR_FANG, 9, 2, {A_Thrust}, 0, 1, S_FANG_PATHING}, // S_FANG_PATHINGCONT3 - - {SPR_FANG, 4, 0, {A_PlayAttackSound}, 0, 0, S_FANG_SKID2}, // S_FANG_SKID1 - {SPR_FANG, 4, 1, {A_DoNPCSkid}, S_FANG_SKID3, 0, S_FANG_SKID2}, // S_FANG_SKID2 - {SPR_FANG, 4, 10, {NULL}, 0, 0, S_FANG_CHOOSEATTACK}, // S_FANG_SKID3 - - {SPR_FANG, 0, 0, {A_RandomState}, S_FANG_LOBSHOT0, S_FANG_FIRESTART1, S_NULL}, // S_FANG_CHOOSEATTACK - - {SPR_FANG, 5, 0, {A_PrepareRepeat}, 3, 0, S_FANG_FIRESTART2}, // S_FANG_FIRESTART1 // Reset loop - {SPR_FANG, 5, 18, {A_LookForBetter}, 1, 0, S_FANG_FIRE1}, // S_FANG_FIRESTART2 - {SPR_FANG, 5, 5, {A_FireShot}, MT_CORK, -16, S_FANG_FIRE2}, // S_FANG_FIRE1 // Start of loop - {SPR_FANG, 6, 5, {NULL}, 0, 0, S_FANG_FIRE3}, // S_FANG_FIRE2 - {SPR_FANG, 7, 5, {NULL}, 0, 0, S_FANG_FIRE4}, // S_FANG_FIRE3 - {SPR_FANG, 5, 5, {NULL}, 2, 0, S_FANG_FIREREPEAT}, // S_FANG_FIRE4 - {SPR_FANG, 5, 0, {A_Repeat}, 3, S_FANG_FIRE1, S_FANG_WAIT1}, // S_FANG_FIREREPEAT // End of loop - - {SPR_FANG, 18, 16, {A_LookForBetter}, 1, 0, S_FANG_LOBSHOT1}, // S_FANG_LOBSHOT0 - {SPR_FANG, 19, 2, {A_LookForBetter}, 1, 0, S_FANG_LOBSHOT2}, // S_FANG_LOBSHOT1 - {SPR_FANG, 20, 18, {A_BrakLobShot}, MT_FBOMB, 32+(1<<16), S_FANG_WAIT1}, // S_FANG_LOBSHOT2 - - {SPR_FANG, FF_ANIMATE|15, 70, {NULL}, 1, 5, S_FANG_WAIT2}, // S_FANG_WAIT1 - {SPR_FANG, 0, 35, {A_Look}, 1, 0, S_FANG_IDLE1}, // S_FANG_WAIT2 - - {SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_PATHINGSTART2, S_FANG_PINCHPATHINGSTART1, S_FANG_WALLHIT}, // S_FANG_WALLHIT - - {SPR_FANG, 8, 0, {A_PrepareRepeat}, 1, 0, S_FANG_PINCHPATHINGSTART2}, // S_FANG_PINCHPATHINGSTART1 - {SPR_FANG, 8, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PINCHPATHING}, // S_FANG_PINCHPATHINGSTART2 - {SPR_FANG, 8, 0, {A_Boss5FindWaypoint}, 1, 0, S_FANG_PINCHBOUNCE0}, // S_FANG_PINCHPATHING - {SPR_FANG, 8, 0, {A_SetObjectFlags}, MF_NOCLIP|MF_NOCLIPHEIGHT, 2, S_FANG_PINCHBOUNCE1}, // S_FANG_PINCHBOUNCE0 - {SPR_FANG, 8, 2, {A_Thrust}, 0, 1, S_FANG_PINCHBOUNCE2}, // S_FANG_PINCHBOUNCE1 - {SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_PINCHBOUNCE3}, // S_FANG_PINCHBOUNCE2 - {SPR_FANG, 10, 2, {A_Boss5Jump}, 0, 0, S_FANG_PINCHBOUNCE4}, // S_FANG_PINCHBOUNCE3 - {SPR_FANG, 10, 1, {A_Boss5CheckFalling}, S_FANG_PINCHSKID1, S_FANG_PINCHFALL0, S_FANG_PINCHBOUNCE4}, // S_FANG_PINCHBOUNCE4 - {SPR_FANG, 12, 0, {A_SetObjectFlags}, MF_NOCLIP|MF_NOCLIPHEIGHT, 1, S_FANG_PINCHFALL1}, // S_FANG_PINCHFALL0 - {SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_PINCHSKID1, 0, S_FANG_PINCHFALL2}, // S_FANG_PINCHFALL1 - {SPR_FANG, 13, 1, {A_Boss5CheckOnGround}, S_FANG_PINCHSKID1, 0, S_FANG_PINCHFALL1}, // S_FANG_PINCHFALL2 - {SPR_FANG, 4, 0, {A_PlayAttackSound}, 0, 0, S_FANG_PINCHSKID2}, // S_FANG_PINCHSKID1 - {SPR_FANG, 4, 1, {A_DoNPCSkid}, S_FANG_PINCHLOBSHOT0, 0, S_FANG_PINCHSKID2}, // S_FANG_PINCHSKID2 - {SPR_FANG, 18, 16, {A_FaceTarget}, 3, 0, S_FANG_PINCHLOBSHOT1}, // S_FANG_PINCHLOBSHOT0 - {SPR_FANG, 19, 2, {A_FaceTarget}, 3, 0, S_FANG_PINCHLOBSHOT2}, // S_FANG_PINCHLOBSHOT1 - {SPR_FANG, 20, 30, {A_Boss5MakeItRain}, MT_FBOMB, -16, S_FANG_PINCHLOBSHOT3}, // S_FANG_PINCHLOBSHOT2 - {SPR_FANG, 20, 18, {A_LinedefExecuteFromArg}, 4, 0, S_FANG_PINCHLOBSHOT4}, // S_FANG_PINCHLOBSHOT3 - {SPR_FANG, 0, 0, {A_Boss5Calm}, 0, 0, S_FANG_PATHINGSTART1}, // S_FANG_PINCHLOBSHOT4 - - {SPR_FANG, 21, 0, {A_DoNPCPain}, 0, 0, S_FANG_DIE2}, // S_FANG_DIE1 - {SPR_FANG, 21, 1, {A_Boss5CheckOnGround}, S_FANG_DIE3, 0, S_FANG_DIE2}, // S_FANG_DIE2 - - {SPR_FANG, 22, 0, {A_Scream}, 0, 0, S_FANG_DIE4}, // S_FANG_DIE3 - {SPR_FANG, 22, -1, {A_SetFuse}, 70, 0, S_FANG_DIE5}, // S_FANG_DIE4 - - {SPR_FANG, 11, 0, {A_PlaySound}, sfx_jump, 0, S_FANG_DIE6}, // S_FANG_DIE5 - {SPR_FANG, 11, 1, {A_ZThrust}, 6, (1<<16)|1, S_FANG_DIE7}, // S_FANG_DIE6 - {SPR_FANG, 11, 1, {A_Boss5CheckFalling}, S_FANG_FLEEPATHING1, S_FANG_DIE8, S_FANG_DIE7}, // S_FANG_DIE7 - {SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_FLEEPATHING1, 0, S_FANG_DIE8}, // S_FANG_DIE8 - - {SPR_FANG, 9, 0, {A_PlayActiveSound}, 0, 0, S_FANG_FLEEPATHING2}, // S_FANG_FLEEPATHING1 - {SPR_FANG, 8, 2, {A_Boss5FindWaypoint}, 2, 0, S_FANG_FLEEBOUNCE1}, // S_FANG_FLEEPATHING2 - {SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_FLEEBOUNCE2}, // S_FANG_FLEEBOUNCE1 - {SPR_FANG, 10, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_FANG_FLEEBOUNCE2 - - {SPR_FANG, 17, 7*TICRATE, {NULL}, 0, 0, S_NULL}, // S_FANG_KO - - {SPR_NULL, 0, -1, {A_RandomStateRange}, S_BROKENROBOTA, S_BROKENROBOTF, S_NULL}, // S_BROKENROBOTRANDOM - {SPR_BRKN, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTA - {SPR_BRKN, 4|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTB - {SPR_BRKN, 8|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTC - {SPR_BRKN, 12|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTD - {SPR_BRKN, 16|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTE - {SPR_BRKN, 20|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BROKENROBOTF - - {SPR_WHAT, FF_ANIMATE|FF_FULLBRIGHT, 4, {NULL}, 1, 2, S_ALART2}, // S_ALART1 - {SPR_WHAT, 2|FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 1, 2, S_NULL}, // S_ALART2 - - {SPR_VWRE, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_VWREF - {SPR_VWRE, 1|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_VWREB - - {SPR_PROJ, FF_TRANS20|FF_FULLBRIGHT, 4, {NULL}, 0, 0, S_PROJECTORLIGHT2}, // S_PROJECTORLIGHT1 - {SPR_PROJ, 1|FF_TRANS40|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_PROJECTORLIGHT3}, // S_PROJECTORLIGHT2 - {SPR_PROJ, 2|FF_TRANS20|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_PROJECTORLIGHT4}, // S_PROJECTORLIGHT3 - {SPR_PROJ, 3|FF_TRANS40|FF_FULLBRIGHT, 2, {A_Repeat}, 39, S_PROJECTORLIGHT2, S_PROJECTORLIGHT5}, // S_PROJECTORLIGHT4 - {SPR_PROJ, 4|FF_TRANS60|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_PROJECTORLIGHT5 - - {SPR_FBOM, 0, 1, {A_GhostMe}, 0, 0, S_FBOMB2}, // S_FBOMB1 - {SPR_FBOM, 1, 1, {A_GhostMe}, 0, 0, S_FBOMB1}, // S_FBOMB2 - {SPR_BARX, 0|FF_FULLBRIGHT, 3, {A_SetObjectFlags}, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_FBOMB_EXPL2}, // S_FBOMB_EXPL1 - {SPR_BARX, 1|FF_FULLBRIGHT, 2, {A_Boss5BombExplode}, MT_TNTDUST, 0, S_FBOMB_EXPL3}, // S_FBOMB_EXPL2 - {SPR_BARX, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_FBOMB_EXPL4}, // S_FBOMB_EXPL3 - {SPR_BARX, 2|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL5}, // S_FBOMB_EXPL4 - {SPR_BARX, 3|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL6}, // S_FBOMB_EXPL5 - {SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_NULL}, // S_FBOMB_EXPL6 - {SPR_BARD, 0|FF_TRANS90, 2, {NULL}, 0, 0, S_TNTDUST_2}, // S_TNTDUST_1 - {SPR_BARD, 0|FF_TRANS30, 2*TICRATE, {A_SetRandomTics}, 2, TICRATE, S_TNTDUST_3}, // S_TNTDUST_2 - {SPR_BARD, 0|FF_TRANS40, 10, {NULL}, 0, 0, S_TNTDUST_4}, // S_TNTDUST_3 - {SPR_BARD, 0|FF_TRANS50, 10, {NULL}, 0, 0, S_TNTDUST_5}, // S_TNTDUST_4 - {SPR_BARD, 0|FF_TRANS60, 10, {NULL}, 0, 0, S_TNTDUST_6}, // S_TNTDUST_5 - {SPR_BARD, 0|FF_TRANS70, 10, {NULL}, 0, 0, S_TNTDUST_7}, // S_TNTDUST_6 - {SPR_BARD, 0|FF_TRANS80, 10, {NULL}, 0, 0, S_TNTDUST_8}, // S_TNTDUST_7 - {SPR_BARD, 0|FF_TRANS90, 10, {NULL}, 0, 0, S_NULL}, // S_TNTDUST_8 - {SPR_FSGN, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNA - {SPR_FSGN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNB - {SPR_FSGN, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNC - {SPR_FSGN, 3|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGND + STATE(SPR_NULL, 0, 2, {A_CheckFlags2}, MF2_AMBUSH, S_FANG_IDLE0, S_FANG_INTRO0), // S_FANG_SETUP + + STATE(SPR_NULL, 0, 2, {NULL}, 0, 0, S_FANG_INTRO1), // S_FANG_INTRO0 + STATE(SPR_NULL, 0, 2, {A_Boss5MakeJunk}, -S_FANG_CLONE1, 0, S_FANG_INTRO2), // S_FANG_INTRO1 + STATE(SPR_NULL, 0, 0, {A_Repeat}, 25, S_FANG_INTRO1, S_FANG_INTRO3), // S_FANG_INTRO2 + STATE(SPR_NULL, 0, 0, {A_Boss5MakeJunk}, 0, 1, S_FANG_INTRO4), // S_FANG_INTRO3 + STATE(SPR_FANG, 30, 1, {A_ZThrust}, 9, (1<<16)|1, S_FANG_INTRO5), // S_FANG_INTRO4 + STATE(SPR_FANG, 27, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO6), // S_FANG_INTRO5 + STATE(SPR_FANG, 28, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO7), // S_FANG_INTRO6 + STATE(SPR_FANG, 29, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO8), // S_FANG_INTRO7 + STATE(SPR_FANG, 30, 1, {A_Boss5CheckOnGround}, S_FANG_INTRO9, 0, S_FANG_INTRO5), // S_FANG_INTRO8 + STATE(SPR_FANG, 23|FF_ANIMATE, 50, {NULL}, 1, 4, S_FANG_INTRO10), // S_FANG_INTRO9 + STATE(SPR_FANG, 25, 5, {NULL}, 0, 0, S_FANG_INTRO11), // S_FANG_INTRO10 + STATE(SPR_FANG, 26, 2, {A_Boss5MakeJunk}, S_BROKENROBOTD, 2, S_FANG_INTRO12), // S_FANG_INTRO11 + STATE(SPR_FANG, 31|FF_ANIMATE, 50, {NULL}, 3, 4, S_FANG_IDLE1), // S_FANG_INTRO12 + + STATE(SPR_FANG, 11, 2, {A_Boss5MakeJunk}, 0, -1, S_FANG_CLONE2), // S_FANG_CLONE1 + STATE(SPR_FANG, 11, 0, {A_Repeat}, 49, S_FANG_CLONE1, S_FANG_CLONE3), // S_FANG_INTRO2 + STATE(SPR_FANG, 12, 0, {A_SetObjectFlags}, MF_NOGRAVITY, 1, S_FANG_CLONE4), // S_FANG_CLONE3 + STATE(SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_IDLE0, 0, S_FANG_CLONE4), // S_FANG_CLONE4 + + STATE(SPR_FANG, 0, 0, {A_SetObjectFlags}, MF_NOCLIPTHING, 1, S_FANG_IDLE1), // S_FANG_IDLE0 + STATE(SPR_FANG, 2, 16, {A_Look}, 1, 0, S_FANG_IDLE2), // S_FANG_IDLE1 + STATE(SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE3), // S_FANG_IDLE2 + STATE(SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE4), // S_FANG_IDLE3 + STATE(SPR_FANG, 3, 16, {A_Look}, 1, 0, S_FANG_IDLE5), // S_FANG_IDLE4 + STATE(SPR_FANG, 2, 16, {A_Look}, 1, 0, S_FANG_IDLE6), // S_FANG_IDLE5 + STATE(SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE7), // S_FANG_IDLE6 + STATE(SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE8), // S_FANG_IDLE7 + STATE(SPR_FANG, 1, 16, {A_Look}, 1, 0, S_FANG_IDLE1), // S_FANG_IDLE8 + + STATE(SPR_FANG, 14, 0, {A_DoNPCPain}, FRACUNIT, 0, S_FANG_PAIN2), // S_FANG_PAIN1 + STATE(SPR_FANG, 14, 1, {A_Boss5CheckOnGround}, S_FANG_PATHINGSTART1, S_FANG_PINCHPATHINGSTART1, S_FANG_PAIN2), // S_FANG_PAIN2 + + STATE(SPR_FANG, 8, 0, {A_Boss5ExtraRepeat}, 5, 4, S_FANG_PATHINGSTART2), // S_FANG_PATHINGSTART1 + STATE(SPR_FANG, 8, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PATHING), // S_FANG_PATHINGSTART2 + STATE(SPR_FANG, 8, 0, {A_Boss5FindWaypoint}, 0, 0, S_FANG_BOUNCE1), // S_FANG_PATHING + + STATE(SPR_FANG, 8, 2, {A_Thrust}, 0, 1, S_FANG_BOUNCE2), // S_FANG_BOUNCE1 + STATE(SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_BOUNCE3), // S_FANG_BOUNCE2 + STATE(SPR_FANG, 10, 1, {A_Boss5Jump}, 0, 0, S_FANG_BOUNCE4), // S_FANG_BOUNCE3 + STATE(SPR_FANG, 10, 1, {A_Boss5CheckFalling}, S_FANG_CHECKPATH1, S_FANG_FALL1, S_FANG_BOUNCE4), // S_FANG_BOUNCE4 + + STATE(SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_CHECKPATH1, 0, S_FANG_FALL2), // S_FANG_FALL1 + STATE(SPR_FANG, 13, 1, {A_Boss5CheckOnGround}, S_FANG_CHECKPATH1, 0, S_FANG_FALL1), // S_FANG_FALL2 + + STATE(SPR_FANG, 8, 0, {A_Boss5Calm}, 0, 0, S_FANG_CHECKPATH2), // S_FANG_CHECKPATH1 + STATE(SPR_FANG, 8, 0, {A_Repeat}, 0, S_FANG_PATHINGCONT1, S_FANG_SKID1), // S_FANG_CHECKPATH2 + + STATE(SPR_FANG, 9, 0, {A_Boss5PinchShot}, MT_FBOMB, -16, S_FANG_PATHINGCONT2), // S_FANG_PATHINGCONT1 + STATE(SPR_FANG, 9, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PATHINGCONT3), // S_FANG_PATHINGCONT2 + STATE(SPR_FANG, 9, 2, {A_Thrust}, 0, 1, S_FANG_PATHING), // S_FANG_PATHINGCONT3 + + STATE(SPR_FANG, 4, 0, {A_PlayAttackSound}, 0, 0, S_FANG_SKID2), // S_FANG_SKID1 + STATE(SPR_FANG, 4, 1, {A_DoNPCSkid}, S_FANG_SKID3, 0, S_FANG_SKID2), // S_FANG_SKID2 + STATE(SPR_FANG, 4, 10, {NULL}, 0, 0, S_FANG_CHOOSEATTACK), // S_FANG_SKID3 + + STATE(SPR_FANG, 0, 0, {A_RandomState}, S_FANG_LOBSHOT0, S_FANG_FIRESTART1, S_NULL), // S_FANG_CHOOSEATTACK + + STATE(SPR_FANG, 5, 0, {A_PrepareRepeat}, 3, 0, S_FANG_FIRESTART2), // S_FANG_FIRESTART1 // Reset loop + STATE(SPR_FANG, 5, 18, {A_LookForBetter}, 1, 0, S_FANG_FIRE1), // S_FANG_FIRESTART2 + STATE(SPR_FANG, 5, 5, {A_FireShot}, MT_CORK, -16, S_FANG_FIRE2), // S_FANG_FIRE1 // Start of loop + STATE(SPR_FANG, 6, 5, {NULL}, 0, 0, S_FANG_FIRE3), // S_FANG_FIRE2 + STATE(SPR_FANG, 7, 5, {NULL}, 0, 0, S_FANG_FIRE4), // S_FANG_FIRE3 + STATE(SPR_FANG, 5, 5, {NULL}, 2, 0, S_FANG_FIREREPEAT), // S_FANG_FIRE4 + STATE(SPR_FANG, 5, 0, {A_Repeat}, 3, S_FANG_FIRE1, S_FANG_WAIT1), // S_FANG_FIREREPEAT // End of loop + + STATE(SPR_FANG, 18, 16, {A_LookForBetter}, 1, 0, S_FANG_LOBSHOT1), // S_FANG_LOBSHOT0 + STATE(SPR_FANG, 19, 2, {A_LookForBetter}, 1, 0, S_FANG_LOBSHOT2), // S_FANG_LOBSHOT1 + STATE(SPR_FANG, 20, 18, {A_BrakLobShot}, MT_FBOMB, 32+(1<<16), S_FANG_WAIT1), // S_FANG_LOBSHOT2 + + STATE(SPR_FANG, FF_ANIMATE|15, 70, {NULL}, 1, 5, S_FANG_WAIT2), // S_FANG_WAIT1 + STATE(SPR_FANG, 0, 35, {A_Look}, 1, 0, S_FANG_IDLE1), // S_FANG_WAIT2 + + STATE(SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_PATHINGSTART2, S_FANG_PINCHPATHINGSTART1, S_FANG_WALLHIT), // S_FANG_WALLHIT + + STATE(SPR_FANG, 8, 0, {A_PrepareRepeat}, 1, 0, S_FANG_PINCHPATHINGSTART2), // S_FANG_PINCHPATHINGSTART1 + STATE(SPR_FANG, 8, 0, {A_PlayActiveSound}, 0, 0, S_FANG_PINCHPATHING), // S_FANG_PINCHPATHINGSTART2 + STATE(SPR_FANG, 8, 0, {A_Boss5FindWaypoint}, 1, 0, S_FANG_PINCHBOUNCE0), // S_FANG_PINCHPATHING + STATE(SPR_FANG, 8, 0, {A_SetObjectFlags}, MF_NOCLIP|MF_NOCLIPHEIGHT, 2, S_FANG_PINCHBOUNCE1), // S_FANG_PINCHBOUNCE0 + STATE(SPR_FANG, 8, 2, {A_Thrust}, 0, 1, S_FANG_PINCHBOUNCE2), // S_FANG_PINCHBOUNCE1 + STATE(SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_PINCHBOUNCE3), // S_FANG_PINCHBOUNCE2 + STATE(SPR_FANG, 10, 2, {A_Boss5Jump}, 0, 0, S_FANG_PINCHBOUNCE4), // S_FANG_PINCHBOUNCE3 + STATE(SPR_FANG, 10, 1, {A_Boss5CheckFalling}, S_FANG_PINCHSKID1, S_FANG_PINCHFALL0, S_FANG_PINCHBOUNCE4), // S_FANG_PINCHBOUNCE4 + STATE(SPR_FANG, 12, 0, {A_SetObjectFlags}, MF_NOCLIP|MF_NOCLIPHEIGHT, 1, S_FANG_PINCHFALL1), // S_FANG_PINCHFALL0 + STATE(SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_PINCHSKID1, 0, S_FANG_PINCHFALL2), // S_FANG_PINCHFALL1 + STATE(SPR_FANG, 13, 1, {A_Boss5CheckOnGround}, S_FANG_PINCHSKID1, 0, S_FANG_PINCHFALL1), // S_FANG_PINCHFALL2 + STATE(SPR_FANG, 4, 0, {A_PlayAttackSound}, 0, 0, S_FANG_PINCHSKID2), // S_FANG_PINCHSKID1 + STATE(SPR_FANG, 4, 1, {A_DoNPCSkid}, S_FANG_PINCHLOBSHOT0, 0, S_FANG_PINCHSKID2), // S_FANG_PINCHSKID2 + STATE(SPR_FANG, 18, 16, {A_FaceTarget}, 3, 0, S_FANG_PINCHLOBSHOT1), // S_FANG_PINCHLOBSHOT0 + STATE(SPR_FANG, 19, 2, {A_FaceTarget}, 3, 0, S_FANG_PINCHLOBSHOT2), // S_FANG_PINCHLOBSHOT1 + STATE(SPR_FANG, 20, 30, {A_Boss5MakeItRain}, MT_FBOMB, -16, S_FANG_PINCHLOBSHOT3), // S_FANG_PINCHLOBSHOT2 + STATE(SPR_FANG, 20, 18, {A_LinedefExecuteFromArg}, 4, 0, S_FANG_PINCHLOBSHOT4), // S_FANG_PINCHLOBSHOT3 + STATE(SPR_FANG, 0, 0, {A_Boss5Calm}, 0, 0, S_FANG_PATHINGSTART1), // S_FANG_PINCHLOBSHOT4 + + STATE(SPR_FANG, 21, 0, {A_DoNPCPain}, 0, 0, S_FANG_DIE2), // S_FANG_DIE1 + STATE(SPR_FANG, 21, 1, {A_Boss5CheckOnGround}, S_FANG_DIE3, 0, S_FANG_DIE2), // S_FANG_DIE2 + + STATE(SPR_FANG, 22, 0, {A_Scream}, 0, 0, S_FANG_DIE4), // S_FANG_DIE3 + STATE(SPR_FANG, 22, -1, {A_SetFuse}, 70, 0, S_FANG_DIE5), // S_FANG_DIE4 + + STATE(SPR_FANG, 11, 0, {A_PlaySound}, sfx_jump, 0, S_FANG_DIE6), // S_FANG_DIE5 + STATE(SPR_FANG, 11, 1, {A_ZThrust}, 6, (1<<16)|1, S_FANG_DIE7), // S_FANG_DIE6 + STATE(SPR_FANG, 11, 1, {A_Boss5CheckFalling}, S_FANG_FLEEPATHING1, S_FANG_DIE8, S_FANG_DIE7), // S_FANG_DIE7 + STATE(SPR_FANG, 12, 1, {A_Boss5CheckOnGround}, S_FANG_FLEEPATHING1, 0, S_FANG_DIE8), // S_FANG_DIE8 + + STATE(SPR_FANG, 9, 0, {A_PlayActiveSound}, 0, 0, S_FANG_FLEEPATHING2), // S_FANG_FLEEPATHING1 + STATE(SPR_FANG, 8, 2, {A_Boss5FindWaypoint}, 2, 0, S_FANG_FLEEBOUNCE1), // S_FANG_FLEEPATHING2 + STATE(SPR_FANG, 9, 2, {NULL}, 0, 0, S_FANG_FLEEBOUNCE2), // S_FANG_FLEEBOUNCE1 + STATE(SPR_FANG, 10, -1, {A_BossDeath}, 0, 0, S_NULL), // S_FANG_FLEEBOUNCE2 + + STATE(SPR_FANG, 17, 7*TICRATE, {NULL}, 0, 0, S_NULL), // S_FANG_KO + + STATE(SPR_NULL, 0, -1, {A_RandomStateRange}, S_BROKENROBOTA, S_BROKENROBOTF, S_NULL), // S_BROKENROBOTRANDOM + STATE(SPR_BRKN, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTA + STATE(SPR_BRKN, 4|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTB + STATE(SPR_BRKN, 8|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTC + STATE(SPR_BRKN, 12|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTD + STATE(SPR_BRKN, 16|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTE + STATE(SPR_BRKN, 20|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 3, 4, S_NULL), // S_BROKENROBOTF + + STATE(SPR_WHAT, FF_ANIMATE|FF_FULLBRIGHT, 4, {NULL}, 1, 2, S_ALART2), // S_ALART1 + STATE(SPR_WHAT, 2|FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 1, 2, S_NULL), // S_ALART2 + + STATE(SPR_VWRE, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_VWREF + STATE(SPR_VWRE, 1|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_VWREB + + STATE(SPR_PROJ, FF_TRANS20|FF_FULLBRIGHT, 4, {NULL}, 0, 0, S_PROJECTORLIGHT2), // S_PROJECTORLIGHT1 + STATE(SPR_PROJ, 1|FF_TRANS40|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_PROJECTORLIGHT3), // S_PROJECTORLIGHT2 + STATE(SPR_PROJ, 2|FF_TRANS20|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_PROJECTORLIGHT4), // S_PROJECTORLIGHT3 + STATE(SPR_PROJ, 3|FF_TRANS40|FF_FULLBRIGHT, 2, {A_Repeat}, 39, S_PROJECTORLIGHT2, S_PROJECTORLIGHT5), // S_PROJECTORLIGHT4 + STATE(SPR_PROJ, 4|FF_TRANS60|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_PROJECTORLIGHT5 + + STATE(SPR_FBOM, 0, 1, {A_GhostMe}, 0, 0, S_FBOMB2), // S_FBOMB1 + STATE(SPR_FBOM, 1, 1, {A_GhostMe}, 0, 0, S_FBOMB1), // S_FBOMB2 + STATE(SPR_BARX, 0|FF_FULLBRIGHT, 3, {A_SetObjectFlags}, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_FBOMB_EXPL2), // S_FBOMB_EXPL1 + STATE(SPR_BARX, 1|FF_FULLBRIGHT, 2, {A_Boss5BombExplode}, MT_TNTDUST, 0, S_FBOMB_EXPL3), // S_FBOMB_EXPL2 + STATE(SPR_BARX, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_FBOMB_EXPL4), // S_FBOMB_EXPL3 + STATE(SPR_BARX, 2|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL5), // S_FBOMB_EXPL4 + STATE(SPR_BARX, 3|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL6), // S_FBOMB_EXPL5 + STATE(SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_NULL), // S_FBOMB_EXPL6 + STATE(SPR_BARD, 0|FF_TRANS90, 2, {NULL}, 0, 0, S_TNTDUST_2), // S_TNTDUST_1 + STATE(SPR_BARD, 0|FF_TRANS30, 2*TICRATE, {A_SetRandomTics}, 2, TICRATE, S_TNTDUST_3), // S_TNTDUST_2 + STATE(SPR_BARD, 0|FF_TRANS40, 10, {NULL}, 0, 0, S_TNTDUST_4), // S_TNTDUST_3 + STATE(SPR_BARD, 0|FF_TRANS50, 10, {NULL}, 0, 0, S_TNTDUST_5), // S_TNTDUST_4 + STATE(SPR_BARD, 0|FF_TRANS60, 10, {NULL}, 0, 0, S_TNTDUST_6), // S_TNTDUST_5 + STATE(SPR_BARD, 0|FF_TRANS70, 10, {NULL}, 0, 0, S_TNTDUST_7), // S_TNTDUST_6 + STATE(SPR_BARD, 0|FF_TRANS80, 10, {NULL}, 0, 0, S_TNTDUST_8), // S_TNTDUST_7 + STATE(SPR_BARD, 0|FF_TRANS90, 10, {NULL}, 0, 0, S_NULL), // S_TNTDUST_8 + STATE(SPR_FSGN, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_FSGNA + STATE(SPR_FSGN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_FSGNB + STATE(SPR_FSGN, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_FSGNC + STATE(SPR_FSGN, 3|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_FSGND // Black Eggman (Boss 7) - {SPR_BRAK, 0, 1, {A_SetReactionTime}, 0, 0, S_BLACKEGG_STND2}, // S_BLACKEGG_STND - {SPR_BRAK, 0, 7, {A_Look}, 1, 0, S_BLACKEGG_STND2}, // S_BLACKEGG_STND2 - {SPR_BRAK, 1, 7, {NULL}, 0, 0, S_BLACKEGG_WALK2}, // S_BLACKEGG_WALK1 - {SPR_BRAK, 2, 7, {NULL}, 0, 0, S_BLACKEGG_WALK3}, // S_BLACKEGG_WALK2 - {SPR_BRAK, 3, 7, {A_PlaySound}, sfx_bestep, 0, S_BLACKEGG_WALK4}, // S_BLACKEGG_WALK3 - {SPR_BRAK, 4, 7, {NULL}, 0, 0, S_BLACKEGG_WALK5}, // S_BLACKEGG_WALK4 - {SPR_BRAK, 5, 7, {NULL}, 0, 0, S_BLACKEGG_WALK6}, // S_BLACKEGG_WALK5 - {SPR_BRAK, 6, 7, {A_PlaySound}, sfx_bestp2, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_WALK6 - {SPR_BRAK, 7, 3, {NULL}, 0, 0, S_BLACKEGG_SHOOT2}, // S_BLACKEGG_SHOOT1 - {SPR_BRAK, 24, 1, {A_PlaySound}, sfx_befire, 0, S_BLACKEGG_SHOOT1}, // S_BLACKEGG_SHOOT2 - - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN2}, // S_BLACKEGG_PAIN1 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN3}, // S_BLACKEGG_PAIN2 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN4}, // S_BLACKEGG_PAIN3 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN5}, // S_BLACKEGG_PAIN4 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN6}, // S_BLACKEGG_PAIN5 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN7}, // S_BLACKEGG_PAIN6 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN8}, // S_BLACKEGG_PAIN7 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN9}, // S_BLACKEGG_PAIN8 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN10}, // S_BLACKEGG_PAIN9 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN11}, // S_BLACKEGG_PAIN10 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN12}, // S_BLACKEGG_PAIN11 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN13}, // S_BLACKEGG_PAIN12 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN14}, // S_BLACKEGG_PAIN13 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN15}, // S_BLACKEGG_PAIN14 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN16}, // S_BLACKEGG_PAIN15 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN17}, // S_BLACKEGG_PAIN16 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN18}, // S_BLACKEGG_PAIN17 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN19}, // S_BLACKEGG_PAIN18 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN20}, // S_BLACKEGG_PAIN19 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN21}, // S_BLACKEGG_PAIN20 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN22}, // S_BLACKEGG_PAIN21 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN23}, // S_BLACKEGG_PAIN22 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN24}, // S_BLACKEGG_PAIN23 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN25}, // S_BLACKEGG_PAIN24 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN26}, // S_BLACKEGG_PAIN25 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN27}, // S_BLACKEGG_PAIN26 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN28}, // S_BLACKEGG_PAIN27 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN29}, // S_BLACKEGG_PAIN28 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN30}, // S_BLACKEGG_PAIN29 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN31}, // S_BLACKEGG_PAIN30 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN32}, // S_BLACKEGG_PAIN31 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN33}, // S_BLACKEGG_PAIN32 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN34}, // S_BLACKEGG_PAIN33 - {SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN35}, // S_BLACKEGG_PAIN34 - {SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_PAIN35 - - {SPR_BRAK, 9, 20, {NULL}, 0, 0, S_BLACKEGG_HITFACE2}, // S_BLACKEGG_HITFACE1 - {SPR_BRAK, 10, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE3}, // S_BLACKEGG_HITFACE2 - {SPR_BRAK, 11, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE4}, // S_BLACKEGG_HITFACE3 - {SPR_BRAK, 12,14, {NULL}, 0, 0, S_BLACKEGG_PAIN1}, // S_BLACKEGG_HITFACE4 - - {SPR_BRAK, 13, 14, {NULL}, 0, 0, S_BLACKEGG_DIE2}, // S_BLACKEGG_DIE1 - {SPR_BRAK, 14, 7, {NULL}, 0, 0, S_BLACKEGG_DIE3}, // S_BLACKEGG_DIE2 - {SPR_BRAK, 15, 5, {NULL}, 0, 0, S_BLACKEGG_DIE4}, // S_BLACKEGG_DIE3 - {SPR_BRAK, 16, 3, {A_PlaySound}, sfx_bgxpld, 0, S_BLACKEGG_DIE5}, // S_BLACKEGG_DIE4 - {SPR_BRAK, 17, -1, {NULL}, 0, 0, S_BLACKEGG_DIE5}, // S_BLACKEGG_DIE5 - - {SPR_BRAK, 18, 14, {NULL}, 0, 0, S_BLACKEGG_MISSILE2}, // S_BLACKEGG_MISSILE1 - {SPR_BRAK, 19, 5, {NULL}, 0, 0, S_BLACKEGG_MISSILE3}, // S_BLACKEGG_MISSILE2 - {SPR_BRAK, 20, 35, {A_Boss7FireMissiles}, MT_BLACKEGGMAN_MISSILE, sfx_beshot, S_BLACKEGG_JUMP1}, // S_BLACKEGG_MISSILE3 - - {SPR_BRAK, 21, -1, {NULL}, 0, 0, S_BLACKEGG_STND}, // S_BLACKEGG_GOOP - - {SPR_BRAK, 22, 14, {A_PlaySound}, sfx_belnch, 0, S_BLACKEGG_JUMP2}, // S_BLACKEGG_JUMP1 - {SPR_BRAK, 23, -1, {NULL}, 0, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_JUMP2 - - {SPR_BRAK, 21, 3*TICRATE, {NULL}, 0, 0, S_BLACKEGG_DESTROYPLAT2}, // S_BLACKEGG_DESTROYPLAT1 - {SPR_BRAK, 21, 1, {A_PlaySound}, sfx_s3k54, 0, S_BLACKEGG_DESTROYPLAT3}, // S_BLACKEGG_DESTROYPLAT2 - {SPR_BRAK, 21, 14, {A_LinedefExecuteFromArg}, 5, 0, S_BLACKEGG_STND}, // S_BLACKEGG_DESTROYPLAT3 - - {SPR_NULL, 0, 1, {A_CapeChase}, (160 - 20) << 16, 0, S_BLACKEGG_HELPER}, // S_BLACKEGG_HELPER - - {SPR_BGOO, FF_TRANS50 , 2, {NULL}, 0, 0, S_BLACKEGG_GOOP2}, // S_BLACKEGG_GOOP1 - {SPR_BGOO, FF_TRANS50|1, 2, {NULL}, 0, 0, S_BLACKEGG_GOOP1}, // S_BLACKEGG_GOOP2 - {SPR_BGOO, FF_TRANS50|2, 6*TICRATE, {A_GoopSplat}, 0, 0, S_BLACKEGG_GOOP4}, // S_BLACKEGG_GOOP3 - {SPR_BGOO, FF_TRANS60|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP5}, // S_BLACKEGG_GOOP4 - {SPR_BGOO, FF_TRANS70|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP6}, // S_BLACKEGG_GOOP5 - {SPR_BGOO, FF_TRANS80|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP7}, // S_BLACKEGG_GOOP6 - {SPR_BGOO, FF_TRANS90|2, 4, {NULL}, 0, 0, S_NULL}, // S_BLACKEGG_GOOP7 - - {SPR_BMSL, 0, 1, {NULL}, 0, 0, S_BLACKEGG_MISSILE}, // S_BLACKEGG_MISSILE + STATE(SPR_BRAK, 0, 1, {A_SetReactionTime}, 0, 0, S_BLACKEGG_STND2), // S_BLACKEGG_STND + STATE(SPR_BRAK, 0, 7, {A_Look}, 1, 0, S_BLACKEGG_STND2), // S_BLACKEGG_STND2 + STATE(SPR_BRAK, 1, 7, {NULL}, 0, 0, S_BLACKEGG_WALK2), // S_BLACKEGG_WALK1 + STATE(SPR_BRAK, 2, 7, {NULL}, 0, 0, S_BLACKEGG_WALK3), // S_BLACKEGG_WALK2 + STATE(SPR_BRAK, 3, 7, {A_PlaySound}, sfx_bestep, 0, S_BLACKEGG_WALK4), // S_BLACKEGG_WALK3 + STATE(SPR_BRAK, 4, 7, {NULL}, 0, 0, S_BLACKEGG_WALK5), // S_BLACKEGG_WALK4 + STATE(SPR_BRAK, 5, 7, {NULL}, 0, 0, S_BLACKEGG_WALK6), // S_BLACKEGG_WALK5 + STATE(SPR_BRAK, 6, 7, {A_PlaySound}, sfx_bestp2, 0, S_BLACKEGG_WALK1), // S_BLACKEGG_WALK6 + STATE(SPR_BRAK, 7, 3, {NULL}, 0, 0, S_BLACKEGG_SHOOT2), // S_BLACKEGG_SHOOT1 + STATE(SPR_BRAK, 24, 1, {A_PlaySound}, sfx_befire, 0, S_BLACKEGG_SHOOT1), // S_BLACKEGG_SHOOT2 + + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN2), // S_BLACKEGG_PAIN1 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN3), // S_BLACKEGG_PAIN2 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN4), // S_BLACKEGG_PAIN3 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN5), // S_BLACKEGG_PAIN4 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN6), // S_BLACKEGG_PAIN5 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN7), // S_BLACKEGG_PAIN6 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN8), // S_BLACKEGG_PAIN7 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN9), // S_BLACKEGG_PAIN8 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN10), // S_BLACKEGG_PAIN9 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN11), // S_BLACKEGG_PAIN10 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN12), // S_BLACKEGG_PAIN11 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN13), // S_BLACKEGG_PAIN12 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN14), // S_BLACKEGG_PAIN13 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN15), // S_BLACKEGG_PAIN14 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN16), // S_BLACKEGG_PAIN15 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN17), // S_BLACKEGG_PAIN16 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN18), // S_BLACKEGG_PAIN17 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN19), // S_BLACKEGG_PAIN18 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN20), // S_BLACKEGG_PAIN19 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN21), // S_BLACKEGG_PAIN20 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN22), // S_BLACKEGG_PAIN21 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN23), // S_BLACKEGG_PAIN22 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN24), // S_BLACKEGG_PAIN23 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN25), // S_BLACKEGG_PAIN24 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN26), // S_BLACKEGG_PAIN25 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN27), // S_BLACKEGG_PAIN26 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN28), // S_BLACKEGG_PAIN27 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN29), // S_BLACKEGG_PAIN28 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN30), // S_BLACKEGG_PAIN29 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN31), // S_BLACKEGG_PAIN30 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN32), // S_BLACKEGG_PAIN31 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN33), // S_BLACKEGG_PAIN32 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN34), // S_BLACKEGG_PAIN33 + STATE(SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN35), // S_BLACKEGG_PAIN34 + STATE(SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_WALK1), // S_BLACKEGG_PAIN35 + + STATE(SPR_BRAK, 9, 20, {NULL}, 0, 0, S_BLACKEGG_HITFACE2), // S_BLACKEGG_HITFACE1 + STATE(SPR_BRAK, 10, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE3), // S_BLACKEGG_HITFACE2 + STATE(SPR_BRAK, 11, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE4), // S_BLACKEGG_HITFACE3 + STATE(SPR_BRAK, 12,14, {NULL}, 0, 0, S_BLACKEGG_PAIN1), // S_BLACKEGG_HITFACE4 + + STATE(SPR_BRAK, 13, 14, {NULL}, 0, 0, S_BLACKEGG_DIE2), // S_BLACKEGG_DIE1 + STATE(SPR_BRAK, 14, 7, {NULL}, 0, 0, S_BLACKEGG_DIE3), // S_BLACKEGG_DIE2 + STATE(SPR_BRAK, 15, 5, {NULL}, 0, 0, S_BLACKEGG_DIE4), // S_BLACKEGG_DIE3 + STATE(SPR_BRAK, 16, 3, {A_PlaySound}, sfx_bgxpld, 0, S_BLACKEGG_DIE5), // S_BLACKEGG_DIE4 + STATE(SPR_BRAK, 17, -1, {NULL}, 0, 0, S_BLACKEGG_DIE5), // S_BLACKEGG_DIE5 + + STATE(SPR_BRAK, 18, 14, {NULL}, 0, 0, S_BLACKEGG_MISSILE2), // S_BLACKEGG_MISSILE1 + STATE(SPR_BRAK, 19, 5, {NULL}, 0, 0, S_BLACKEGG_MISSILE3), // S_BLACKEGG_MISSILE2 + STATE(SPR_BRAK, 20, 35, {A_Boss7FireMissiles}, MT_BLACKEGGMAN_MISSILE, sfx_beshot, S_BLACKEGG_JUMP1), // S_BLACKEGG_MISSILE3 + + STATE(SPR_BRAK, 21, -1, {NULL}, 0, 0, S_BLACKEGG_STND), // S_BLACKEGG_GOOP + + STATE(SPR_BRAK, 22, 14, {A_PlaySound}, sfx_belnch, 0, S_BLACKEGG_JUMP2), // S_BLACKEGG_JUMP1 + STATE(SPR_BRAK, 23, -1, {NULL}, 0, 0, S_BLACKEGG_WALK1), // S_BLACKEGG_JUMP2 + + STATE(SPR_BRAK, 21, 3*TICRATE, {NULL}, 0, 0, S_BLACKEGG_DESTROYPLAT2), // S_BLACKEGG_DESTROYPLAT1 + STATE(SPR_BRAK, 21, 1, {A_PlaySound}, sfx_s3k54, 0, S_BLACKEGG_DESTROYPLAT3), // S_BLACKEGG_DESTROYPLAT2 + STATE(SPR_BRAK, 21, 14, {A_LinedefExecuteFromArg}, 5, 0, S_BLACKEGG_STND), // S_BLACKEGG_DESTROYPLAT3 + + STATE(SPR_NULL, 0, 1, {A_CapeChase}, (160 - 20) << 16, 0, S_BLACKEGG_HELPER), // S_BLACKEGG_HELPER + + STATE(SPR_BGOO, FF_TRANS50 , 2, {NULL}, 0, 0, S_BLACKEGG_GOOP2), // S_BLACKEGG_GOOP1 + STATE(SPR_BGOO, FF_TRANS50|1, 2, {NULL}, 0, 0, S_BLACKEGG_GOOP1), // S_BLACKEGG_GOOP2 + STATE(SPR_BGOO, FF_TRANS50|2, 6*TICRATE, {A_GoopSplat}, 0, 0, S_BLACKEGG_GOOP4), // S_BLACKEGG_GOOP3 + STATE(SPR_BGOO, FF_TRANS60|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP5), // S_BLACKEGG_GOOP4 + STATE(SPR_BGOO, FF_TRANS70|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP6), // S_BLACKEGG_GOOP5 + STATE(SPR_BGOO, FF_TRANS80|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP7), // S_BLACKEGG_GOOP6 + STATE(SPR_BGOO, FF_TRANS90|2, 4, {NULL}, 0, 0, S_NULL), // S_BLACKEGG_GOOP7 + + STATE(SPR_BMSL, 0, 1, {NULL}, 0, 0, S_BLACKEGG_MISSILE), // S_BLACKEGG_MISSILE // New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon) - {SPR_BRAK, 0, 10, {A_Look}, 0, 0, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_IDLE - {SPR_BRAK, 1, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK2}, // S_CYBRAKDEMON_WALK1 - {SPR_BRAK, 2, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK3}, // S_CYBRAKDEMON_WALK2 - {SPR_BRAK, 3, 8, {A_BrakChase}, 3, sfx_bestep, S_CYBRAKDEMON_WALK4}, // S_CYBRAKDEMON_WALK3 - {SPR_BRAK, 4, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK5}, // S_CYBRAKDEMON_WALK4 - {SPR_BRAK, 5, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK6}, // S_CYBRAKDEMON_WALK5 - {SPR_BRAK, 6, 8, {A_BrakChase}, 3, sfx_bestp2, S_CYBRAKDEMON_WALK1}, // S_CYBRAKDEMON_WALK6 - {SPR_BRAK, 7, 6, {A_RandomState}, S_CYBRAKDEMON_MISSILE_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1}, // S_CYBRAKDEMON_CHOOSE_ATTACK1 - {SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK2}, // S_CYBRAKDEMON_MISSILE_ATTACK1 // Aim - {SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK3}, // S_CYBRAKDEMON_MISSILE_ATTACK2 // Fire - {SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK4}, // S_CYBRAKDEMON_MISSILE_ATTACK3 // Aim - {SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK5}, // S_CYBRAKDEMON_MISSILE_ATTACK4 // Fire - {SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK6}, // S_CYBRAKDEMON_MISSILE_ATTACK5 // Aim - {SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_MISSILE_ATTACK6 // Fire - {SPR_BRAK, 7, 1, {A_Repeat}, 1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK2}, // S_CYBRAKDEMON_FLAME_ATTACK1 // Reset - {SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FLAME_ATTACK3}, // S_CYBRAKDEMON_FLAME_ATTACK2 // Aim - {SPR_BRAK, 26 + FF_FULLBRIGHT, 2, {A_BrakFireShot}, MT_CYBRAKDEMON_FLAMESHOT, 128, S_CYBRAKDEMON_FLAME_ATTACK4}, // S_CYBRAKDEMON_FLAME_ATTACK3 // Fire - {SPR_BRAK, 7, 1, {A_Repeat}, 30, S_CYBRAKDEMON_FLAME_ATTACK3, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_FLAME_ATTACK4 // Loop - {SPR_BRAK, 0, 6, {A_RandomState}, S_CYBRAKDEMON_VILE_ATTACK1, S_CYBRAKDEMON_NAPALM_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1}, // S_CYBRAKDEMON_CHOOSE_ATTACK2 - {SPR_BRAK, 20, 0, {A_LinedefExecuteFromArg}, 5, 0, S_CYBRAKDEMON_VILE_ATTACK2}, // S_CYBRAKDEMON_VILE_ATTACK1 - {SPR_BRAK, 20, 24, {A_VileTarget}, MT_CYBRAKDEMON_TARGET_RETICULE, 1, S_CYBRAKDEMON_VILE_ATTACK3}, // S_CYBRAKDEMON_VILE_ATTACK2 - {SPR_BRAK, 19, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK4}, // S_CYBRAKDEMON_VILE_ATTACK3 - {SPR_BRAK, 18, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK5}, // S_CYBRAKDEMON_VILE_ATTACK4 - {SPR_BRAK, 8, 32, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK6}, // S_CYBRAKDEMON_VILE_ATTACK5 - {SPR_BRAK, 20 + FF_FULLBRIGHT, 28, {A_VileAttack}, sfx_brakrx, MT_CYBRAKDEMON_VILE_EXPLOSION + (1<<16), S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_VILE_ATTACK6 - {SPR_BRAK, 0, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_NAPALM_ATTACK2}, // S_CYBRAKDEMON_NAPALM_ATTACK1 - {SPR_BRAK, 21 + FF_FULLBRIGHT, 8, {A_BrakLobShot}, MT_CYBRAKDEMON_NAPALM_BOMB_LARGE, 96, S_CYBRAKDEMON_NAPALM_ATTACK3}, // S_CYBRAKDEMON_NAPALM_ATTACK2 - {SPR_BRAK, 0, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_NAPALM_ATTACK3 - {SPR_BRAK, 0, 0, {A_SetObjectFlags2}, MF2_FRET, 1, S_CYBRAKDEMON_FINISH_ATTACK2}, // S_CYBRAKDEMON_FINISH_ATTACK1 // If just attacked, remove MF2_FRET w/out going back to spawnstate - {SPR_BRAK, 0, 0, {A_SetReactionTime}, 0, 0, S_CYBRAKDEMON_WALK1}, // S_CYBRAKDEMON_FINISH_ATTACK2 // If just attacked, remove MF2_FRET w/out going back to spawnstate - {SPR_BRAK, 18, 24, {A_Pain}, 0, 0, S_CYBRAKDEMON_PAIN2}, // S_CYBRAKDEMON_PAIN1 - {SPR_BRAK, 18, 0, {A_CheckHealth}, 3, S_CYBRAKDEMON_PAIN3, S_CYBRAKDEMON_CHOOSE_ATTACK1}, // S_CYBRAKDEMON_PAIN2 - {SPR_BRAK, 18, 0, {A_LinedefExecuteFromArg}, 4, 0, S_CYBRAKDEMON_CHOOSE_ATTACK1}, // S_CYBRAKDEMON_PAIN3 - {SPR_BRAK, 18, 1, {A_Repeat}, 1, S_CYBRAKDEMON_DIE1, S_CYBRAKDEMON_DIE2}, // S_CYBRAKDEMON_DIE1 - {SPR_BRAK, 18, 2, {A_BossScream}, 2, 0, S_CYBRAKDEMON_DIE3}, // S_CYBRAKDEMON_DIE2 - {SPR_BRAK, 18, 0, {A_Repeat}, 52, S_CYBRAKDEMON_DIE2, S_CYBRAKDEMON_DIE4}, // S_CYBRAKDEMON_DIE3 - {SPR_BRAK, 13, 34, {A_BossDeath}, 0, 0, S_CYBRAKDEMON_DIE5}, // S_CYBRAKDEMON_DIE4 - {SPR_BRAK, 14, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE6}, // S_CYBRAKDEMON_DIE5 - {SPR_BRAK, 15, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE7}, // S_CYBRAKDEMON_DIE6 - {SPR_BRAK, 16, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE8}, // S_CYBRAKDEMON_DIE7 - {SPR_BRAK, 17, 34, {NULL}, sfx_befall, 0, S_CYBRAKDEMON_DIE8}, // S_CYBRAKDEMON_DIE8 - {SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 2, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_DEINVINCIBLERIZE - {SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 1, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_INVINCIBLERIZE - - {SPR_RCKT, 0 + FF_FULLBRIGHT, 1, {A_SetObjectFlags2}, MF2_RAILRING, 2, S_CYBRAKDEMONMISSILE}, // S_CYBRAKDEMONMISSILE - {SPR_RCKT, 1 + FF_FULLBRIGHT, 8, {A_Explode}, 0, 0, S_CYBRAKDEMONMISSILE_EXPLODE2}, // S_CYBRAKDEMONMISSILE_EXPLODE1 //TODO: set missile mobj's "damage" to an appropriate radius - {SPR_RCKT, 2 + FF_FULLBRIGHT, 6, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (6<<16), 32 + (16<<16), S_CYBRAKDEMONMISSILE_EXPLODE3}, // S_CYBRAKDEMONMISSILE_EXPLODE2 - {SPR_RCKT, 3 + FF_FULLBRIGHT, 4, {NULL}, 0, 0, S_NULL}, // S_CYBRAKDEMONMISSILE_EXPLODE3 - - {SPR_FLME, FF_FULLBRIGHT , 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY2}, // S_CYBRAKDEMONFLAMESHOT_FLY1 - {SPR_FLME, FF_FULLBRIGHT|1, 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3}, // S_CYBRAKDEMONFLAMESHOT_FLY2 - {SPR_FLME, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3}, // S_CYBRAKDEMONFLAMESHOT_FLY3 - {SPR_FLME, FF_FULLBRIGHT|2, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL}, // S_CYBRAKDEMONFLAMESHOT_DIE - - {SPR_FLAM, FF_FULLBRIGHT, 1, {A_SetFuse}, 10*TICRATE, 0, S_FLAMEREST}, // S_CYBRAKDEMONFLAMEREST - - {SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_INIT2}, // S_CYBRAKDEMONELECTRICBARRIER_INIT1 - {SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_INVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND}, // S_CYBRAKDEMONELECTRICBARRIER_INIT2 - {SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_PlayActiveSound}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER1}, // S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND - {SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER2}, // S_CYBRAKDEMONELECTRICBARRIER1 - {SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER3}, // S_CYBRAKDEMONELECTRICBARRIER2 - {SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER4}, // S_CYBRAKDEMONELECTRICBARRIER3 - {SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER5}, // S_CYBRAKDEMONELECTRICBARRIER4 - {SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER6}, // S_CYBRAKDEMONELECTRICBARRIER5 - {SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER7}, // S_CYBRAKDEMONELECTRICBARRIER6 - {SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER8}, // S_CYBRAKDEMONELECTRICBARRIER7 - {SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER9}, // S_CYBRAKDEMONELECTRICBARRIER8 - {SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER10}, // S_CYBRAKDEMONELECTRICBARRIER9 - {SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER11}, // S_CYBRAKDEMONELECTRICBARRIER10 - {SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER12}, // S_CYBRAKDEMONELECTRICBARRIER11 - {SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER13}, // S_CYBRAKDEMONELECTRICBARRIER12 - {SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER14}, // S_CYBRAKDEMONELECTRICBARRIER13 - {SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER15}, // S_CYBRAKDEMONELECTRICBARRIER14 - {SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER16}, // S_CYBRAKDEMONELECTRICBARRIER15 - {SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER17}, // S_CYBRAKDEMONELECTRICBARRIER16 - {SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER18}, // S_CYBRAKDEMONELECTRICBARRIER17 - {SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER19}, // S_CYBRAKDEMONELECTRICBARRIER18 - {SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER20}, // S_CYBRAKDEMONELECTRICBARRIER19 - {SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER21}, // S_CYBRAKDEMONELECTRICBARRIER20 - {SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER22}, // S_CYBRAKDEMONELECTRICBARRIER21 - {SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER23}, // S_CYBRAKDEMONELECTRICBARRIER22 - {SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER24}, // S_CYBRAKDEMONELECTRICBARRIER23 - {SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND}, // S_CYBRAKDEMONELECTRICBARRIER24 - {SPR_NULL, 0, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_DEINVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_DIE2}, // S_CYBRAKDEMONELECTRICBARRIER_DIE1 - {SPR_NULL, 0, 0, {A_SetObjectFlags}, MF_PUSHABLE|MF_FIRE|MF_PAIN, 1, S_CYBRAKDEMONELECTRICBARRIER_DIE3}, // S_CYBRAKDEMONELECTRICBARRIER_DIE2 - {SPR_NULL, 0, 20*TICRATE, {A_Scream}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS}, // S_CYBRAKDEMONELECTRICBARRIER_DIE3 - {SPR_NULL, 0, 0, {A_CheckRandom}, 10, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK, - {SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS, - {SPR_NULL, 0, 0, {A_RandomStateRange}, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE, - {SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1, - {SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2, - {SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3, - {SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4, - {SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5, - {SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6, - {SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7, - {SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8, - {SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9, - {SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10, - {SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11, - {SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12, - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL, - {SPR_NULL, 0, 0, {A_Repeat}, 5*TICRATE, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK, S_CYBRAKDEMONELECTRICBARRIER_REVIVE1}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP, - {SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE2}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE1 - {SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE3}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE2 - {SPR_NULL, 0, TICRATE, {A_PlaySound}, sfx_s3k79, 0, S_NULL}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE3 - - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, sfx_s3k9d, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE2}, // S_CYBRAKDEMONTARGETRETICULE1 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE3}, // S_CYBRAKDEMONTARGETRETICULE2 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|1, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE4}, // S_CYBRAKDEMONTARGETRETICULE3 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE5}, // S_CYBRAKDEMONTARGETRETICULE4 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|2, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE6}, // S_CYBRAKDEMONTARGETRETICULE5 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE7}, // S_CYBRAKDEMONTARGETRETICULE6 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|3, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE8}, // S_CYBRAKDEMONTARGETRETICULE7 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE9}, // S_CYBRAKDEMONTARGETRETICULE8 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|4, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE10}, // S_CYBRAKDEMONTARGETRETICULE9 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE11}, // S_CYBRAKDEMONTARGETRETICULE10 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|5, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE12}, // S_CYBRAKDEMONTARGETRETICULE11 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE13}, // S_CYBRAKDEMONTARGETRETICULE12 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE14}, // S_CYBRAKDEMONTARGETRETICULE13 - {SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_Repeat}, 6, S_CYBRAKDEMONTARGETRETICULE2, S_NULL}, // S_CYBRAKDEMONTARGETRETICULE14 - - {SPR_HOOP, FF_TRANS50|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_CYBRAKDEMONTARGETDOT - - {SPR_NPLM, 0, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1, - {SPR_NPLM, 1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2, - {SPR_NPLM, 2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3, - {SPR_NPLM, 3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4, - {SPR_NPLM, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // Explode - {SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (6<<16), 256 + (48<<16), S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2, // Outer ring - {SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (1<<16), 32<<16, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3, // Center - {SPR_NULL, 0, 81, {A_Scream}, 0, 0, S_NULL}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4, // Sound - - {SPR_MNPL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL}, //S_CYBRAKDEMONNAPALMBOMBSMALL, - {SPR_MNPL, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // Explode - {SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (12<<16), 128 + (40<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2, // Outer ring - {SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (8<<16), 64 + (32<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3, // Inner ring - {SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (1<<16), 24<<16, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4, // Center - {SPR_NULL, 0, 24, {A_Scream}, 0, 0, S_NULL}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5, // Sound - - {SPR_SFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY2}, //S_CYBRAKDEMONNAPALMFLAME_FLY1, - {SPR_SFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY3}, //S_CYBRAKDEMONNAPALMFLAME_FLY2, - {SPR_SFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY4}, //S_CYBRAKDEMONNAPALMFLAME_FLY3, - {SPR_SFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY5}, //S_CYBRAKDEMONNAPALMFLAME_FLY4, - {SPR_SFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY6}, //S_CYBRAKDEMONNAPALMFLAME_FLY5, - {SPR_SFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY1}, //S_CYBRAKDEMONNAPALMFLAME_FLY6, - {SPR_SFLM, FF_FULLBRIGHT, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL}, //S_CYBRAKDEMONNAPALMFLAME_DIE, - - {SPR_NULL, 0, 1, {A_SetFuse}, TICRATE, 0, S_CYBRAKDEMONVILEEXPLOSION2}, //S_CYBRAKDEMONVILEEXPLOSION1, - {SPR_NULL, 0, 0, {A_ScoreRise}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION3}, //S_CYBRAKDEMONVILEEXPLOSION2, - {SPR_NULL, 0, 1, {A_BossScream}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION1}, //S_CYBRAKDEMONVILEEXPLOSION3, + STATE(SPR_BRAK, 0, 10, {A_Look}, 0, 0, S_CYBRAKDEMON_IDLE), // S_CYBRAKDEMON_IDLE + STATE(SPR_BRAK, 1, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK2), // S_CYBRAKDEMON_WALK1 + STATE(SPR_BRAK, 2, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK3), // S_CYBRAKDEMON_WALK2 + STATE(SPR_BRAK, 3, 8, {A_BrakChase}, 3, sfx_bestep, S_CYBRAKDEMON_WALK4), // S_CYBRAKDEMON_WALK3 + STATE(SPR_BRAK, 4, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK5), // S_CYBRAKDEMON_WALK4 + STATE(SPR_BRAK, 5, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK6), // S_CYBRAKDEMON_WALK5 + STATE(SPR_BRAK, 6, 8, {A_BrakChase}, 3, sfx_bestp2, S_CYBRAKDEMON_WALK1), // S_CYBRAKDEMON_WALK6 + STATE(SPR_BRAK, 7, 6, {A_RandomState}, S_CYBRAKDEMON_MISSILE_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1), // S_CYBRAKDEMON_CHOOSE_ATTACK1 + STATE(SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK2), // S_CYBRAKDEMON_MISSILE_ATTACK1 // Aim + STATE(SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK3), // S_CYBRAKDEMON_MISSILE_ATTACK2 // Fire + STATE(SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK4), // S_CYBRAKDEMON_MISSILE_ATTACK3 // Aim + STATE(SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK5), // S_CYBRAKDEMON_MISSILE_ATTACK4 // Fire + STATE(SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK6), // S_CYBRAKDEMON_MISSILE_ATTACK5 // Aim + STATE(SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_FINISH_ATTACK1), // S_CYBRAKDEMON_MISSILE_ATTACK6 // Fire + STATE(SPR_BRAK, 7, 1, {A_Repeat}, 1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK2), // S_CYBRAKDEMON_FLAME_ATTACK1 // Reset + STATE(SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FLAME_ATTACK3), // S_CYBRAKDEMON_FLAME_ATTACK2 // Aim + STATE(SPR_BRAK, 26 + FF_FULLBRIGHT, 2, {A_BrakFireShot}, MT_CYBRAKDEMON_FLAMESHOT, 128, S_CYBRAKDEMON_FLAME_ATTACK4), // S_CYBRAKDEMON_FLAME_ATTACK3 // Fire + STATE(SPR_BRAK, 7, 1, {A_Repeat}, 30, S_CYBRAKDEMON_FLAME_ATTACK3, S_CYBRAKDEMON_FINISH_ATTACK1), // S_CYBRAKDEMON_FLAME_ATTACK4 // Loop + STATE(SPR_BRAK, 0, 6, {A_RandomState}, S_CYBRAKDEMON_VILE_ATTACK1, S_CYBRAKDEMON_NAPALM_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1), // S_CYBRAKDEMON_CHOOSE_ATTACK2 + STATE(SPR_BRAK, 20, 0, {A_LinedefExecuteFromArg}, 5, 0, S_CYBRAKDEMON_VILE_ATTACK2), // S_CYBRAKDEMON_VILE_ATTACK1 + STATE(SPR_BRAK, 20, 24, {A_VileTarget}, MT_CYBRAKDEMON_TARGET_RETICULE, 1, S_CYBRAKDEMON_VILE_ATTACK3), // S_CYBRAKDEMON_VILE_ATTACK2 + STATE(SPR_BRAK, 19, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK4), // S_CYBRAKDEMON_VILE_ATTACK3 + STATE(SPR_BRAK, 18, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK5), // S_CYBRAKDEMON_VILE_ATTACK4 + STATE(SPR_BRAK, 8, 32, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK6), // S_CYBRAKDEMON_VILE_ATTACK5 + STATE(SPR_BRAK, 20 + FF_FULLBRIGHT, 28, {A_VileAttack}, sfx_brakrx, MT_CYBRAKDEMON_VILE_EXPLOSION + (1<<16), S_CYBRAKDEMON_FINISH_ATTACK1), // S_CYBRAKDEMON_VILE_ATTACK6 + STATE(SPR_BRAK, 0, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_NAPALM_ATTACK2), // S_CYBRAKDEMON_NAPALM_ATTACK1 + STATE(SPR_BRAK, 21 + FF_FULLBRIGHT, 8, {A_BrakLobShot}, MT_CYBRAKDEMON_NAPALM_BOMB_LARGE, 96, S_CYBRAKDEMON_NAPALM_ATTACK3), // S_CYBRAKDEMON_NAPALM_ATTACK2 + STATE(SPR_BRAK, 0, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FINISH_ATTACK1), // S_CYBRAKDEMON_NAPALM_ATTACK3 + STATE(SPR_BRAK, 0, 0, {A_SetObjectFlags2}, MF2_FRET, 1, S_CYBRAKDEMON_FINISH_ATTACK2), // S_CYBRAKDEMON_FINISH_ATTACK1 // If just attacked, remove MF2_FRET w/out going back to spawnstate + STATE(SPR_BRAK, 0, 0, {A_SetReactionTime}, 0, 0, S_CYBRAKDEMON_WALK1), // S_CYBRAKDEMON_FINISH_ATTACK2 // If just attacked, remove MF2_FRET w/out going back to spawnstate + STATE(SPR_BRAK, 18, 24, {A_Pain}, 0, 0, S_CYBRAKDEMON_PAIN2), // S_CYBRAKDEMON_PAIN1 + STATE(SPR_BRAK, 18, 0, {A_CheckHealth}, 3, S_CYBRAKDEMON_PAIN3, S_CYBRAKDEMON_CHOOSE_ATTACK1), // S_CYBRAKDEMON_PAIN2 + STATE(SPR_BRAK, 18, 0, {A_LinedefExecuteFromArg}, 4, 0, S_CYBRAKDEMON_CHOOSE_ATTACK1), // S_CYBRAKDEMON_PAIN3 + STATE(SPR_BRAK, 18, 1, {A_Repeat}, 1, S_CYBRAKDEMON_DIE1, S_CYBRAKDEMON_DIE2), // S_CYBRAKDEMON_DIE1 + STATE(SPR_BRAK, 18, 2, {A_BossScream}, 2, 0, S_CYBRAKDEMON_DIE3), // S_CYBRAKDEMON_DIE2 + STATE(SPR_BRAK, 18, 0, {A_Repeat}, 52, S_CYBRAKDEMON_DIE2, S_CYBRAKDEMON_DIE4), // S_CYBRAKDEMON_DIE3 + STATE(SPR_BRAK, 13, 34, {A_BossDeath}, 0, 0, S_CYBRAKDEMON_DIE5), // S_CYBRAKDEMON_DIE4 + STATE(SPR_BRAK, 14, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE6), // S_CYBRAKDEMON_DIE5 + STATE(SPR_BRAK, 15, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE7), // S_CYBRAKDEMON_DIE6 + STATE(SPR_BRAK, 16, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE8), // S_CYBRAKDEMON_DIE7 + STATE(SPR_BRAK, 17, 34, {NULL}, sfx_befall, 0, S_CYBRAKDEMON_DIE8), // S_CYBRAKDEMON_DIE8 + STATE(SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 2, S_CYBRAKDEMON_IDLE), // S_CYBRAKDEMON_DEINVINCIBLERIZE + STATE(SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 1, S_CYBRAKDEMON_IDLE), // S_CYBRAKDEMON_INVINCIBLERIZE + + STATE(SPR_RCKT, 0 + FF_FULLBRIGHT, 1, {A_SetObjectFlags2}, MF2_RAILRING, 2, S_CYBRAKDEMONMISSILE), // S_CYBRAKDEMONMISSILE + STATE(SPR_RCKT, 1 + FF_FULLBRIGHT, 8, {A_Explode}, 0, 0, S_CYBRAKDEMONMISSILE_EXPLODE2), // S_CYBRAKDEMONMISSILE_EXPLODE1 //TODO: set missile mobj's "damage" to an appropriate radius + STATE(SPR_RCKT, 2 + FF_FULLBRIGHT, 6, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (6<<16), 32 + (16<<16), S_CYBRAKDEMONMISSILE_EXPLODE3), // S_CYBRAKDEMONMISSILE_EXPLODE2 + STATE(SPR_RCKT, 3 + FF_FULLBRIGHT, 4, {NULL}, 0, 0, S_NULL), // S_CYBRAKDEMONMISSILE_EXPLODE3 + + STATE(SPR_FLME, FF_FULLBRIGHT , 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY2), // S_CYBRAKDEMONFLAMESHOT_FLY1 + STATE(SPR_FLME, FF_FULLBRIGHT|1, 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3), // S_CYBRAKDEMONFLAMESHOT_FLY2 + STATE(SPR_FLME, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3), // S_CYBRAKDEMONFLAMESHOT_FLY3 + STATE(SPR_FLME, FF_FULLBRIGHT|2, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL), // S_CYBRAKDEMONFLAMESHOT_DIE + + STATE(SPR_FLAM, FF_FULLBRIGHT, 1, {A_SetFuse}, 10*TICRATE, 0, S_FLAMEREST), // S_CYBRAKDEMONFLAMEREST + + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_INIT2), // S_CYBRAKDEMONELECTRICBARRIER_INIT1 + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_INVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND), // S_CYBRAKDEMONELECTRICBARRIER_INIT2 + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_PlayActiveSound}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER1), // S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER2), // S_CYBRAKDEMONELECTRICBARRIER1 + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER3), // S_CYBRAKDEMONELECTRICBARRIER2 + STATE(SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER4), // S_CYBRAKDEMONELECTRICBARRIER3 + STATE(SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER5), // S_CYBRAKDEMONELECTRICBARRIER4 + STATE(SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER6), // S_CYBRAKDEMONELECTRICBARRIER5 + STATE(SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER7), // S_CYBRAKDEMONELECTRICBARRIER6 + STATE(SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER8), // S_CYBRAKDEMONELECTRICBARRIER7 + STATE(SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER9), // S_CYBRAKDEMONELECTRICBARRIER8 + STATE(SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER10), // S_CYBRAKDEMONELECTRICBARRIER9 + STATE(SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER11), // S_CYBRAKDEMONELECTRICBARRIER10 + STATE(SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER12), // S_CYBRAKDEMONELECTRICBARRIER11 + STATE(SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER13), // S_CYBRAKDEMONELECTRICBARRIER12 + STATE(SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER14), // S_CYBRAKDEMONELECTRICBARRIER13 + STATE(SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER15), // S_CYBRAKDEMONELECTRICBARRIER14 + STATE(SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER16), // S_CYBRAKDEMONELECTRICBARRIER15 + STATE(SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER17), // S_CYBRAKDEMONELECTRICBARRIER16 + STATE(SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER18), // S_CYBRAKDEMONELECTRICBARRIER17 + STATE(SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER19), // S_CYBRAKDEMONELECTRICBARRIER18 + STATE(SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER20), // S_CYBRAKDEMONELECTRICBARRIER19 + STATE(SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER21), // S_CYBRAKDEMONELECTRICBARRIER20 + STATE(SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER22), // S_CYBRAKDEMONELECTRICBARRIER21 + STATE(SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER23), // S_CYBRAKDEMONELECTRICBARRIER22 + STATE(SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER24), // S_CYBRAKDEMONELECTRICBARRIER23 + STATE(SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND), // S_CYBRAKDEMONELECTRICBARRIER24 + STATE(SPR_NULL, 0, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_DEINVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_DIE2), // S_CYBRAKDEMONELECTRICBARRIER_DIE1 + STATE(SPR_NULL, 0, 0, {A_SetObjectFlags}, MF_PUSHABLE|MF_FIRE|MF_PAIN, 1, S_CYBRAKDEMONELECTRICBARRIER_DIE3), // S_CYBRAKDEMONELECTRICBARRIER_DIE2 + STATE(SPR_NULL, 0, 20*TICRATE, {A_Scream}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS), // S_CYBRAKDEMONELECTRICBARRIER_DIE3 + STATE(SPR_NULL, 0, 0, {A_CheckRandom}, 10, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK, + STATE(SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS, + STATE(SPR_NULL, 0, 0, {A_RandomStateRange}, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE, + STATE(SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1, + STATE(SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2, + STATE(SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3, + STATE(SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4, + STATE(SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5, + STATE(SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6, + STATE(SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7, + STATE(SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8, + STATE(SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9, + STATE(SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10, + STATE(SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11, + STATE(SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12, + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL, + STATE(SPR_NULL, 0, 0, {A_Repeat}, 5*TICRATE, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK, S_CYBRAKDEMONELECTRICBARRIER_REVIVE1), // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP, + STATE(SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE2), // S_CYBRAKDEMONELECTRICBARRIER_REVIVE1 + STATE(SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE3), // S_CYBRAKDEMONELECTRICBARRIER_REVIVE2 + STATE(SPR_NULL, 0, TICRATE, {A_PlaySound}, sfx_s3k79, 0, S_NULL), // S_CYBRAKDEMONELECTRICBARRIER_REVIVE3 + + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, sfx_s3k9d, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE2), // S_CYBRAKDEMONTARGETRETICULE1 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE3), // S_CYBRAKDEMONTARGETRETICULE2 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|1, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE4), // S_CYBRAKDEMONTARGETRETICULE3 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE5), // S_CYBRAKDEMONTARGETRETICULE4 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|2, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE6), // S_CYBRAKDEMONTARGETRETICULE5 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE7), // S_CYBRAKDEMONTARGETRETICULE6 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|3, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE8), // S_CYBRAKDEMONTARGETRETICULE7 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE9), // S_CYBRAKDEMONTARGETRETICULE8 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|4, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE10), // S_CYBRAKDEMONTARGETRETICULE9 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE11), // S_CYBRAKDEMONTARGETRETICULE10 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|5, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE12), // S_CYBRAKDEMONTARGETRETICULE11 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE13), // S_CYBRAKDEMONTARGETRETICULE12 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE14), // S_CYBRAKDEMONTARGETRETICULE13 + STATE(SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_Repeat}, 6, S_CYBRAKDEMONTARGETRETICULE2, S_NULL), // S_CYBRAKDEMONTARGETRETICULE14 + + STATE(SPR_HOOP, FF_TRANS50|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_CYBRAKDEMONTARGETDOT + + STATE(SPR_NPLM, 0, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2), //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1, + STATE(SPR_NPLM, 1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3), //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2, + STATE(SPR_NPLM, 2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4), //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3, + STATE(SPR_NPLM, 3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1), //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4, + STATE(SPR_NPLM, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2), //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // Explode + STATE(SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (6<<16), 256 + (48<<16), S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3), //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2, // Outer ring + STATE(SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (1<<16), 32<<16, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4), //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3, // Center + STATE(SPR_NULL, 0, 81, {A_Scream}, 0, 0, S_NULL), //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4, // Sound + + STATE(SPR_MNPL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL), //S_CYBRAKDEMONNAPALMBOMBSMALL, + STATE(SPR_MNPL, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2), //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // Explode + STATE(SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (12<<16), 128 + (40<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3), //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2, // Outer ring + STATE(SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (8<<16), 64 + (32<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4), //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3, // Inner ring + STATE(SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (1<<16), 24<<16, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5), //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4, // Center + STATE(SPR_NULL, 0, 24, {A_Scream}, 0, 0, S_NULL), //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5, // Sound + + STATE(SPR_SFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY2), //S_CYBRAKDEMONNAPALMFLAME_FLY1, + STATE(SPR_SFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY3), //S_CYBRAKDEMONNAPALMFLAME_FLY2, + STATE(SPR_SFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY4), //S_CYBRAKDEMONNAPALMFLAME_FLY3, + STATE(SPR_SFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY5), //S_CYBRAKDEMONNAPALMFLAME_FLY4, + STATE(SPR_SFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY6), //S_CYBRAKDEMONNAPALMFLAME_FLY5, + STATE(SPR_SFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY1), //S_CYBRAKDEMONNAPALMFLAME_FLY6, + STATE(SPR_SFLM, FF_FULLBRIGHT, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL), //S_CYBRAKDEMONNAPALMFLAME_DIE, + + STATE(SPR_NULL, 0, 1, {A_SetFuse}, TICRATE, 0, S_CYBRAKDEMONVILEEXPLOSION2), //S_CYBRAKDEMONVILEEXPLOSION1, + STATE(SPR_NULL, 0, 0, {A_ScoreRise}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION3), //S_CYBRAKDEMONVILEEXPLOSION2, + STATE(SPR_NULL, 0, 1, {A_BossScream}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION1), //S_CYBRAKDEMONVILEEXPLOSION3, // Metal Sonic - {SPR_PLAY, SPR2_STND, -1, {NULL}, 0, 0, S_METALSONIC_RACE}, // S_METALSONIC_RACE - - {SPR_METL, 4, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT}, // S_METALSONIC_FLOAT - {SPR_METL, 16|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_METALSONIC_STUN}, // S_METALSONIC_VECTOR - {SPR_METL, 15, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT}, // S_METALSONIC_STUN - {SPR_METL, 17, 20, {NULL}, 0, 0, S_METALSONIC_GATHER},// S_METALSONIC_RAISE - {SPR_METL, 18, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT}, // S_METALSONIC_GATHER - {SPR_METL, 6|FF_FULLBRIGHT|FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 1, 2, S_METALSONIC_BOUNCE},// S_METALSONIC_DASH - {SPR_METL, 18|FF_FULLBRIGHT|FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 1, 2, S_METALSONIC_FLOAT}, // S_METALSONIC_BOUNCE - {SPR_METL, 14, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT}, // S_METALSONIC_BADBOUNCE - {SPR_METL, 17, -1, {NULL}, 0, 0, S_METALSONIC_GATHER},// S_METALSONIC_SHOOT - {SPR_METL, 15, 40, {A_Pain}, 0, 0, S_METALSONIC_FLOAT}, // S_METALSONIC_PAIN - {SPR_METL, 17, 2, {A_Fall}, 0, 0, S_METALSONIC_DEATH2},// S_METALSONIC_DEATH1 - {SPR_METL, 17, 4, {A_BossScream}, 0, 0, S_METALSONIC_DEATH3},// S_METALSONIC_DEATH2 - {SPR_METL, 17, 0, {A_Repeat}, 17, S_METALSONIC_DEATH2, S_METALSONIC_DEATH4}, // S_METALSONIC_DEATH3 - {SPR_METL, 17, -1, {A_BossDeath}, 0, 0, S_NULL}, // S_METALSONIC_DEATH4 - {SPR_METL, 15, 1, {A_BossScream}, 0, 0, S_METALSONIC_FLEE2}, // S_METALSONIC_FLEE1 - {SPR_METL, 15, 7, {NULL}, 0, 0, S_METALSONIC_FLEE1}, // S_METALSONIC_FLEE2 - - {SPR_MSCF, FF_FULLBRIGHT|FF_TRANS30|FF_ANIMATE, -1, {NULL}, 11, 1, S_NULL}, // S_MSSHIELD_F1 - {SPR_MSCF, FF_FULLBRIGHT|FF_ANIMATE|12, -1, {NULL}, 8, 2, S_NULL}, // S_MSSHIELD_F2 + STATE(SPR_PLAY, SPR2_STND, -1, {NULL}, 0, 0, S_METALSONIC_RACE), // S_METALSONIC_RACE + + STATE(SPR_METL, 4, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT), // S_METALSONIC_FLOAT + STATE(SPR_METL, 16|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_METALSONIC_STUN), // S_METALSONIC_VECTOR + STATE(SPR_METL, 15, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT), // S_METALSONIC_STUN + STATE(SPR_METL, 17, 20, {NULL}, 0, 0, S_METALSONIC_GATHER),// S_METALSONIC_RAISE + STATE(SPR_METL, 18, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT), // S_METALSONIC_GATHER + STATE(SPR_METL, 6|FF_FULLBRIGHT|FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 1, 2, S_METALSONIC_BOUNCE),// S_METALSONIC_DASH + STATE(SPR_METL, 18|FF_FULLBRIGHT|FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 1, 2, S_METALSONIC_FLOAT), // S_METALSONIC_BOUNCE + STATE(SPR_METL, 14, -1, {NULL}, 0, 0, S_METALSONIC_FLOAT), // S_METALSONIC_BADBOUNCE + STATE(SPR_METL, 17, -1, {NULL}, 0, 0, S_METALSONIC_GATHER),// S_METALSONIC_SHOOT + STATE(SPR_METL, 15, 40, {A_Pain}, 0, 0, S_METALSONIC_FLOAT), // S_METALSONIC_PAIN + STATE(SPR_METL, 17, 2, {A_Fall}, 0, 0, S_METALSONIC_DEATH2),// S_METALSONIC_DEATH1 + STATE(SPR_METL, 17, 4, {A_BossScream}, 0, 0, S_METALSONIC_DEATH3),// S_METALSONIC_DEATH2 + STATE(SPR_METL, 17, 0, {A_Repeat}, 17, S_METALSONIC_DEATH2, S_METALSONIC_DEATH4), // S_METALSONIC_DEATH3 + STATE(SPR_METL, 17, -1, {A_BossDeath}, 0, 0, S_NULL), // S_METALSONIC_DEATH4 + STATE(SPR_METL, 15, 1, {A_BossScream}, 0, 0, S_METALSONIC_FLEE2), // S_METALSONIC_FLEE1 + STATE(SPR_METL, 15, 7, {NULL}, 0, 0, S_METALSONIC_FLEE1), // S_METALSONIC_FLEE2 + + STATE(SPR_MSCF, FF_FULLBRIGHT|FF_TRANS30|FF_ANIMATE, -1, {NULL}, 11, 1, S_NULL), // S_MSSHIELD_F1 + STATE(SPR_MSCF, FF_FULLBRIGHT|FF_ANIMATE|12, -1, {NULL}, 8, 2, S_NULL), // S_MSSHIELD_F2 // Ring - {SPR_RING, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 23, 1, S_RING}, // S_RING + STATE(SPR_RING, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 23, 1, S_RING), // S_RING // Blue Sphere for special stages - {SPR_SPHR, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BLUESPHERE - {SPR_SPHR, FF_FULLBRIGHT + STATE(SPR_SPHR, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_BLUESPHERE + STATE(SPR_SPHR, FF_FULLBRIGHT #ifdef MANIASPHERES |FF_ANIMATE|FF_RANDOMANIM #endif - , -1, {NULL}, 1, 4, S_NULL}, // S_BLUESPHEREBONUS - {SPR_SPHR, 0, 20, {NULL}, 0, 0, S_NULL}, // S_BLUESPHERESPARK + , -1, {NULL}, 1, 4, S_NULL), // S_BLUESPHEREBONUS + STATE(SPR_SPHR, 0, 20, {NULL}, 0, 0, S_NULL), // S_BLUESPHERESPARK // Bomb Sphere - {SPR_SPHR, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_BOMBSPHERE2}, // S_BOMBSPHERE1 - {SPR_SPHR, FF_FULLBRIGHT|4, 1, {NULL}, 0, 0, S_BOMBSPHERE3}, // S_BOMBSPHERE2 - {SPR_SPHR, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_BOMBSPHERE4}, // S_BOMBSPHERE3 - {SPR_SPHR, FF_FULLBRIGHT|4, 1, {NULL}, 0, 0, S_BOMBSPHERE1}, // S_BOMBSPHERE4 + STATE(SPR_SPHR, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_BOMBSPHERE2), // S_BOMBSPHERE1 + STATE(SPR_SPHR, FF_FULLBRIGHT|4, 1, {NULL}, 0, 0, S_BOMBSPHERE3), // S_BOMBSPHERE2 + STATE(SPR_SPHR, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_BOMBSPHERE4), // S_BOMBSPHERE3 + STATE(SPR_SPHR, FF_FULLBRIGHT|4, 1, {NULL}, 0, 0, S_BOMBSPHERE1), // S_BOMBSPHERE4 // NiGHTS Chip - {SPR_NCHP, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 15, 2, S_NULL}, // S_NIGHTSCHIP - {SPR_NCHP, FF_FULLBRIGHT|FF_ANIMATE|16, -1, {NULL}, 15, 2, S_NULL}, // S_NIGHTSCHIPBONUS + STATE(SPR_NCHP, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 15, 2, S_NULL), // S_NIGHTSCHIP + STATE(SPR_NCHP, FF_FULLBRIGHT|FF_ANIMATE|16, -1, {NULL}, 15, 2, S_NULL), // S_NIGHTSCHIPBONUS // NiGHTS Star - {SPR_NSTR, FF_ANIMATE, -1, {NULL}, 14, 2, S_NULL}, // S_NIGHTSSTAR - {SPR_NSTR, 15, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSSTARXMAS + STATE(SPR_NSTR, FF_ANIMATE, -1, {NULL}, 14, 2, S_NULL), // S_NIGHTSSTAR + STATE(SPR_NSTR, 15, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSSTARXMAS // Gravity Well sprites for Egg Rock's Special Stage - {SPR_GWLG, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL}, // S_GRAVWELLGREEN - {SPR_GWLR, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL}, // S_GRAVWELLRED + STATE(SPR_GWLG, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL), // S_GRAVWELLGREEN + STATE(SPR_GWLR, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL), // S_GRAVWELLRED // Individual Team Rings (now with shield attracting action! =P) - {SPR_TRNG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 23, 1, S_TEAMRING}, // S_TEAMRING + STATE(SPR_TRNG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 23, 1, S_TEAMRING), // S_TEAMRING // Special Stage Token - {SPR_TOKE, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 19, 1, S_TOKEN}, // S_TOKEN + STATE(SPR_TOKE, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 19, 1, S_TOKEN), // S_TOKEN // CTF Flags - {SPR_RFLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_REDFLAG - {SPR_BFLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BLUEFLAG + STATE(SPR_RFLG, 0, -1, {NULL}, 0, 0, S_NULL), // S_REDFLAG + STATE(SPR_BFLG, 0, -1, {NULL}, 0, 0, S_NULL), // S_BLUEFLAG // Emblem - {SPR_EMBM, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM1 - {SPR_EMBM, 1, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM2 - {SPR_EMBM, 2, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM3 - {SPR_EMBM, 3, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM4 - {SPR_EMBM, 4, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM5 - {SPR_EMBM, 5, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM6 - {SPR_EMBM, 6, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM7 - {SPR_EMBM, 7, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM8 - {SPR_EMBM, 8, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM9 - {SPR_EMBM, 9, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM10 - {SPR_EMBM, 10, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM11 - {SPR_EMBM, 11, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM12 - {SPR_EMBM, 12, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM13 - {SPR_EMBM, 13, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM14 - {SPR_EMBM, 14, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM15 - {SPR_EMBM, 15, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM16 - {SPR_EMBM, 16, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM17 - {SPR_EMBM, 17, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM18 - {SPR_EMBM, 18, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM19 - {SPR_EMBM, 19, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM20 - {SPR_EMBM, 20, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM21 - {SPR_EMBM, 21, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM22 - {SPR_EMBM, 22, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM23 - {SPR_EMBM, 23, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM24 - {SPR_EMBM, 24, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM25 - {SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM26 + STATE(SPR_EMBM, 0, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM1 + STATE(SPR_EMBM, 1, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM2 + STATE(SPR_EMBM, 2, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM3 + STATE(SPR_EMBM, 3, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM4 + STATE(SPR_EMBM, 4, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM5 + STATE(SPR_EMBM, 5, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM6 + STATE(SPR_EMBM, 6, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM7 + STATE(SPR_EMBM, 7, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM8 + STATE(SPR_EMBM, 8, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM9 + STATE(SPR_EMBM, 9, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM10 + STATE(SPR_EMBM, 10, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM11 + STATE(SPR_EMBM, 11, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM12 + STATE(SPR_EMBM, 12, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM13 + STATE(SPR_EMBM, 13, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM14 + STATE(SPR_EMBM, 14, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM15 + STATE(SPR_EMBM, 15, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM16 + STATE(SPR_EMBM, 16, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM17 + STATE(SPR_EMBM, 17, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM18 + STATE(SPR_EMBM, 18, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM19 + STATE(SPR_EMBM, 19, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM20 + STATE(SPR_EMBM, 20, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM21 + STATE(SPR_EMBM, 21, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM22 + STATE(SPR_EMBM, 22, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM23 + STATE(SPR_EMBM, 23, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM24 + STATE(SPR_EMBM, 24, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM25 + STATE(SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL), // S_EMBLEM26 // Chaos Emeralds - {SPR_CEMG, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG1 - {SPR_CEMG, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG2 - {SPR_CEMG, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG3 - {SPR_CEMG, FF_FULLBRIGHT|3, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG4 - {SPR_CEMG, FF_FULLBRIGHT|4, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG5 - {SPR_CEMG, FF_FULLBRIGHT|5, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG6 - {SPR_CEMG, FF_FULLBRIGHT|6, -1, {NULL}, 0, 0, S_NULL}, // S_CEMG7 + STATE(SPR_CEMG, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_CEMG1 + STATE(SPR_CEMG, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL), // S_CEMG2 + STATE(SPR_CEMG, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL), // S_CEMG3 + STATE(SPR_CEMG, FF_FULLBRIGHT|3, -1, {NULL}, 0, 0, S_NULL), // S_CEMG4 + STATE(SPR_CEMG, FF_FULLBRIGHT|4, -1, {NULL}, 0, 0, S_NULL), // S_CEMG5 + STATE(SPR_CEMG, FF_FULLBRIGHT|5, -1, {NULL}, 0, 0, S_NULL), // S_CEMG6 + STATE(SPR_CEMG, FF_FULLBRIGHT|6, -1, {NULL}, 0, 0, S_NULL), // S_CEMG7 // Emerald hunt shards - {SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD1 - {SPR_SHRD, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD2 - {SPR_SHRD, 2, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD3 + STATE(SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL), // S_SHRD1 + STATE(SPR_SHRD, 1, -1, {NULL}, 0, 0, S_NULL), // S_SHRD2 + STATE(SPR_SHRD, 2, -1, {NULL}, 0, 0, S_NULL), // S_SHRD3 // Bubble Source - {SPR_BBLS, 0, 8, {A_BubbleSpawn}, 2048, 0, S_BUBBLES2}, // S_BUBBLES1 - {SPR_BBLS, 1, 8, {A_BubbleCheck}, 0, 0, S_BUBBLES3}, // S_BUBBLES2 - {SPR_BBLS, 2, 8, {A_BubbleSpawn}, 2048, 0, S_BUBBLES4}, // S_BUBBLES3 - {SPR_BBLS, 3, 8, {A_BubbleCheck}, 0, 0, S_BUBBLES1}, // S_BUBBLES4 + STATE(SPR_BBLS, 0, 8, {A_BubbleSpawn}, 2048, 0, S_BUBBLES2), // S_BUBBLES1 + STATE(SPR_BBLS, 1, 8, {A_BubbleCheck}, 0, 0, S_BUBBLES3), // S_BUBBLES2 + STATE(SPR_BBLS, 2, 8, {A_BubbleSpawn}, 2048, 0, S_BUBBLES4), // S_BUBBLES3 + STATE(SPR_BBLS, 3, 8, {A_BubbleCheck}, 0, 0, S_BUBBLES1), // S_BUBBLES4 // Level End Sign - {SPR_SIGN, 0, -1, {A_SignPlayer}, -3, 0, S_NULL}, // S_SIGN - {SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSPIN2}, // S_SIGNSPIN1 - {SPR_SIGN, 0, 0, {A_Repeat}, 4, S_SIGNSPIN1, S_SIGNSPIN3}, // S_SIGNSPIN2 - {SPR_SIGN, 0, 0, {A_SignPlayer}, -2, 0, S_SIGNSPIN4}, // S_SIGNSPIN3 - {SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSPIN5}, // S_SIGNSPIN4 - {SPR_SIGN, 0, 0, {A_Repeat}, 4, S_SIGNSPIN4, S_SIGNSPIN6}, // S_SIGNSPIN5 - {SPR_SIGN, 0, 0, {A_SignPlayer}, -3, 0, S_SIGNSPIN1}, // S_SIGNSPIN6 - {SPR_SIGN, 0, 1, {A_SignPlayer}, -1, 0, S_SIGNSLOW}, // S_SIGNPLAYER - {SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSLOW}, // S_SIGNSLOW - {SPR_SIGN, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SIGNSTOP - {SPR_SIGN, FF_PAPERSPRITE| 2, -1, {NULL}, 0, 0, S_NULL}, // S_SIGNBOARD - {SPR_SIGN, FF_PAPERSPRITE| 1, -1, {NULL}, 0, 29, S_NULL}, // S_EGGMANSIGN - {SPR_SIGN, FF_PAPERSPRITE|18, -1, {NULL}, 0, 29, S_NULL}, // S_CLEARSIGN + STATE(SPR_SIGN, 0, -1, {A_SignPlayer}, -3, 0, S_NULL), // S_SIGN + STATE(SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSPIN2), // S_SIGNSPIN1 + STATE(SPR_SIGN, 0, 0, {A_Repeat}, 4, S_SIGNSPIN1, S_SIGNSPIN3), // S_SIGNSPIN2 + STATE(SPR_SIGN, 0, 0, {A_SignPlayer}, -2, 0, S_SIGNSPIN4), // S_SIGNSPIN3 + STATE(SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSPIN5), // S_SIGNSPIN4 + STATE(SPR_SIGN, 0, 0, {A_Repeat}, 4, S_SIGNSPIN4, S_SIGNSPIN6), // S_SIGNSPIN5 + STATE(SPR_SIGN, 0, 0, {A_SignPlayer}, -3, 0, S_SIGNSPIN1), // S_SIGNSPIN6 + STATE(SPR_SIGN, 0, 1, {A_SignPlayer}, -1, 0, S_SIGNSLOW), // S_SIGNPLAYER + STATE(SPR_SIGN, 0, 1, {A_SignSpin}, 30, 0, S_SIGNSLOW), // S_SIGNSLOW + STATE(SPR_SIGN, 0, -1, {NULL}, 0, 0, S_NULL), // S_SIGNSTOP + STATE(SPR_SIGN, FF_PAPERSPRITE| 2, -1, {NULL}, 0, 0, S_NULL), // S_SIGNBOARD + STATE(SPR_SIGN, FF_PAPERSPRITE| 1, -1, {NULL}, 0, 29, S_NULL), // S_EGGMANSIGN + STATE(SPR_SIGN, FF_PAPERSPRITE|18, -1, {NULL}, 0, 29, S_NULL), // S_CLEARSIGN // Spike Ball - {SPR_SPIK, 0, 1, {NULL}, 0, 0, S_SPIKEBALL2}, // S_SPIKEBALL1 - {SPR_SPIK, 1, 1, {NULL}, 0, 0, S_SPIKEBALL3}, // S_SPIKEBALL2 - {SPR_SPIK, 2, 1, {NULL}, 0, 0, S_SPIKEBALL4}, // S_SPIKEBALL3 - {SPR_SPIK, 3, 1, {NULL}, 0, 0, S_SPIKEBALL5}, // S_SPIKEBALL4 - {SPR_SPIK, 4, 1, {NULL}, 0, 0, S_SPIKEBALL6}, // S_SPIKEBALL5 - {SPR_SPIK, 5, 1, {NULL}, 0, 0, S_SPIKEBALL7}, // S_SPIKEBALL6 - {SPR_SPIK, 6, 1, {NULL}, 0, 0, S_SPIKEBALL8}, // S_SPIKEBALL7 - {SPR_SPIK, 7, 1, {NULL}, 0, 0, S_SPIKEBALL1}, // S_SPIKEBALL8 + STATE(SPR_SPIK, 0, 1, {NULL}, 0, 0, S_SPIKEBALL2), // S_SPIKEBALL1 + STATE(SPR_SPIK, 1, 1, {NULL}, 0, 0, S_SPIKEBALL3), // S_SPIKEBALL2 + STATE(SPR_SPIK, 2, 1, {NULL}, 0, 0, S_SPIKEBALL4), // S_SPIKEBALL3 + STATE(SPR_SPIK, 3, 1, {NULL}, 0, 0, S_SPIKEBALL5), // S_SPIKEBALL4 + STATE(SPR_SPIK, 4, 1, {NULL}, 0, 0, S_SPIKEBALL6), // S_SPIKEBALL5 + STATE(SPR_SPIK, 5, 1, {NULL}, 0, 0, S_SPIKEBALL7), // S_SPIKEBALL6 + STATE(SPR_SPIK, 6, 1, {NULL}, 0, 0, S_SPIKEBALL8), // S_SPIKEBALL7 + STATE(SPR_SPIK, 7, 1, {NULL}, 0, 0, S_SPIKEBALL1), // S_SPIKEBALL8 // Elemental Shield's Spawn - {SPR_SFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINFIRE2}, // S_SPINFIRE1 - {SPR_SFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_SPINFIRE3}, // S_SPINFIRE2 - {SPR_SFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_SPINFIRE4}, // S_SPINFIRE3 - {SPR_SFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_SPINFIRE5}, // S_SPINFIRE4 - {SPR_SFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_SPINFIRE6}, // S_SPINFIRE5 - {SPR_SFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_SPINFIRE1}, // S_SPINFIRE6 - - {SPR_TFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE2}, // S_TEAM_SPINFIRE1 - {SPR_TFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE3}, // S_TEAM_SPINFIRE2 - {SPR_TFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE4}, // S_TEAM_SPINFIRE3 - {SPR_TFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE5}, // S_TEAM_SPINFIRE4 - {SPR_TFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE6}, // S_TEAM_SPINFIRE5 - {SPR_TFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE1}, // S_TEAM_SPINFIRE6 + STATE(SPR_SFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINFIRE2), // S_SPINFIRE1 + STATE(SPR_SFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_SPINFIRE3), // S_SPINFIRE2 + STATE(SPR_SFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_SPINFIRE4), // S_SPINFIRE3 + STATE(SPR_SFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_SPINFIRE5), // S_SPINFIRE4 + STATE(SPR_SFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_SPINFIRE6), // S_SPINFIRE5 + STATE(SPR_SFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_SPINFIRE1), // S_SPINFIRE6 + + STATE(SPR_TFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE2), // S_TEAM_SPINFIRE1 + STATE(SPR_TFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE3), // S_TEAM_SPINFIRE2 + STATE(SPR_TFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE4), // S_TEAM_SPINFIRE3 + STATE(SPR_TFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE5), // S_TEAM_SPINFIRE4 + STATE(SPR_TFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE6), // S_TEAM_SPINFIRE5 + STATE(SPR_TFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_TEAM_SPINFIRE1), // S_TEAM_SPINFIRE6 // Floor Spike - {SPR_USPK, 0,-1, {A_SpikeRetract}, 1, 0, S_SPIKE2}, // S_SPIKE1 -- Fully extended - {SPR_USPK, 1, 2, {A_Pain}, 0, 0, S_SPIKE3}, // S_SPIKE2 - {SPR_USPK, 2, 2, {NULL}, 0, 0, S_SPIKE4}, // S_SPIKE3 - {SPR_USPK, 3,-1, {A_SpikeRetract}, 0, 0, S_SPIKE5}, // S_SPIKE4 -- Fully retracted - {SPR_USPK, 2, 2, {A_Pain}, 0, 0, S_SPIKE6}, // S_SPIKE5 - {SPR_USPK, 1, 2, {NULL}, 0, 0, S_SPIKE1}, // S_SPIKE6 - {SPR_USPK, 4,-1, {NULL}, 0, 0, S_NULL}, // S_SPIKED1 -- Busted spike particles - {SPR_USPK, 5,-1, {NULL}, 0, 0, S_NULL}, // S_SPIKED2 + STATE(SPR_USPK, 0,-1, {A_SpikeRetract}, 1, 0, S_SPIKE2), // S_SPIKE1 -- Fully extended + STATE(SPR_USPK, 1, 2, {A_Pain}, 0, 0, S_SPIKE3), // S_SPIKE2 + STATE(SPR_USPK, 2, 2, {NULL}, 0, 0, S_SPIKE4), // S_SPIKE3 + STATE(SPR_USPK, 3,-1, {A_SpikeRetract}, 0, 0, S_SPIKE5), // S_SPIKE4 -- Fully retracted + STATE(SPR_USPK, 2, 2, {A_Pain}, 0, 0, S_SPIKE6), // S_SPIKE5 + STATE(SPR_USPK, 1, 2, {NULL}, 0, 0, S_SPIKE1), // S_SPIKE6 + STATE(SPR_USPK, 4,-1, {NULL}, 0, 0, S_NULL), // S_SPIKED1 -- Busted spike particles + STATE(SPR_USPK, 5,-1, {NULL}, 0, 0, S_NULL), // S_SPIKED2 // Wall Spike - {SPR_WSPK, 0|FF_PAPERSPRITE,-1, {A_SpikeRetract}, 1, 0, S_WALLSPIKE2}, // S_WALLSPIKE1 -- Fully extended - {SPR_WSPK, 1|FF_PAPERSPRITE, 2, {A_Pain}, 0, 0, S_WALLSPIKE3}, // S_WALLSPIKE2 - {SPR_WSPK, 2|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_WALLSPIKE4}, // S_WALLSPIKE3 - {SPR_WSPK, 3|FF_PAPERSPRITE,-1, {A_SpikeRetract}, 0, 0, S_WALLSPIKE5}, // S_WALLSPIKE4 -- Fully retracted - {SPR_WSPK, 2|FF_PAPERSPRITE, 2, {A_Pain}, 0, 0, S_WALLSPIKE6}, // S_WALLSPIKE5 - {SPR_WSPK, 1|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_WALLSPIKE1}, // S_WALLSPIKE6 - {SPR_WSPB, 0|FF_PAPERSPRITE,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKEBASE -- Base - {SPR_WSPK, 4,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED1 -- Busted spike particles - {SPR_WSPK, 5,-1, {NULL}, 0, 0, S_NULL}, // S_WALLSPIKED2 + STATE(SPR_WSPK, 0|FF_PAPERSPRITE,-1, {A_SpikeRetract}, 1, 0, S_WALLSPIKE2), // S_WALLSPIKE1 -- Fully extended + STATE(SPR_WSPK, 1|FF_PAPERSPRITE, 2, {A_Pain}, 0, 0, S_WALLSPIKE3), // S_WALLSPIKE2 + STATE(SPR_WSPK, 2|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_WALLSPIKE4), // S_WALLSPIKE3 + STATE(SPR_WSPK, 3|FF_PAPERSPRITE,-1, {A_SpikeRetract}, 0, 0, S_WALLSPIKE5), // S_WALLSPIKE4 -- Fully retracted + STATE(SPR_WSPK, 2|FF_PAPERSPRITE, 2, {A_Pain}, 0, 0, S_WALLSPIKE6), // S_WALLSPIKE5 + STATE(SPR_WSPK, 1|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_WALLSPIKE1), // S_WALLSPIKE6 + STATE(SPR_WSPB, 0|FF_PAPERSPRITE,-1, {NULL}, 0, 0, S_NULL), // S_WALLSPIKEBASE -- Base + STATE(SPR_WSPK, 4,-1, {NULL}, 0, 0, S_NULL), // S_WALLSPIKED1 -- Busted spike particles + STATE(SPR_WSPK, 5,-1, {NULL}, 0, 0, S_NULL), // S_WALLSPIKED2 // Starpost - {SPR_STPT, 0 , -1, {NULL}, 0, 0, S_NULL}, // S_STARPOST_IDLE - {SPR_STPT, FF_ANIMATE|17, -1, {NULL}, 5, 1, S_NULL}, // S_STARPOST_FLASH - {SPR_STPT, FF_ANIMATE|13, 2, {NULL}, 1, 1, S_STARPOST_SPIN}, // S_STARPOST_STARTSPIN - {SPR_STPT, FF_ANIMATE|1 , 23, {NULL}, 11, 1, S_STARPOST_ENDSPIN}, // S_STARPOST_SPIN - {SPR_STPT, FF_ANIMATE|15, 2, {NULL}, 1, 1, S_STARPOST_FLASH}, // S_STARPOST_ENDSPIN + STATE(SPR_STPT, 0 , -1, {NULL}, 0, 0, S_NULL), // S_STARPOST_IDLE + STATE(SPR_STPT, FF_ANIMATE|17, -1, {NULL}, 5, 1, S_NULL), // S_STARPOST_FLASH + STATE(SPR_STPT, FF_ANIMATE|13, 2, {NULL}, 1, 1, S_STARPOST_SPIN), // S_STARPOST_STARTSPIN + STATE(SPR_STPT, FF_ANIMATE|1 , 23, {NULL}, 11, 1, S_STARPOST_ENDSPIN), // S_STARPOST_SPIN + STATE(SPR_STPT, FF_ANIMATE|15, 2, {NULL}, 1, 1, S_STARPOST_FLASH), // S_STARPOST_ENDSPIN // Big floating mine - {SPR_BMNE, 0, 2, {A_Look}, ((224<<FRACBITS)|1), 0, S_BIGMINE_IDLE}, // S_BIGMINE_IDLE - {SPR_BMNE, 1, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT2}, // S_BIGMINE_ALERT1 - {SPR_BMNE, 2, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT3}, // S_BIGMINE_ALERT2 - {SPR_BMNE, 0, 1, {A_Look}, ((224<<FRACBITS)|1), 1, S_BIGMINE_IDLE}, // S_BIGMINE_ALERT3 - {SPR_BMNE, 3, 25, {A_Pain}, 0, 0, S_BIGMINE_SET2}, // S_BIGMINE_SET1 - {SPR_BMNE, 3, 10, {A_SetObjectFlags}, MF_SHOOTABLE, 1, S_BIGMINE_SET3}, // S_BIGMINE_SET1 - {SPR_BMNE, 3, 1, {A_MineExplode}, 0, 0, S_BIGMINE_BLAST1}, // S_BIGMINE_SET3 - {SPR_BMNB, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_BIGMINE_BLAST2}, // S_BIGMINE_BLAST1 - {SPR_BMNB, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_BIGMINE_BLAST3}, // S_BIGMINE_BLAST2 - {SPR_BMNB, 2|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGMINE_BLAST4}, // S_BIGMINE_BLAST3 - {SPR_BMNB, 3|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGMINE_BLAST5}, // S_BIGMINE_BLAST4 - {SPR_NULL, 0, 35, {NULL}, 0, 0, S_NULL}, // S_BIGMINE_BLAST5 + STATE(SPR_BMNE, 0, 2, {A_Look}, ((224<<FRACBITS)|1), 0, S_BIGMINE_IDLE), // S_BIGMINE_IDLE + STATE(SPR_BMNE, 1, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT2), // S_BIGMINE_ALERT1 + STATE(SPR_BMNE, 2, 2, {A_MineRange}, 112, 0, S_BIGMINE_ALERT3), // S_BIGMINE_ALERT2 + STATE(SPR_BMNE, 0, 1, {A_Look}, ((224<<FRACBITS)|1), 1, S_BIGMINE_IDLE), // S_BIGMINE_ALERT3 + STATE(SPR_BMNE, 3, 25, {A_Pain}, 0, 0, S_BIGMINE_SET2), // S_BIGMINE_SET1 + STATE(SPR_BMNE, 3, 10, {A_SetObjectFlags}, MF_SHOOTABLE, 1, S_BIGMINE_SET3), // S_BIGMINE_SET1 + STATE(SPR_BMNE, 3, 1, {A_MineExplode}, 0, 0, S_BIGMINE_BLAST1), // S_BIGMINE_SET3 + STATE(SPR_BMNB, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_BIGMINE_BLAST2), // S_BIGMINE_BLAST1 + STATE(SPR_BMNB, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_BIGMINE_BLAST3), // S_BIGMINE_BLAST2 + STATE(SPR_BMNB, 2|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGMINE_BLAST4), // S_BIGMINE_BLAST3 + STATE(SPR_BMNB, 3|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGMINE_BLAST5), // S_BIGMINE_BLAST4 + STATE(SPR_NULL, 0, 35, {NULL}, 0, 0, S_NULL), // S_BIGMINE_BLAST5 // Cannon launcher - {SPR_NULL, 0, 1, {A_FindTarget}, MT_PLAYER, 0, S_CANNONLAUNCHER2}, // S_CANNONLAUNCHER1 - {SPR_NULL, 0, 1, {A_LobShot}, MT_CANNONBALL, 4*TICRATE, S_CANNONLAUNCHER3}, // S_CANNONLAUNCHER2 - {SPR_NULL, 0, 2, {A_SetRandomTics}, TICRATE/2, 3*TICRATE, S_CANNONLAUNCHER1}, // S_CANNONLAUNCHER3 + STATE(SPR_NULL, 0, 1, {A_FindTarget}, MT_PLAYER, 0, S_CANNONLAUNCHER2), // S_CANNONLAUNCHER1 + STATE(SPR_NULL, 0, 1, {A_LobShot}, MT_CANNONBALL, 4*TICRATE, S_CANNONLAUNCHER3), // S_CANNONLAUNCHER2 + STATE(SPR_NULL, 0, 2, {A_SetRandomTics}, TICRATE/2, 3*TICRATE, S_CANNONLAUNCHER1), // S_CANNONLAUNCHER3 // Monitor Miscellany - {SPR_NSPK, 0, 16, {NULL}, 0, 0, S_BOXSPARKLE2}, // S_BOXSPARKLE1 - {SPR_NSPK, 1, 12, {NULL}, 0, 0, S_BOXSPARKLE3}, // S_BOXSPARKLE2 - {SPR_NSPK, 2, 8, {NULL}, 0, 0, S_BOXSPARKLE4}, // S_BOXSPARKLE3 - {SPR_NSPK, 3, 4, {NULL}, 0, 0, S_NULL}, // S_BOXSPARKLE4 - - {SPR_MSTV, 0, 1, {NULL}, 0, 0, S_SPAWNSTATE}, // S_BOX_FLICKER - {SPR_MSTV, 0, 4, {A_MonitorPop}, 0, 0, S_BOX_POP2}, // S_BOX_POP1 - {SPR_MSTV, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BOX_POP2 - - {SPR_XLTV, 0, 1, {NULL}, 0, 0, S_SPAWNSTATE}, // S_GOLDBOX_FLICKER - {SPR_XLTV, 1, 89, {A_GoldMonitorPop}, 0, 0, S_GOLDBOX_OFF2}, // S_GOLDBOX_OFF1 - {SPR_XLTV, 2, 4, {A_PlayAttackSound}, 0, 0, S_GOLDBOX_OFF3}, // S_GOLDBOX_OFF2 - {SPR_XLTV, 3, 4, {NULL}, 0, 0, S_GOLDBOX_OFF4}, // S_GOLDBOX_OFF3 - {SPR_XLTV, 4, 4, {NULL}, 0, 0, S_GOLDBOX_OFF5}, // S_GOLDBOX_OFF4 - {SPR_XLTV, 5, 2, {NULL}, 0, 0, S_GOLDBOX_OFF6}, // S_GOLDBOX_OFF5 - {SPR_XLTV, 6, 2, {NULL}, 0, 0, S_GOLDBOX_OFF7}, // S_GOLDBOX_OFF6 - {SPR_XLTV, 6, 0, {A_GoldMonitorRestore}, 0, 0, S_SPAWNSTATE}, // S_GOLDBOX_OFF7 + STATE(SPR_NSPK, 0, 16, {NULL}, 0, 0, S_BOXSPARKLE2), // S_BOXSPARKLE1 + STATE(SPR_NSPK, 1, 12, {NULL}, 0, 0, S_BOXSPARKLE3), // S_BOXSPARKLE2 + STATE(SPR_NSPK, 2, 8, {NULL}, 0, 0, S_BOXSPARKLE4), // S_BOXSPARKLE3 + STATE(SPR_NSPK, 3, 4, {NULL}, 0, 0, S_NULL), // S_BOXSPARKLE4 + + STATE(SPR_MSTV, 0, 1, {NULL}, 0, 0, S_SPAWNSTATE), // S_BOX_FLICKER + STATE(SPR_MSTV, 0, 4, {A_MonitorPop}, 0, 0, S_BOX_POP2), // S_BOX_POP1 + STATE(SPR_MSTV, 1, -1, {NULL}, 0, 0, S_NULL), // S_BOX_POP2 + + STATE(SPR_XLTV, 0, 1, {NULL}, 0, 0, S_SPAWNSTATE), // S_GOLDBOX_FLICKER + STATE(SPR_XLTV, 1, 89, {A_GoldMonitorPop}, 0, 0, S_GOLDBOX_OFF2), // S_GOLDBOX_OFF1 + STATE(SPR_XLTV, 2, 4, {A_PlayAttackSound}, 0, 0, S_GOLDBOX_OFF3), // S_GOLDBOX_OFF2 + STATE(SPR_XLTV, 3, 4, {NULL}, 0, 0, S_GOLDBOX_OFF4), // S_GOLDBOX_OFF3 + STATE(SPR_XLTV, 4, 4, {NULL}, 0, 0, S_GOLDBOX_OFF5), // S_GOLDBOX_OFF4 + STATE(SPR_XLTV, 5, 2, {NULL}, 0, 0, S_GOLDBOX_OFF6), // S_GOLDBOX_OFF5 + STATE(SPR_XLTV, 6, 2, {NULL}, 0, 0, S_GOLDBOX_OFF7), // S_GOLDBOX_OFF6 + STATE(SPR_XLTV, 6, 0, {A_GoldMonitorRestore}, 0, 0, S_SPAWNSTATE), // S_GOLDBOX_OFF7 // Monitor States (one per box) - {SPR_TVMY, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_MYSTERY_BOX - {SPR_TVRI, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_RING_BOX - {SPR_TVPI, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_PITY_BOX - {SPR_TVAT, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_ATTRACT_BOX - {SPR_TVFO, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_FORCE_BOX - {SPR_TVAR, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_ARMAGEDDON_BOX - {SPR_TVWW, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_WHIRLWIND_BOX - {SPR_TVEL, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_ELEMENTAL_BOX - {SPR_TVSS, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_SNEAKERS_BOX - {SPR_TVIV, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_INVULN_BOX - {SPR_TV1U, 0, 2, {A_1upThinker}, 0, 0, S_BOX_FLICKER}, // S_1UP_BOX - {SPR_TVEG, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_EGGMAN_BOX - {SPR_TVMX, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_MIXUP_BOX - {SPR_TVGV, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_GRAVITY_BOX - {SPR_TVRC, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_RECYCLER_BOX - {SPR_TV1K, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_SCORE1K_BOX - {SPR_TVTK, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_SCORE10K_BOX - {SPR_TVFL, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_FLAMEAURA_BOX - {SPR_TVBB, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_BUBBLEWRAP_BOX - {SPR_TVZP, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER}, // S_THUNDERCOIN_BOX + STATE(SPR_TVMY, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_MYSTERY_BOX + STATE(SPR_TVRI, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_RING_BOX + STATE(SPR_TVPI, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_PITY_BOX + STATE(SPR_TVAT, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_ATTRACT_BOX + STATE(SPR_TVFO, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_FORCE_BOX + STATE(SPR_TVAR, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_ARMAGEDDON_BOX + STATE(SPR_TVWW, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_WHIRLWIND_BOX + STATE(SPR_TVEL, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_ELEMENTAL_BOX + STATE(SPR_TVSS, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_SNEAKERS_BOX + STATE(SPR_TVIV, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_INVULN_BOX + STATE(SPR_TV1U, 0, 2, {A_1upThinker}, 0, 0, S_BOX_FLICKER), // S_1UP_BOX + STATE(SPR_TVEG, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_EGGMAN_BOX + STATE(SPR_TVMX, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_MIXUP_BOX + STATE(SPR_TVGV, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_GRAVITY_BOX + STATE(SPR_TVRC, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_RECYCLER_BOX + STATE(SPR_TV1K, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_SCORE1K_BOX + STATE(SPR_TVTK, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_SCORE10K_BOX + STATE(SPR_TVFL, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_FLAMEAURA_BOX + STATE(SPR_TVBB, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_BUBBLEWRAP_BOX + STATE(SPR_TVZP, 0, 2, {NULL}, 0, 0, S_BOX_FLICKER), // S_THUNDERCOIN_BOX // Gold Repeat Monitor States (one per box) - {SPR_TVPI, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_PITY_GOLDBOX - {SPR_TVAT, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_ATTRACT_GOLDBOX - {SPR_TVFO, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_FORCE_GOLDBOX - {SPR_TVAR, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_ARMAGEDDON_GOLDBOX - {SPR_TVWW, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_WHIRLWIND_GOLDBOX - {SPR_TVEL, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_ELEMENTAL_GOLDBOX - {SPR_TVSS, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_SNEAKERS_GOLDBOX - {SPR_TVIV, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_INVULN_GOLDBOX - {SPR_TVEG, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_EGGMAN_GOLDBOX - {SPR_TVGV, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_GRAVITY_GOLDBOX - {SPR_TVFL, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_FLAMEAURA_GOLDBOX - {SPR_TVBB, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_BUBBLEWRAP_GOLDBOX - {SPR_TVZP, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER}, // S_THUNDERCOIN_GOLDBOX + STATE(SPR_TVPI, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_PITY_GOLDBOX + STATE(SPR_TVAT, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_ATTRACT_GOLDBOX + STATE(SPR_TVFO, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_FORCE_GOLDBOX + STATE(SPR_TVAR, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_ARMAGEDDON_GOLDBOX + STATE(SPR_TVWW, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_WHIRLWIND_GOLDBOX + STATE(SPR_TVEL, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_ELEMENTAL_GOLDBOX + STATE(SPR_TVSS, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_SNEAKERS_GOLDBOX + STATE(SPR_TVIV, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_INVULN_GOLDBOX + STATE(SPR_TVEG, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_EGGMAN_GOLDBOX + STATE(SPR_TVGV, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_GRAVITY_GOLDBOX + STATE(SPR_TVFL, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_FLAMEAURA_GOLDBOX + STATE(SPR_TVBB, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_BUBBLEWRAP_GOLDBOX + STATE(SPR_TVZP, 1, 2, {A_GoldMonitorSparkle}, 0, 0, S_GOLDBOX_FLICKER), // S_THUNDERCOIN_GOLDBOX // Team Ring Boxes (these are special) - {SPR_TRRI, 0, 2, {NULL}, 0, 0, S_RING_REDBOX2}, // S_RING_REDBOX1 - {SPR_TRRI, 1, 1, {NULL}, 0, 0, S_RING_REDBOX1}, // S_RING_REDBOX2 - {SPR_TRRI, 1, 4, {A_MonitorPop}, 0, 0, S_REDBOX_POP2}, // S_REDBOX_POP1 - {SPR_TRRI, 2, -1, {NULL}, 0, 0, S_NULL}, // S_REDBOX_POP2 + STATE(SPR_TRRI, 0, 2, {NULL}, 0, 0, S_RING_REDBOX2), // S_RING_REDBOX1 + STATE(SPR_TRRI, 1, 1, {NULL}, 0, 0, S_RING_REDBOX1), // S_RING_REDBOX2 + STATE(SPR_TRRI, 1, 4, {A_MonitorPop}, 0, 0, S_REDBOX_POP2), // S_REDBOX_POP1 + STATE(SPR_TRRI, 2, -1, {NULL}, 0, 0, S_NULL), // S_REDBOX_POP2 - {SPR_TBRI, 0, 2, {NULL}, 0, 0, S_RING_BLUEBOX2}, // S_RING_BLUEBOX1 - {SPR_TBRI, 1, 1, {NULL}, 0, 0, S_RING_BLUEBOX1}, // S_RING_BLUEBOX2 - {SPR_TBRI, 1, 4, {A_MonitorPop}, 0, 0, S_BLUEBOX_POP2}, // S_BLUEBOX_POP1 - {SPR_TBRI, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BLUEBOX_POP2 + STATE(SPR_TBRI, 0, 2, {NULL}, 0, 0, S_RING_BLUEBOX2), // S_RING_BLUEBOX1 + STATE(SPR_TBRI, 1, 1, {NULL}, 0, 0, S_RING_BLUEBOX1), // S_RING_BLUEBOX2 + STATE(SPR_TBRI, 1, 4, {A_MonitorPop}, 0, 0, S_BLUEBOX_POP2), // S_BLUEBOX_POP1 + STATE(SPR_TBRI, 2, -1, {NULL}, 0, 0, S_NULL), // S_BLUEBOX_POP2 // Box Icons -- 2 states each, animation and action - {SPR_TVRI, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_RING_ICON2}, // S_RING_ICON1 - {SPR_TVRI, 2, 18, {A_RingBox}, 0, 0, S_NULL}, // S_RING_ICON2 + STATE(SPR_TVRI, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_RING_ICON2), // S_RING_ICON1 + STATE(SPR_TVRI, 2, 18, {A_RingBox}, 0, 0, S_NULL), // S_RING_ICON2 - {SPR_TVPI, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_PITY_ICON2}, // S_PITY_ICON1 - {SPR_TVPI, 2, 18, {A_GiveShield}, SH_PITY, 0, S_NULL}, // S_PITY_ICON2 + STATE(SPR_TVPI, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_PITY_ICON2), // S_PITY_ICON1 + STATE(SPR_TVPI, 2, 18, {A_GiveShield}, SH_PITY, 0, S_NULL), // S_PITY_ICON2 - {SPR_TVAT, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ATTRACT_ICON2}, // S_ATTRACT_ICON1 - {SPR_TVAT, 2, 18, {A_GiveShield}, SH_ATTRACT, 0, S_NULL}, // S_ATTRACT_ICON2 + STATE(SPR_TVAT, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ATTRACT_ICON2), // S_ATTRACT_ICON1 + STATE(SPR_TVAT, 2, 18, {A_GiveShield}, SH_ATTRACT, 0, S_NULL), // S_ATTRACT_ICON2 - {SPR_TVFO, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_FORCE_ICON2}, // S_FORCE_ICON1 - {SPR_TVFO, 2, 18, {A_GiveShield}, SH_FORCE|1, 0, S_NULL}, // S_FORCE_ICON2 + STATE(SPR_TVFO, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_FORCE_ICON2), // S_FORCE_ICON1 + STATE(SPR_TVFO, 2, 18, {A_GiveShield}, SH_FORCE|1, 0, S_NULL), // S_FORCE_ICON2 - {SPR_TVAR, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ARMAGEDDON_ICON2}, // S_ARMAGEDDON_ICON1 - {SPR_TVAR, 2, 18, {A_GiveShield}, SH_ARMAGEDDON, 0, S_NULL}, // S_ARMAGEDDON_ICON2 + STATE(SPR_TVAR, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ARMAGEDDON_ICON2), // S_ARMAGEDDON_ICON1 + STATE(SPR_TVAR, 2, 18, {A_GiveShield}, SH_ARMAGEDDON, 0, S_NULL), // S_ARMAGEDDON_ICON2 - {SPR_TVWW, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_WHIRLWIND_ICON2}, // S_WHIRLWIND_ICON1 - {SPR_TVWW, 2, 18, {A_GiveShield}, SH_WHIRLWIND, 0, S_NULL}, // S_WHIRLWIND_ICON2 + STATE(SPR_TVWW, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_WHIRLWIND_ICON2), // S_WHIRLWIND_ICON1 + STATE(SPR_TVWW, 2, 18, {A_GiveShield}, SH_WHIRLWIND, 0, S_NULL), // S_WHIRLWIND_ICON2 - {SPR_TVEL, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ELEMENTAL_ICON2}, // S_ELEMENTAL_ICON1 - {SPR_TVEL, 2, 18, {A_GiveShield}, SH_ELEMENTAL, 0, S_NULL}, // S_ELEMENTAL_ICON2 + STATE(SPR_TVEL, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_ELEMENTAL_ICON2), // S_ELEMENTAL_ICON1 + STATE(SPR_TVEL, 2, 18, {A_GiveShield}, SH_ELEMENTAL, 0, S_NULL), // S_ELEMENTAL_ICON2 - {SPR_TVSS, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SNEAKERS_ICON2}, // S_SNEAKERS_ICON1 - {SPR_TVSS, 2, 18, {A_SuperSneakers}, 0, 0, S_NULL}, // S_SNEAKERS_ICON2 + STATE(SPR_TVSS, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SNEAKERS_ICON2), // S_SNEAKERS_ICON1 + STATE(SPR_TVSS, 2, 18, {A_SuperSneakers}, 0, 0, S_NULL), // S_SNEAKERS_ICON2 - {SPR_TVIV, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_INVULN_ICON2}, // S_INVULN_ICON1 - {SPR_TVIV, 2, 18, {A_Invincibility}, 0, 0, S_NULL}, // S_INVULN_ICON2 + STATE(SPR_TVIV, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_INVULN_ICON2), // S_INVULN_ICON1 + STATE(SPR_TVIV, 2, 18, {A_Invincibility}, 0, 0, S_NULL), // S_INVULN_ICON2 - {SPR_TV1U, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_1UP_ICON2}, // S_1UP_ICON1 - {SPR_TV1U, 2, 18, {A_ExtraLife}, 0, 0, S_NULL}, // S_1UP_ICON2 + STATE(SPR_TV1U, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_1UP_ICON2), // S_1UP_ICON1 + STATE(SPR_TV1U, 2, 18, {A_ExtraLife}, 0, 0, S_NULL), // S_1UP_ICON2 - {SPR_TVEG, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_EGGMAN_ICON2}, // S_EGGMAN_ICON1 - {SPR_TVEG, 2, 18, {A_EggmanBox}, 0, 0, S_NULL}, // S_EGGMAN_ICON2 + STATE(SPR_TVEG, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_EGGMAN_ICON2), // S_EGGMAN_ICON1 + STATE(SPR_TVEG, 2, 18, {A_EggmanBox}, 0, 0, S_NULL), // S_EGGMAN_ICON2 - {SPR_TVMX, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_MIXUP_ICON2}, // S_MIXUP_ICON1 - {SPR_TVMX, 2, 18, {A_MixUp}, 0, 0, S_NULL}, // S_MIXUP_ICON2 + STATE(SPR_TVMX, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_MIXUP_ICON2), // S_MIXUP_ICON1 + STATE(SPR_TVMX, 2, 18, {A_MixUp}, 0, 0, S_NULL), // S_MIXUP_ICON2 - {SPR_TVGV, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_GRAVITY_ICON2}, // S_GRAVITY_ICON1 - {SPR_TVGV, 2, 18, {A_GravityBox}, 0, 0, S_NULL}, // S_GRAVITY_ICON2 + STATE(SPR_TVGV, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_GRAVITY_ICON2), // S_GRAVITY_ICON1 + STATE(SPR_TVGV, 2, 18, {A_GravityBox}, 0, 0, S_NULL), // S_GRAVITY_ICON2 - {SPR_TVRC, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_RECYCLER_ICON2}, // S_RECYCLER_ICON1 - {SPR_TVRC, 2, 18, {A_RecyclePowers}, 0, 0, S_NULL}, // S_RECYCLER_ICON2 + STATE(SPR_TVRC, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_RECYCLER_ICON2), // S_RECYCLER_ICON1 + STATE(SPR_TVRC, 2, 18, {A_RecyclePowers}, 0, 0, S_NULL), // S_RECYCLER_ICON2 - {SPR_TV1K, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SCORE1K_ICON2}, // S_SCORE1K_ICON1 - {SPR_TV1K, 2, 18, {A_AwardScore}, 0, 0, S_NULL}, // S_SCORE1K_ICON2 + STATE(SPR_TV1K, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SCORE1K_ICON2), // S_SCORE1K_ICON1 + STATE(SPR_TV1K, 2, 18, {A_AwardScore}, 0, 0, S_NULL), // S_SCORE1K_ICON2 - {SPR_TVTK, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SCORE10K_ICON2}, // S_SCORE10K_ICON1 - {SPR_TVTK, 2, 18, {A_AwardScore}, 0, 0, S_NULL}, // S_SCORE10K_ICON2 + STATE(SPR_TVTK, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_SCORE10K_ICON2), // S_SCORE10K_ICON1 + STATE(SPR_TVTK, 2, 18, {A_AwardScore}, 0, 0, S_NULL), // S_SCORE10K_ICON2 - {SPR_TVFL, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_FLAMEAURA_ICON2}, // S_FLAMEAURA_ICON1 - {SPR_TVFL, 2, 18, {A_GiveShield}, SH_FLAMEAURA, 0, S_NULL}, // S_FLAMEAURA_ICON2 + STATE(SPR_TVFL, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_FLAMEAURA_ICON2), // S_FLAMEAURA_ICON1 + STATE(SPR_TVFL, 2, 18, {A_GiveShield}, SH_FLAMEAURA, 0, S_NULL), // S_FLAMEAURA_ICON2 - {SPR_TVBB, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_BUBBLEWRAP_ICON2}, // S_BUBBLEWRAP_ICON1 - {SPR_TVBB, 2, 18, {A_GiveShield}, SH_BUBBLEWRAP, 0, S_NULL}, // S_BUBBLEWRAP_ICON2 + STATE(SPR_TVBB, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_BUBBLEWRAP_ICON2), // S_BUBBLEWRAP_ICON1 + STATE(SPR_TVBB, 2, 18, {A_GiveShield}, SH_BUBBLEWRAP, 0, S_NULL), // S_BUBBLEWRAP_ICON2 - {SPR_TVZP, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_THUNDERCOIN_ICON2}, // S_THUNDERCOIN_ICON1 - {SPR_TVZP, 2, 18, {A_GiveShield}, SH_THUNDERCOIN, 0, S_NULL}, // S_THUNDERCOIN_ICON2 + STATE(SPR_TVZP, FF_ANIMATE|2, 18, {NULL}, 3, 4, S_THUNDERCOIN_ICON2), // S_THUNDERCOIN_ICON1 + STATE(SPR_TVZP, 2, 18, {A_GiveShield}, SH_THUNDERCOIN, 0, S_NULL), // S_THUNDERCOIN_ICON2 // --- - {SPR_MISL, FF_FULLBRIGHT, 1, {A_SmokeTrailer}, MT_SMOKE, 0, S_ROCKET}, // S_ROCKET + STATE(SPR_MISL, FF_FULLBRIGHT, 1, {A_SmokeTrailer}, MT_SMOKE, 0, S_ROCKET), // S_ROCKET - {SPR_LASR, FF_FULLBRIGHT|0, 2, {NULL}, 0, 0, S_NULL}, // S_LASER - {SPR_LASR, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_NULL}, // S_LASER2 - {SPR_LASR, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_NULL}, // S_LASERFLASH + STATE(SPR_LASR, FF_FULLBRIGHT|0, 2, {NULL}, 0, 0, S_NULL), // S_LASER + STATE(SPR_LASR, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_NULL), // S_LASER2 + STATE(SPR_LASR, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_NULL), // S_LASERFLASH - {SPR_LASF, FF_FULLBRIGHT|0, 2, {NULL}, 0, 0, S_LASERFLAME2}, // S_LASERFLAME1 - {SPR_LASF, FF_FULLBRIGHT|1, 1, {A_ChangeHeight}, 156*FRACUNIT, 3, S_LASERFLAME3}, // S_LASERFLAME2 - {SPR_LASF, FF_FULLBRIGHT|2, 0, {A_ChangeHeight}, 32*FRACUNIT, 3, S_LASERFLAME4}, // S_LASERFLAME3 - {SPR_LASF, FF_ANIMATE|FF_PAPERSPRITE|FF_FULLBRIGHT|2, 4, {NULL}, 1, 2, S_LASERFLAME5}, // S_LASERFLAME4 - {SPR_LASF, FF_ANIMATE|FF_PAPERSPRITE|FF_FULLBRIGHT|4, 28, {NULL}, 2, 2, S_NULL}, // S_LASERFLAME5 + STATE(SPR_LASF, FF_FULLBRIGHT|0, 2, {NULL}, 0, 0, S_LASERFLAME2), // S_LASERFLAME1 + STATE(SPR_LASF, FF_FULLBRIGHT|1, 1, {A_ChangeHeight}, 156*FRACUNIT, 3, S_LASERFLAME3), // S_LASERFLAME2 + STATE(SPR_LASF, FF_FULLBRIGHT|2, 0, {A_ChangeHeight}, 32*FRACUNIT, 3, S_LASERFLAME4), // S_LASERFLAME3 + STATE(SPR_LASF, FF_ANIMATE|FF_PAPERSPRITE|FF_FULLBRIGHT|2, 4, {NULL}, 1, 2, S_LASERFLAME5), // S_LASERFLAME4 + STATE(SPR_LASF, FF_ANIMATE|FF_PAPERSPRITE|FF_FULLBRIGHT|4, 28, {NULL}, 2, 2, S_NULL), // S_LASERFLAME5 - {SPR_TORP, 0, 1, {A_SmokeTrailer}, MT_SMOKE, 0, S_TORPEDO}, // S_TORPEDO + STATE(SPR_TORP, 0, 1, {A_SmokeTrailer}, MT_SMOKE, 0, S_TORPEDO), // S_TORPEDO - {SPR_ENRG, FF_FULLBRIGHT|FF_TRANS30, 1, {NULL}, 0, 0, S_ENERGYBALL2}, // S_ENERGYBALL1 - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_ENERGYBALL1}, // S_ENERGYBALL2 + STATE(SPR_ENRG, FF_FULLBRIGHT|FF_TRANS30, 1, {NULL}, 0, 0, S_ENERGYBALL2), // S_ENERGYBALL1 + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_ENERGYBALL1), // S_ENERGYBALL2 // Skim Mine (also dropped by Jetty-Syn bomber) - {SPR_MINE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_MINE1 - {SPR_MINE, 1, 1, {A_Fall}, 0, 0, S_MINE_BOOM2}, // S_MINE_BOOM1 - {SPR_MINE, 2, 3, {A_Scream}, 0, 0, S_MINE_BOOM3}, // S_MINE_BOOM2 - {SPR_MINE, 3, 3, {A_Explode}, 0, 0, S_MINE_BOOM4}, // S_MINE_BOOM3 - {SPR_MINE, 4, 3, {NULL}, 0, 0, S_NULL}, // S_MINE_BOOM4 + STATE(SPR_MINE, 0, -1, {NULL}, 0, 0, S_NULL), // S_MINE1 + STATE(SPR_MINE, 1, 1, {A_Fall}, 0, 0, S_MINE_BOOM2), // S_MINE_BOOM1 + STATE(SPR_MINE, 2, 3, {A_Scream}, 0, 0, S_MINE_BOOM3), // S_MINE_BOOM2 + STATE(SPR_MINE, 3, 3, {A_Explode}, 0, 0, S_MINE_BOOM4), // S_MINE_BOOM3 + STATE(SPR_MINE, 4, 3, {NULL}, 0, 0, S_NULL), // S_MINE_BOOM4 // Jetty-Syn Bullet - {SPR_JBUL, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_JETBULLET2}, // S_JETBULLET1 - {SPR_JBUL, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_JETBULLET1}, // S_JETBULLET2 + STATE(SPR_JBUL, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_JETBULLET2), // S_JETBULLET1 + STATE(SPR_JBUL, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_JETBULLET1), // S_JETBULLET2 - {SPR_TRLS, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_TURRETLASER}, // S_TURRETLASER - {SPR_TRLS, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_TURRETLASEREXPLODE2}, // S_TURRETLASEREXPLODE1 - {SPR_TRLS, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_NULL}, // S_TURRETLASEREXPLODE2 + STATE(SPR_TRLS, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_TURRETLASER), // S_TURRETLASER + STATE(SPR_TRLS, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_TURRETLASEREXPLODE2), // S_TURRETLASEREXPLODE1 + STATE(SPR_TRLS, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_NULL), // S_TURRETLASEREXPLODE2 - {SPR_CBLL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CANNONBALL1 + STATE(SPR_CBLL, 0, -1, {NULL}, 0, 0, S_NULL), // S_CANNONBALL1 - {SPR_AROW, 0, -1, {NULL}, 0, 0, S_NULL}, // S_ARROW - {SPR_AROW, FF_ANIMATE, TICRATE, {A_ArrowBonks}, 7, 2, S_NULL}, // S_ARROWBONK + STATE(SPR_AROW, 0, -1, {NULL}, 0, 0, S_NULL), // S_ARROW + STATE(SPR_AROW, FF_ANIMATE, TICRATE, {A_ArrowBonks}, 7, 2, S_NULL), // S_ARROWBONK - {SPR_CFIR, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 5, 2, S_NULL}, // S_DEMONFIRE + STATE(SPR_CFIR, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 5, 2, S_NULL), // S_DEMONFIRE - {SPR_LETR, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_LETTER + STATE(SPR_LETR, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_LETTER // Tutorial scenery - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALLEAF2}, // S_TUTORIALLEAF1 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALLEAF3}, // S_TUTORIALLEAF2 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALLEAF4}, // S_TUTORIALLEAF3 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALLEAF5}, // S_TUTORIALLEAF4 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALLEAF6}, // S_TUTORIALLEAF5 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALLEAF7}, // S_TUTORIALLEAF6 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALLEAF8}, // S_TUTORIALLEAF7 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALLEAF9}, // S_TUTORIALLEAF8 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALLEAF10}, // S_TUTORIALLEAF9 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALLEAF11}, // S_TUTORIALLEAF10 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALLEAF12}, // S_TUTORIALLEAF11 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALLEAF13}, // S_TUTORIALLEAF12 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALLEAF14}, // S_TUTORIALLEAF13 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALLEAF15}, // S_TUTORIALLEAF14 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALLEAF16}, // S_TUTORIALLEAF15 - {SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALLEAF1}, // S_TUTORIALLEAF16 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWER2}, // S_TUTORIALFLOWER1 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWER3}, // S_TUTORIALFLOWER2 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWER4}, // S_TUTORIALFLOWER3 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWER5}, // S_TUTORIALFLOWER4 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWER6}, // S_TUTORIALFLOWER5 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWER7}, // S_TUTORIALFLOWER6 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWER8}, // S_TUTORIALFLOWER7 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWER9}, // S_TUTORIALFLOWER8 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWER10}, // S_TUTORIALFLOWER9 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWER11}, // S_TUTORIALFLOWER10 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWER12}, // S_TUTORIALFLOWER11 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWER13}, // S_TUTORIALFLOWER12 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWER14}, // S_TUTORIALFLOWER13 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWER15}, // S_TUTORIALFLOWER14 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWER16}, // S_TUTORIALFLOWER15 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWER1}, // S_TUTORIALFLOWER16 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF2}, // S_TUTORIALFLOWERF1 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF3}, // S_TUTORIALFLOWERF2 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF4}, // S_TUTORIALFLOWERF3 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF5}, // S_TUTORIALFLOWERF4 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF6}, // S_TUTORIALFLOWERF5 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF7}, // S_TUTORIALFLOWERF6 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF8}, // S_TUTORIALFLOWERF7 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF9}, // S_TUTORIALFLOWERF8 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF10}, // S_TUTORIALFLOWERF9 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF11}, // S_TUTORIALFLOWERF10 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF12}, // S_TUTORIALFLOWERF11 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF13}, // S_TUTORIALFLOWERF12 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF14}, // S_TUTORIALFLOWERF13 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF15}, // S_TUTORIALFLOWERF14 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF16}, // S_TUTORIALFLOWERF15 - {SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF1}, // S_TUTORIALFLOWERF16 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALLEAF2), // S_TUTORIALLEAF1 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALLEAF3), // S_TUTORIALLEAF2 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALLEAF4), // S_TUTORIALLEAF3 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALLEAF5), // S_TUTORIALLEAF4 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALLEAF6), // S_TUTORIALLEAF5 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALLEAF7), // S_TUTORIALLEAF6 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALLEAF8), // S_TUTORIALLEAF7 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALLEAF9), // S_TUTORIALLEAF8 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALLEAF10), // S_TUTORIALLEAF9 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALLEAF11), // S_TUTORIALLEAF10 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALLEAF12), // S_TUTORIALLEAF11 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALLEAF13), // S_TUTORIALLEAF12 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALLEAF14), // S_TUTORIALLEAF13 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALLEAF15), // S_TUTORIALLEAF14 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALLEAF16), // S_TUTORIALLEAF15 + STATE(SPR_TUPL, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALLEAF1), // S_TUTORIALLEAF16 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWER2), // S_TUTORIALFLOWER1 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWER3), // S_TUTORIALFLOWER2 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWER4), // S_TUTORIALFLOWER3 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWER5), // S_TUTORIALFLOWER4 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWER6), // S_TUTORIALFLOWER5 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWER7), // S_TUTORIALFLOWER6 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWER8), // S_TUTORIALFLOWER7 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWER9), // S_TUTORIALFLOWER8 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWER10), // S_TUTORIALFLOWER9 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWER11), // S_TUTORIALFLOWER10 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWER12), // S_TUTORIALFLOWER11 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWER13), // S_TUTORIALFLOWER12 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWER14), // S_TUTORIALFLOWER13 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWER15), // S_TUTORIALFLOWER14 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWER16), // S_TUTORIALFLOWER15 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_PAPERSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWER1), // S_TUTORIALFLOWER16 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF2), // S_TUTORIALFLOWERF1 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF3), // S_TUTORIALFLOWERF2 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF4), // S_TUTORIALFLOWERF3 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF5), // S_TUTORIALFLOWERF4 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF6), // S_TUTORIALFLOWERF5 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF7), // S_TUTORIALFLOWERF6 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF8), // S_TUTORIALFLOWERF7 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF9), // S_TUTORIALFLOWERF8 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|7, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF10), // S_TUTORIALFLOWERF9 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|6, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF11), // S_TUTORIALFLOWERF10 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|5, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF12), // S_TUTORIALFLOWERF11 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|4, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF13), // S_TUTORIALFLOWERF12 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|3, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF14), // S_TUTORIALFLOWERF13 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|2, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF15), // S_TUTORIALFLOWERF14 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|1, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF16), // S_TUTORIALFLOWERF15 + STATE(SPR_TUPF, FF_SEMIBRIGHT|FF_ADD|FF_FLOORSPRITE|0, 3, {NULL}, 0, 0, S_TUTORIALFLOWERF1), // S_TUTORIALFLOWERF16 // GFZ flowers - {SPR_FWR1, FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL}, // S_GFZFLOWERA - {SPR_FWR2, FF_ANIMATE, -1, {NULL}, 19, 3, S_NULL}, // S_GFZFLOWERB - {SPR_FWR3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_GFZFLOWERC + STATE(SPR_FWR1, FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL), // S_GFZFLOWERA + STATE(SPR_FWR2, FF_ANIMATE, -1, {NULL}, 19, 3, S_NULL), // S_GFZFLOWERB + STATE(SPR_FWR3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_GFZFLOWERC - {SPR_BUS3, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BLUEBERRYBUSH - {SPR_BUS1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BERRYBUSH - {SPR_BUS2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BUSH + STATE(SPR_BUS3, 0, -1, {NULL}, 0, 0, S_NULL), // S_BLUEBERRYBUSH + STATE(SPR_BUS1, 0, -1, {NULL}, 0, 0, S_NULL), // S_BERRYBUSH + STATE(SPR_BUS2, 0, -1, {NULL}, 0, 0, S_NULL), // S_BUSH // Trees - {SPR_TRE1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_GFZTREE - {SPR_TRE1, 1, -1, {NULL}, 0, 0, S_NULL}, // S_GFZBERRYTREE - {SPR_TRE1, 2, -1, {NULL}, 0, 0, S_NULL}, // S_GFZCHERRYTREE - {SPR_TRE2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CHECKERTREE - {SPR_TRE2, 1, -1, {NULL}, 0, 0, S_NULL}, // S_CHECKERSUNSETTREE - {SPR_TRE3, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FHZTREE - {SPR_TRE3, 1, -1, {NULL}, 0, 0, S_NULL}, // S_FHZPINKTREE - {SPR_TRE4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_POLYGONTREE - {SPR_TRE5, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BUSHTREE - {SPR_TRE5, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BUSHREDTREE - {SPR_TRE6, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SPRINGTREE + STATE(SPR_TRE1, 0, -1, {NULL}, 0, 0, S_NULL), // S_GFZTREE + STATE(SPR_TRE1, 1, -1, {NULL}, 0, 0, S_NULL), // S_GFZBERRYTREE + STATE(SPR_TRE1, 2, -1, {NULL}, 0, 0, S_NULL), // S_GFZCHERRYTREE + STATE(SPR_TRE2, 0, -1, {NULL}, 0, 0, S_NULL), // S_CHECKERTREE + STATE(SPR_TRE2, 1, -1, {NULL}, 0, 0, S_NULL), // S_CHECKERSUNSETTREE + STATE(SPR_TRE3, 0, -1, {NULL}, 0, 0, S_NULL), // S_FHZTREE + STATE(SPR_TRE3, 1, -1, {NULL}, 0, 0, S_NULL), // S_FHZPINKTREE + STATE(SPR_TRE4, 0, -1, {NULL}, 0, 0, S_NULL), // S_POLYGONTREE + STATE(SPR_TRE5, 0, -1, {NULL}, 0, 0, S_NULL), // S_BUSHTREE + STATE(SPR_TRE5, 1, -1, {NULL}, 0, 0, S_NULL), // S_BUSHREDTREE + STATE(SPR_TRE6, 0, -1, {NULL}, 0, 0, S_NULL), // S_SPRINGTREE // THZ flowers - {SPR_THZP, FF_ANIMATE, -1, {NULL}, 7, 4, S_NULL}, // S_THZFLOWERA - {SPR_FWR5, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERB - {SPR_FWR6, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERC + STATE(SPR_THZP, FF_ANIMATE, -1, {NULL}, 7, 4, S_NULL), // S_THZFLOWERA + STATE(SPR_FWR5, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL), // S_THZFLOWERB + STATE(SPR_FWR6, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL), // S_THZFLOWERC // THZ Steam Whistle tree/bush - {SPR_THZT, 0, -1, {NULL}, 0, 0, S_NULL}, // S_THZTREE - {SPR_THZT, 1|FF_PAPERSPRITE, 40, {NULL}, 0, 0, S_THZTREEBRANCH2}, // S_THZTREEBRANCH1 - {SPR_THZT, 2|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH3}, // S_THZTREEBRANCH2 - {SPR_THZT, 3|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH4}, // S_THZTREEBRANCH3 - {SPR_THZT, 4|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH5}, // S_THZTREEBRANCH4 - {SPR_THZT, 5|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH6}, // S_THZTREEBRANCH5 - {SPR_THZT, 6|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH7}, // S_THZTREEBRANCH6 - {SPR_THZT, 7|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH8}, // S_THZTREEBRANCH7 - {SPR_THZT, 8|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH9}, // S_THZTREEBRANCH8 - {SPR_THZT, 9|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH10}, // S_THZTREEBRANCH9 - {SPR_THZT, 10|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH11}, // S_THZTREEBRANCH10 - {SPR_THZT, 11|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH12}, // S_THZTREEBRANCH11 - {SPR_THZT, 12|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH13}, // S_THZTREEBRANCH12 - {SPR_THZT, 13|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH1}, // S_THZTREEBRANCH13 + STATE(SPR_THZT, 0, -1, {NULL}, 0, 0, S_NULL), // S_THZTREE + STATE(SPR_THZT, 1|FF_PAPERSPRITE, 40, {NULL}, 0, 0, S_THZTREEBRANCH2), // S_THZTREEBRANCH1 + STATE(SPR_THZT, 2|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH3), // S_THZTREEBRANCH2 + STATE(SPR_THZT, 3|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH4), // S_THZTREEBRANCH3 + STATE(SPR_THZT, 4|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH5), // S_THZTREEBRANCH4 + STATE(SPR_THZT, 5|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH6), // S_THZTREEBRANCH5 + STATE(SPR_THZT, 6|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH7), // S_THZTREEBRANCH6 + STATE(SPR_THZT, 7|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH8), // S_THZTREEBRANCH7 + STATE(SPR_THZT, 8|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH9), // S_THZTREEBRANCH8 + STATE(SPR_THZT, 9|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH10), // S_THZTREEBRANCH9 + STATE(SPR_THZT, 10|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH11), // S_THZTREEBRANCH10 + STATE(SPR_THZT, 11|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH12), // S_THZTREEBRANCH11 + STATE(SPR_THZT, 12|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH13), // S_THZTREEBRANCH12 + STATE(SPR_THZT, 13|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH1), // S_THZTREEBRANCH13 // THZ Alarm - {SPR_ALRM, FF_FULLBRIGHT, 35, {A_Scream}, 0, 0, S_ALARM1}, // S_ALARM1 + STATE(SPR_ALRM, FF_FULLBRIGHT, 35, {A_Scream}, 0, 0, S_ALARM1), // S_ALARM1 // Deep Sea Gargoyle - {SPR_GARG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_GARGOYLE - {SPR_GARG, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BIGGARGOYLE + STATE(SPR_GARG, 0, -1, {NULL}, 0, 0, S_NULL), // S_GARGOYLE + STATE(SPR_GARG, 1, -1, {NULL}, 0, 0, S_NULL), // S_BIGGARGOYLE // DSZ Seaweed - {SPR_SEWE, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 26, 3, S_SEAWEED1}, // S_SEAWEED1 - {SPR_SEWE, 1, 5, {NULL}, 0, 0, S_SEAWEED3}, // S_SEAWEED2 - {SPR_SEWE, 2, 5, {NULL}, 0, 0, S_SEAWEED4}, // S_SEAWEED3 - {SPR_SEWE, 3, 5, {NULL}, 0, 0, S_SEAWEED5}, // S_SEAWEED4 - {SPR_SEWE, 4, 5, {NULL}, 0, 0, S_SEAWEED6}, // S_SEAWEED5 - {SPR_SEWE, 5, 5, {NULL}, 0, 0, S_SEAWEED1}, // S_SEAWEED6 + STATE(SPR_SEWE, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 26, 3, S_SEAWEED1), // S_SEAWEED1 + STATE(SPR_SEWE, 1, 5, {NULL}, 0, 0, S_SEAWEED3), // S_SEAWEED2 + STATE(SPR_SEWE, 2, 5, {NULL}, 0, 0, S_SEAWEED4), // S_SEAWEED3 + STATE(SPR_SEWE, 3, 5, {NULL}, 0, 0, S_SEAWEED5), // S_SEAWEED4 + STATE(SPR_SEWE, 4, 5, {NULL}, 0, 0, S_SEAWEED6), // S_SEAWEED5 + STATE(SPR_SEWE, 5, 5, {NULL}, 0, 0, S_SEAWEED1), // S_SEAWEED6 // Dripping water - {SPR_NULL, FF_TRANS30 , 3*TICRATE, {NULL}, 0, 0, S_DRIPA2}, // S_DRIPA1 - {SPR_DRIP, FF_TRANS30 , 2, {NULL}, 0, 0, S_DRIPA3}, // S_DRIPA2 - {SPR_DRIP, FF_TRANS30|1, 2, {NULL}, 0, 0, S_DRIPA4}, // S_DRIPA3 - {SPR_DRIP, FF_TRANS30|2, 2, {A_SpawnObjectRelative}, 0, MT_WATERDROP, S_DRIPA1}, // S_DRIPA4 - {SPR_DRIP, FF_TRANS30|3, -1, {NULL}, 0, 0, S_DRIPB1}, // S_DRIPB1 - {SPR_DRIP, FF_TRANS30|4, 1, {NULL}, 0, 0, S_DRIPC2}, // S_DRIPC1 - {SPR_DRIP, FF_TRANS30|5, 1, {NULL}, 0, 0, S_NULL}, // S_DRIPC2 + STATE(SPR_NULL, FF_TRANS30 , 3*TICRATE, {NULL}, 0, 0, S_DRIPA2), // S_DRIPA1 + STATE(SPR_DRIP, FF_TRANS30 , 2, {NULL}, 0, 0, S_DRIPA3), // S_DRIPA2 + STATE(SPR_DRIP, FF_TRANS30|1, 2, {NULL}, 0, 0, S_DRIPA4), // S_DRIPA3 + STATE(SPR_DRIP, FF_TRANS30|2, 2, {A_SpawnObjectRelative}, 0, MT_WATERDROP, S_DRIPA1), // S_DRIPA4 + STATE(SPR_DRIP, FF_TRANS30|3, -1, {NULL}, 0, 0, S_DRIPB1), // S_DRIPB1 + STATE(SPR_DRIP, FF_TRANS30|4, 1, {NULL}, 0, 0, S_DRIPC2), // S_DRIPC1 + STATE(SPR_DRIP, FF_TRANS30|5, 1, {NULL}, 0, 0, S_NULL), // S_DRIPC2 // Coral - {SPR_CORL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CORAL1 - {SPR_CORL, 1, -1, {NULL}, 0, 0, S_NULL}, // S_CORAL2 - {SPR_CORL, 2, -1, {NULL}, 0, 0, S_NULL}, // S_CORAL3 - {SPR_CORL, 3, -1, {NULL}, 0, 0, S_NULL}, // S_CORAL4 - {SPR_CORL, 4, -1, {NULL}, 0, 0, S_NULL}, // S_CORAL5 + STATE(SPR_CORL, 0, -1, {NULL}, 0, 0, S_NULL), // S_CORAL1 + STATE(SPR_CORL, 1, -1, {NULL}, 0, 0, S_NULL), // S_CORAL2 + STATE(SPR_CORL, 2, -1, {NULL}, 0, 0, S_NULL), // S_CORAL3 + STATE(SPR_CORL, 3, -1, {NULL}, 0, 0, S_NULL), // S_CORAL4 + STATE(SPR_CORL, 4, -1, {NULL}, 0, 0, S_NULL), // S_CORAL5 // Blue Crystal - {SPR_BCRY, FF_TRANS30, -1, {NULL}, 0, 0, S_NULL}, // S_BLUECRYSTAL1 + STATE(SPR_BCRY, FF_TRANS30, -1, {NULL}, 0, 0, S_NULL), // S_BLUECRYSTAL1 // Kelp - {SPR_KELP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_KELP + STATE(SPR_KELP, 0, -1, {NULL}, 0, 0, S_NULL), // S_KELP // Animated algae - {SPR_ALGA, 0, 1, {A_ConnectToGround}, MT_ANIMALGAESEG, 0, S_ANIMALGAETOP2}, // S_ANIMALGAETOP1 - {SPR_ALGA, 0|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 11, 4, S_NULL}, // S_ANIMALGAETOP2 - {SPR_ALGB, 0|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 11, 4, S_NULL}, // S_ANIMALGAESEG + STATE(SPR_ALGA, 0, 1, {A_ConnectToGround}, MT_ANIMALGAESEG, 0, S_ANIMALGAETOP2), // S_ANIMALGAETOP1 + STATE(SPR_ALGA, 0|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 11, 4, S_NULL), // S_ANIMALGAETOP2 + STATE(SPR_ALGB, 0|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 11, 4, S_NULL), // S_ANIMALGAESEG // DSZ Stalagmites - {SPR_DSTG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_DSZSTALAGMITE - {SPR_DSTG, 1, -1, {NULL}, 0, 0, S_NULL}, // S_DSZ2STALAGMITE + STATE(SPR_DSTG, 0, -1, {NULL}, 0, 0, S_NULL), // S_DSZSTALAGMITE + STATE(SPR_DSTG, 1, -1, {NULL}, 0, 0, S_NULL), // S_DSZ2STALAGMITE // DSZ Light beam - {SPR_LIBE, 0|FF_TRANS80|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {A_LightBeamReset}, 0, 0, S_LIGHTBEAM2}, // S_LIGHTBEAM1 - {SPR_LIBE, 0|FF_TRANS70|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM3}, // S_LIGHTBEAM2 - {SPR_LIBE, 0|FF_TRANS60|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM4}, // S_LIGHTBEAM3 - {SPR_LIBE, 0|FF_TRANS50|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM5}, // S_LIGHTBEAM4 - {SPR_LIBE, 0|FF_TRANS40|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM6}, // S_LIGHTBEAM5 - {SPR_LIBE, 0|FF_TRANS30|FF_FULLBRIGHT|FF_PAPERSPRITE, 9, {NULL}, 0, 0, S_LIGHTBEAM7}, // S_LIGHTBEAM6 - {SPR_LIBE, 0|FF_TRANS40|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM8}, // S_LIGHTBEAM7 - {SPR_LIBE, 0|FF_TRANS50|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM9}, // S_LIGHTBEAM8 - {SPR_LIBE, 0|FF_TRANS60|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM10}, // S_LIGHTBEAM9 - {SPR_LIBE, 0|FF_TRANS70|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM11}, // S_LIGHTBEAM10 - {SPR_LIBE, 0|FF_TRANS80|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM12}, // S_LIGHTBEAM11 - {SPR_NULL, 0, 2, {A_SetRandomTics}, 4, 35, S_LIGHTBEAM1}, // S_LIGHTBEAM12 + STATE(SPR_LIBE, 0|FF_TRANS80|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {A_LightBeamReset}, 0, 0, S_LIGHTBEAM2), // S_LIGHTBEAM1 + STATE(SPR_LIBE, 0|FF_TRANS70|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM3), // S_LIGHTBEAM2 + STATE(SPR_LIBE, 0|FF_TRANS60|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM4), // S_LIGHTBEAM3 + STATE(SPR_LIBE, 0|FF_TRANS50|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM5), // S_LIGHTBEAM4 + STATE(SPR_LIBE, 0|FF_TRANS40|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM6), // S_LIGHTBEAM5 + STATE(SPR_LIBE, 0|FF_TRANS30|FF_FULLBRIGHT|FF_PAPERSPRITE, 9, {NULL}, 0, 0, S_LIGHTBEAM7), // S_LIGHTBEAM6 + STATE(SPR_LIBE, 0|FF_TRANS40|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM8), // S_LIGHTBEAM7 + STATE(SPR_LIBE, 0|FF_TRANS50|FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {NULL}, 0, 0, S_LIGHTBEAM9), // S_LIGHTBEAM8 + STATE(SPR_LIBE, 0|FF_TRANS60|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM10), // S_LIGHTBEAM9 + STATE(SPR_LIBE, 0|FF_TRANS70|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM11), // S_LIGHTBEAM10 + STATE(SPR_LIBE, 0|FF_TRANS80|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_LIGHTBEAM12), // S_LIGHTBEAM11 + STATE(SPR_NULL, 0, 2, {A_SetRandomTics}, 4, 35, S_LIGHTBEAM1), // S_LIGHTBEAM12 // CEZ Chain - {SPR_CHAN, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZCHAIN + STATE(SPR_CHAN, 0, -1, {NULL}, 0, 0, S_NULL), // S_CEZCHAIN // Flame - {SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, 3*8, {A_FlameParticle}, 7, 3, S_FLAME}, // S_FLAME - {SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE|8, TICRATE, {NULL}, 3, 3, S_NULL}, // S_FLAMEPARTICLE - {SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL}, // S_FLAMEREST + STATE(SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, 3*8, {A_FlameParticle}, 7, 3, S_FLAME), // S_FLAME + STATE(SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE|8, TICRATE, {NULL}, 3, 3, S_NULL), // S_FLAMEPARTICLE + STATE(SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL), // S_FLAMEREST // Eggman statue - {SPR_ESTA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSTATUE1 + STATE(SPR_ESTA, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGSTATUE1 // Hidden sling appears - {SPR_NULL, 0, -1, {NULL}, 0, 0, S_SLING2}, // S_SLING1 - {SPR_NULL, 0, -1, {A_SlingAppear}, 0, 0, S_NULL}, // S_SLING2 + STATE(SPR_NULL, 0, -1, {NULL}, 0, 0, S_SLING2), // S_SLING1 + STATE(SPR_NULL, 0, -1, {A_SlingAppear}, 0, 0, S_NULL), // S_SLING2 // CEZ maces and chains - {SPR_SMCH, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SMALLMACECHAIN - {SPR_BMCH, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BIGMACECHAIN - {SPR_SMCE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SMALLMACE - {SPR_BMCE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BIGMACE - {SPR_SMCH, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SMALLGRABCHAIN - {SPR_BMCH, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BIGGRABCHAIN + STATE(SPR_SMCH, 0, -1, {NULL}, 0, 0, S_NULL), // S_SMALLMACECHAIN + STATE(SPR_BMCH, 0, -1, {NULL}, 0, 0, S_NULL), // S_BIGMACECHAIN + STATE(SPR_SMCE, 0, -1, {NULL}, 0, 0, S_NULL), // S_SMALLMACE + STATE(SPR_BMCE, 0, -1, {NULL}, 0, 0, S_NULL), // S_BIGMACE + STATE(SPR_SMCH, 1, -1, {NULL}, 0, 0, S_NULL), // S_SMALLGRABCHAIN + STATE(SPR_BMCH, 1, -1, {NULL}, 0, 0, S_NULL), // S_BIGGRABCHAIN // Blue spring on a ball - {SPR_BSPB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BLUESPRINGBALL - {SPR_BSPB, 4, 4, {A_Pain}, 0, 0, S_BLUESPRINGBALL3}, // S_BLUESPRINGBALL2 - {SPR_BSPB, 3, 1, {NULL}, 0, 0, S_BLUESPRINGBALL4}, // S_BLUESPRINGBALL3 - {SPR_BSPB, 2, 1, {NULL}, 0, 0, S_BLUESPRINGBALL5}, // S_BLUESPRINGBALL4 - {SPR_BSPB, 1, 1, {NULL}, 0, 0, S_BLUESPRINGBALL}, // S_BLUESPRINGBALL5 + STATE(SPR_BSPB, 0, -1, {NULL}, 0, 0, S_NULL), // S_BLUESPRINGBALL + STATE(SPR_BSPB, 4, 4, {A_Pain}, 0, 0, S_BLUESPRINGBALL3), // S_BLUESPRINGBALL2 + STATE(SPR_BSPB, 3, 1, {NULL}, 0, 0, S_BLUESPRINGBALL4), // S_BLUESPRINGBALL3 + STATE(SPR_BSPB, 2, 1, {NULL}, 0, 0, S_BLUESPRINGBALL5), // S_BLUESPRINGBALL4 + STATE(SPR_BSPB, 1, 1, {NULL}, 0, 0, S_BLUESPRINGBALL), // S_BLUESPRINGBALL5 // Yellow spring on a ball - {SPR_YSPB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_YELLOWSPRINGBALL - {SPR_YSPB, 4, 4, {A_Pain}, 0, 0, S_YELLOWSPRINGBALL3}, // S_YELLOWSPRINGBALL2 - {SPR_YSPB, 3, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL4}, // S_YELLOWSPRINGBALL3 - {SPR_YSPB, 2, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL5}, // S_YELLOWSPRINGBALL4 - {SPR_YSPB, 1, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL}, // S_YELLOWSPRINGBALL5 + STATE(SPR_YSPB, 0, -1, {NULL}, 0, 0, S_NULL), // S_YELLOWSPRINGBALL + STATE(SPR_YSPB, 4, 4, {A_Pain}, 0, 0, S_YELLOWSPRINGBALL3), // S_YELLOWSPRINGBALL2 + STATE(SPR_YSPB, 3, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL4), // S_YELLOWSPRINGBALL3 + STATE(SPR_YSPB, 2, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL5), // S_YELLOWSPRINGBALL4 + STATE(SPR_YSPB, 1, 1, {NULL}, 0, 0, S_YELLOWSPRINGBALL), // S_YELLOWSPRINGBALL5 // Red spring on a ball - {SPR_RSPB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_REDSPRINGBALL - {SPR_RSPB, 4, 4, {A_Pain}, 0, 0, S_REDSPRINGBALL3}, // S_REDSPRINGBALL2 - {SPR_RSPB, 3, 1, {NULL}, 0, 0, S_REDSPRINGBALL4}, // S_REDSPRINGBALL3 - {SPR_RSPB, 2, 1, {NULL}, 0, 0, S_REDSPRINGBALL5}, // S_REDSPRINGBALL4 - {SPR_RSPB, 1, 1, {NULL}, 0, 0, S_REDSPRINGBALL}, // S_REDSPRINGBALL5 + STATE(SPR_RSPB, 0, -1, {NULL}, 0, 0, S_NULL), // S_REDSPRINGBALL + STATE(SPR_RSPB, 4, 4, {A_Pain}, 0, 0, S_REDSPRINGBALL3), // S_REDSPRINGBALL2 + STATE(SPR_RSPB, 3, 1, {NULL}, 0, 0, S_REDSPRINGBALL4), // S_REDSPRINGBALL3 + STATE(SPR_RSPB, 2, 1, {NULL}, 0, 0, S_REDSPRINGBALL5), // S_REDSPRINGBALL4 + STATE(SPR_RSPB, 1, 1, {NULL}, 0, 0, S_REDSPRINGBALL), // S_REDSPRINGBALL5 // Small Firebar - {SPR_SFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SMALLFIREBAR2}, // S_SMALLFIREBAR1 - {SPR_SFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_SMALLFIREBAR3}, // S_SMALLFIREBAR2 - {SPR_SFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR4}, // S_SMALLFIREBAR3 - {SPR_SFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_SMALLFIREBAR5}, // S_SMALLFIREBAR4 - {SPR_SFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_SMALLFIREBAR6}, // S_SMALLFIREBAR5 - {SPR_SFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_SMALLFIREBAR7}, // S_SMALLFIREBAR6 - {SPR_SFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR8}, // S_SMALLFIREBAR7 - {SPR_SFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_SMALLFIREBAR9}, // S_SMALLFIREBAR8 - {SPR_SFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_SMALLFIREBAR10}, // S_SMALLFIREBAR9 - {SPR_SFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_SMALLFIREBAR11}, // S_SMALLFIREBAR10 - {SPR_SFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR12}, // S_SMALLFIREBAR11 - {SPR_SFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_SMALLFIREBAR13}, // S_SMALLFIREBAR12 - {SPR_SFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_SMALLFIREBAR14}, // S_SMALLFIREBAR13 - {SPR_SFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_SMALLFIREBAR15}, // S_SMALLFIREBAR14 - {SPR_SFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR16}, // S_SMALLFIREBAR15 - {SPR_SFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_SMALLFIREBAR1}, // S_SMALLFIREBAR16 + STATE(SPR_SFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SMALLFIREBAR2), // S_SMALLFIREBAR1 + STATE(SPR_SFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_SMALLFIREBAR3), // S_SMALLFIREBAR2 + STATE(SPR_SFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR4), // S_SMALLFIREBAR3 + STATE(SPR_SFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_SMALLFIREBAR5), // S_SMALLFIREBAR4 + STATE(SPR_SFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_SMALLFIREBAR6), // S_SMALLFIREBAR5 + STATE(SPR_SFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_SMALLFIREBAR7), // S_SMALLFIREBAR6 + STATE(SPR_SFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR8), // S_SMALLFIREBAR7 + STATE(SPR_SFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_SMALLFIREBAR9), // S_SMALLFIREBAR8 + STATE(SPR_SFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_SMALLFIREBAR10), // S_SMALLFIREBAR9 + STATE(SPR_SFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_SMALLFIREBAR11), // S_SMALLFIREBAR10 + STATE(SPR_SFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR12), // S_SMALLFIREBAR11 + STATE(SPR_SFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_SMALLFIREBAR13), // S_SMALLFIREBAR12 + STATE(SPR_SFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_SMALLFIREBAR14), // S_SMALLFIREBAR13 + STATE(SPR_SFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_SMALLFIREBAR15), // S_SMALLFIREBAR14 + STATE(SPR_SFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR16), // S_SMALLFIREBAR15 + STATE(SPR_SFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_SMALLFIREBAR1), // S_SMALLFIREBAR16 // Big Firebar - {SPR_BFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGFIREBAR2}, // S_BIGFIREBAR1 - {SPR_BFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_BIGFIREBAR3}, // S_BIGFIREBAR2 - {SPR_BFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR4}, // S_BIGFIREBAR3 - {SPR_BFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_BIGFIREBAR5}, // S_BIGFIREBAR4 - {SPR_BFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_BIGFIREBAR6}, // S_BIGFIREBAR5 - {SPR_BFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_BIGFIREBAR7}, // S_BIGFIREBAR6 - {SPR_BFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR8}, // S_BIGFIREBAR7 - {SPR_BFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_BIGFIREBAR9}, // S_BIGFIREBAR8 - {SPR_BFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_BIGFIREBAR10}, // S_BIGFIREBAR9 - {SPR_BFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_BIGFIREBAR11}, // S_BIGFIREBAR10 - {SPR_BFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR12}, // S_BIGFIREBAR11 - {SPR_BFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_BIGFIREBAR13}, // S_BIGFIREBAR12 - {SPR_BFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_BIGFIREBAR14}, // S_BIGFIREBAR13 - {SPR_BFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_BIGFIREBAR15}, // S_BIGFIREBAR14 - {SPR_BFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR16}, // S_BIGFIREBAR15 - {SPR_BFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_BIGFIREBAR1}, // S_BIGFIREBAR16 + STATE(SPR_BFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGFIREBAR2), // S_BIGFIREBAR1 + STATE(SPR_BFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_BIGFIREBAR3), // S_BIGFIREBAR2 + STATE(SPR_BFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR4), // S_BIGFIREBAR3 + STATE(SPR_BFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_BIGFIREBAR5), // S_BIGFIREBAR4 + STATE(SPR_BFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_BIGFIREBAR6), // S_BIGFIREBAR5 + STATE(SPR_BFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_BIGFIREBAR7), // S_BIGFIREBAR6 + STATE(SPR_BFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR8), // S_BIGFIREBAR7 + STATE(SPR_BFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_BIGFIREBAR9), // S_BIGFIREBAR8 + STATE(SPR_BFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_BIGFIREBAR10), // S_BIGFIREBAR9 + STATE(SPR_BFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_BIGFIREBAR11), // S_BIGFIREBAR10 + STATE(SPR_BFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR12), // S_BIGFIREBAR11 + STATE(SPR_BFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_BIGFIREBAR13), // S_BIGFIREBAR12 + STATE(SPR_BFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_BIGFIREBAR14), // S_BIGFIREBAR13 + STATE(SPR_BFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_BIGFIREBAR15), // S_BIGFIREBAR14 + STATE(SPR_BFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR16), // S_BIGFIREBAR15 + STATE(SPR_BFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_BIGFIREBAR1), // S_BIGFIREBAR16 - {SPR_FWR4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZFLOWER - {SPR_BANR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZPOLE + STATE(SPR_FWR4, 0, -1, {NULL}, 0, 0, S_NULL), // S_CEZFLOWER + STATE(SPR_BANR, 0, -1, {NULL}, 0, 0, S_NULL), // S_CEZPOLE - {SPR_BANR, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBANNER1 - {SPR_BANR, FF_PAPERSPRITE|2, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBANNER2 + STATE(SPR_BANR, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL), // S_CEZBANNER1 + STATE(SPR_BANR, FF_PAPERSPRITE|2, -1, {NULL}, 0, 0, S_NULL), // S_CEZBANNER2 - {SPR_PINE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_PINETREE - {SPR_CEZB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBUSH1 - {SPR_CEZB, 1, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBUSH2 + STATE(SPR_PINE, 0, -1, {NULL}, 0, 0, S_NULL), // S_PINETREE + STATE(SPR_CEZB, 0, -1, {NULL}, 0, 0, S_NULL), // S_CEZBUSH1 + STATE(SPR_CEZB, 1, -1, {NULL}, 0, 0, S_NULL), // S_CEZBUSH2 - {SPR_CNDL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_CANDLE - {SPR_CNDL, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL}, // S_CANDLEPRICKET + STATE(SPR_CNDL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_CANDLE + STATE(SPR_CNDL, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL), // S_CANDLEPRICKET - {SPR_FLMH, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FLAMEHOLDER + STATE(SPR_FLMH, 0, -1, {NULL}, 0, 0, S_NULL), // S_FLAMEHOLDER - {SPR_CTRC, FF_FULLBRIGHT|FF_ANIMATE, 8*3, {A_FlameParticle}, 3, 3, S_FIRETORCH}, // S_FIRETORCH + STATE(SPR_CTRC, FF_FULLBRIGHT|FF_ANIMATE, 8*3, {A_FlameParticle}, 3, 3, S_FIRETORCH), // S_FIRETORCH - {SPR_CFLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_WAVINGFLAG - {SPR_CFLG, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL}, // S_WAVINGFLAGSEG1 - {SPR_CFLG, FF_PAPERSPRITE|2, -1, {NULL}, 0, 0, S_NULL}, // S_WAVINGFLAGSEG2 + STATE(SPR_CFLG, 0, -1, {NULL}, 0, 0, S_NULL), // S_WAVINGFLAG + STATE(SPR_CFLG, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL), // S_WAVINGFLAGSEG1 + STATE(SPR_CFLG, FF_PAPERSPRITE|2, -1, {NULL}, 0, 0, S_NULL), // S_WAVINGFLAGSEG2 - {SPR_CSTA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CRAWLASTATUE + STATE(SPR_CSTA, 0, -1, {NULL}, 0, 0, S_NULL), // S_CRAWLASTATUE - {SPR_CBBS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FACESTABBERSTATUE + STATE(SPR_CBBS, 0, -1, {NULL}, 0, 0, S_NULL), // S_FACESTABBERSTATUE - {SPR_CBBS, 0, 5, {A_Look}, 768*FRACUNIT, 0, S_SUSPICIOUSFACESTABBERSTATUE_WAIT}, // S_SUSPICIOUSFACESTABBERSTATUE_WAIT - {SPR_CBBS, FF_ANIMATE, 23, {NULL}, 6, 1, S_SUSPICIOUSFACESTABBERSTATUE_BURST2}, // S_SUSPICIOUSFACESTABBERSTATUE_BURST1 - {SPR_NULL, 0, 40, {A_StatueBurst}, MT_FACESTABBER, S_FACESTABBER_CHARGE2, S_NULL}, // S_SUSPICIOUSFACESTABBERSTATUE_BURST2 + STATE(SPR_CBBS, 0, 5, {A_Look}, 768*FRACUNIT, 0, S_SUSPICIOUSFACESTABBERSTATUE_WAIT), // S_SUSPICIOUSFACESTABBERSTATUE_WAIT + STATE(SPR_CBBS, FF_ANIMATE, 23, {NULL}, 6, 1, S_SUSPICIOUSFACESTABBERSTATUE_BURST2), // S_SUSPICIOUSFACESTABBERSTATUE_BURST1 + STATE(SPR_NULL, 0, 40, {A_StatueBurst}, MT_FACESTABBER, S_FACESTABBER_CHARGE2, S_NULL), // S_SUSPICIOUSFACESTABBERSTATUE_BURST2 - {SPR_CABR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BRAMBLES + STATE(SPR_CABR, 0, -1, {NULL}, 0, 0, S_NULL), // S_BRAMBLES // Big Tumbleweed - {SPR_BTBL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BIGTUMBLEWEED - {SPR_BTBL, 0, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL2}, // S_BIGTUMBLEWEED_ROLL1 - {SPR_BTBL, 1, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL3}, // S_BIGTUMBLEWEED_ROLL2 - {SPR_BTBL, 2, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL4}, // S_BIGTUMBLEWEED_ROLL3 - {SPR_BTBL, 3, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL5}, // S_BIGTUMBLEWEED_ROLL4 - {SPR_BTBL, 4, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL6}, // S_BIGTUMBLEWEED_ROLL5 - {SPR_BTBL, 5, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL7}, // S_BIGTUMBLEWEED_ROLL6 - {SPR_BTBL, 6, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL8}, // S_BIGTUMBLEWEED_ROLL7 - {SPR_BTBL, 7, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL1}, // S_BIGTUMBLEWEED_ROLL8 + STATE(SPR_BTBL, 0, -1, {NULL}, 0, 0, S_NULL), // S_BIGTUMBLEWEED + STATE(SPR_BTBL, 0, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL2), // S_BIGTUMBLEWEED_ROLL1 + STATE(SPR_BTBL, 1, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL3), // S_BIGTUMBLEWEED_ROLL2 + STATE(SPR_BTBL, 2, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL4), // S_BIGTUMBLEWEED_ROLL3 + STATE(SPR_BTBL, 3, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL5), // S_BIGTUMBLEWEED_ROLL4 + STATE(SPR_BTBL, 4, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL6), // S_BIGTUMBLEWEED_ROLL5 + STATE(SPR_BTBL, 5, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL7), // S_BIGTUMBLEWEED_ROLL6 + STATE(SPR_BTBL, 6, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL8), // S_BIGTUMBLEWEED_ROLL7 + STATE(SPR_BTBL, 7, 5, {NULL}, 0, 0, S_BIGTUMBLEWEED_ROLL1), // S_BIGTUMBLEWEED_ROLL8 // Little Tumbleweed - {SPR_STBL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_LITTLETUMBLEWEED - {SPR_STBL, 0, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL2}, // S_LITTLETUMBLEWEED_ROLL1 - {SPR_STBL, 1, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL3}, // S_LITTLETUMBLEWEED_ROLL2 - {SPR_STBL, 2, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL4}, // S_LITTLETUMBLEWEED_ROLL3 - {SPR_STBL, 3, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL5}, // S_LITTLETUMBLEWEED_ROLL4 - {SPR_STBL, 4, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL6}, // S_LITTLETUMBLEWEED_ROLL5 - {SPR_STBL, 5, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL7}, // S_LITTLETUMBLEWEED_ROLL6 - {SPR_STBL, 6, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL8}, // S_LITTLETUMBLEWEED_ROLL7 - {SPR_STBL, 7, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL1}, // S_LITTLETUMBLEWEED_ROLL8 + STATE(SPR_STBL, 0, -1, {NULL}, 0, 0, S_NULL), // S_LITTLETUMBLEWEED + STATE(SPR_STBL, 0, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL2), // S_LITTLETUMBLEWEED_ROLL1 + STATE(SPR_STBL, 1, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL3), // S_LITTLETUMBLEWEED_ROLL2 + STATE(SPR_STBL, 2, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL4), // S_LITTLETUMBLEWEED_ROLL3 + STATE(SPR_STBL, 3, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL5), // S_LITTLETUMBLEWEED_ROLL4 + STATE(SPR_STBL, 4, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL6), // S_LITTLETUMBLEWEED_ROLL5 + STATE(SPR_STBL, 5, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL7), // S_LITTLETUMBLEWEED_ROLL6 + STATE(SPR_STBL, 6, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL8), // S_LITTLETUMBLEWEED_ROLL7 + STATE(SPR_STBL, 7, 5, {NULL}, 0, 0, S_LITTLETUMBLEWEED_ROLL1), // S_LITTLETUMBLEWEED_ROLL8 // Cacti - {SPR_CACT, 0, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL}, // S_CACTI1 - {SPR_CACT, 1, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL}, // S_CACTI2 - {SPR_CACT, 2, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL}, // S_CACTI3 - {SPR_CACT, 3, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL}, // S_CACTI4 - {SPR_CACT, 4, -1, {NULL}, 0, 0, S_NULL}, // S_CACTI5 - {SPR_CACT, 5, -1, {NULL}, 0, 0, S_NULL}, // S_CACTI6 - {SPR_CACT, 6, -1, {NULL}, 0, 0, S_NULL}, // S_CACTI7 - {SPR_CACT, 7, -1, {NULL}, 0, 0, S_NULL}, // S_CACTI8 - {SPR_CACT, 8, -1, {NULL}, 0, 0, S_NULL}, // S_CACTI9 - {SPR_CACT, 9, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL}, // S_CACTI10 - {SPR_CACT, 10, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL}, // S_CACTI11 - {SPR_CACT, 11, -1, {NULL}, 0, 0, S_NULL}, // S_CACTITINYSEG - {SPR_CACT, 12, -1, {NULL}, 0, 0, S_NULL}, // S_CACTISMALLSEG + STATE(SPR_CACT, 0, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL), // S_CACTI1 + STATE(SPR_CACT, 1, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL), // S_CACTI2 + STATE(SPR_CACT, 2, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL), // S_CACTI3 + STATE(SPR_CACT, 3, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL), // S_CACTI4 + STATE(SPR_CACT, 4, -1, {NULL}, 0, 0, S_NULL), // S_CACTI5 + STATE(SPR_CACT, 5, -1, {NULL}, 0, 0, S_NULL), // S_CACTI6 + STATE(SPR_CACT, 6, -1, {NULL}, 0, 0, S_NULL), // S_CACTI7 + STATE(SPR_CACT, 7, -1, {NULL}, 0, 0, S_NULL), // S_CACTI8 + STATE(SPR_CACT, 8, -1, {NULL}, 0, 0, S_NULL), // S_CACTI9 + STATE(SPR_CACT, 9, -1, {A_ConnectToGround}, MT_CACTITINYSEG, 0, S_NULL), // S_CACTI10 + STATE(SPR_CACT, 10, -1, {A_ConnectToGround}, MT_CACTISMALLSEG, 0, S_NULL), // S_CACTI11 + STATE(SPR_CACT, 11, -1, {NULL}, 0, 0, S_NULL), // S_CACTITINYSEG + STATE(SPR_CACT, 12, -1, {NULL}, 0, 0, S_NULL), // S_CACTISMALLSEG // Warning Signs - {SPR_WWSG, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ARIDSIGN_CAUTION - {SPR_WWS2, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ARIDSIGN_CACTI - {SPR_WWS3, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_ARIDSIGN_SHARPTURN + STATE(SPR_WWSG, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_ARIDSIGN_CAUTION + STATE(SPR_WWS2, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_ARIDSIGN_CACTI + STATE(SPR_WWS3, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_ARIDSIGN_SHARPTURN // Oil lamp - {SPR_OILL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_OILLAMP - {SPR_OILF, FF_TRANS90|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_OILLAMPFLARE + STATE(SPR_OILL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_OILLAMP + STATE(SPR_OILF, FF_TRANS90|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_OILLAMPFLARE // TNT barrel - {SPR_BARR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_TNTBARREL_STND1 - {SPR_BARX, 0, 0, {A_RollAngle}, 0, 1, S_TNTBARREL_EXPL2}, // S_TNTBARREL_EXPL1 - {SPR_BARX, 0|FF_FULLBRIGHT, 3, {A_SetObjectFlags}, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_TNTBARREL_EXPL3}, // S_TNTBARREL_EXPL2 - {SPR_BARX, 1|FF_FULLBRIGHT, 2, {A_TNTExplode}, MT_TNTDUST, 0, S_TNTBARREL_EXPL4}, // S_TNTBARREL_EXPL3 - {SPR_BARX, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_TNTBARREL_EXPL5}, // S_TNTBARREL_EXPL4 - {SPR_BARX, 2|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_TNTBARREL_EXPL6}, // S_TNTBARREL_EXPL5 - {SPR_BARX, 3|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_TNTBARREL_EXPL7}, // S_TNTBARREL_EXPL6 - {SPR_NULL, 0, 35, {NULL}, 0, 0, S_NULL}, // S_TNTBARREL_EXPL7 + STATE(SPR_BARR, 0, -1, {NULL}, 0, 0, S_NULL), // S_TNTBARREL_STND1 + STATE(SPR_BARX, 0, 0, {A_RollAngle}, 0, 1, S_TNTBARREL_EXPL2), // S_TNTBARREL_EXPL1 + STATE(SPR_BARX, 0|FF_FULLBRIGHT, 3, {A_SetObjectFlags}, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_TNTBARREL_EXPL3), // S_TNTBARREL_EXPL2 + STATE(SPR_BARX, 1|FF_FULLBRIGHT, 2, {A_TNTExplode}, MT_TNTDUST, 0, S_TNTBARREL_EXPL4), // S_TNTBARREL_EXPL3 + STATE(SPR_BARX, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_TNTBARREL_EXPL5), // S_TNTBARREL_EXPL4 + STATE(SPR_BARX, 2|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_TNTBARREL_EXPL6), // S_TNTBARREL_EXPL5 + STATE(SPR_BARX, 3|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_TNTBARREL_EXPL7), // S_TNTBARREL_EXPL6 + STATE(SPR_NULL, 0, 35, {NULL}, 0, 0, S_NULL), // S_TNTBARREL_EXPL7 #ifndef ROTSPRITE - {SPR_BARR, 1|FF_ANIMATE, -1, {NULL}, 7, 2, S_NULL}, // S_TNTBARREL_FLYING + STATE(SPR_BARR, 1|FF_ANIMATE, -1, {NULL}, 7, 2, S_NULL), // S_TNTBARREL_FLYING #else - {SPR_BARR, 1, 1, {A_RollAngle}, 14, 0, S_TNTBARREL_FLYING}, // S_TNTBARREL_FLYING + STATE(SPR_BARR, 1, 1, {A_RollAngle}, 14, 0, S_TNTBARREL_FLYING), // S_TNTBARREL_FLYING #endif // TNT proximity shell - {SPR_REMT, 0, 10, {A_Look}, 33554433, 0, S_PROXIMITY_TNT}, // S_PROXIMITY_TNT - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER2}, // S_PROXIMITY_TNT_TRIGGER1 - {SPR_REMT, 0, 16, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER3}, // S_PROXIMITY_TNT_TRIGGER2 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER4}, // S_PROXIMITY_TNT_TRIGGER3 - {SPR_REMT, 0, 16, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER5}, // S_PROXIMITY_TNT_TRIGGER4 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER6}, // S_PROXIMITY_TNT_TRIGGER5 - {SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER7}, // S_PROXIMITY_TNT_TRIGGER6 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER8}, // S_PROXIMITY_TNT_TRIGGER7 - {SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER9}, // S_PROXIMITY_TNT_TRIGGER8 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER10}, // S_PROXIMITY_TNT_TRIGGER9 - {SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER11}, // S_PROXIMITY_TNT_TRIGGER10 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER12}, // S_PROXIMITY_TNT_TRIGGER11 - {SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER13}, // S_PROXIMITY_TNT_TRIGGER12 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER14}, // S_PROXIMITY_TNT_TRIGGER13 - {SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER15}, // S_PROXIMITY_TNT_TRIGGER14 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER16}, // S_PROXIMITY_TNT_TRIGGER15 - {SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER17}, // S_PROXIMITY_TNT_TRIGGER16 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER18}, // S_PROXIMITY_TNT_TRIGGER17 - {SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER19}, // S_PROXIMITY_TNT_TRIGGER18 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER20}, // S_PROXIMITY_TNT_TRIGGER19 - {SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER21}, // S_PROXIMITY_TNT_TRIGGER20 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER22}, // S_PROXIMITY_TNT_TRIGGER21 - {SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER23}, // S_PROXIMITY_TNT_TRIGGER22 - {SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_TNTBARREL_EXPL1}, // S_PROXIMITY_TNT_TRIGGER23 + STATE(SPR_REMT, 0, 10, {A_Look}, 33554433, 0, S_PROXIMITY_TNT), // S_PROXIMITY_TNT + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER2), // S_PROXIMITY_TNT_TRIGGER1 + STATE(SPR_REMT, 0, 16, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER3), // S_PROXIMITY_TNT_TRIGGER2 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER4), // S_PROXIMITY_TNT_TRIGGER3 + STATE(SPR_REMT, 0, 16, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER5), // S_PROXIMITY_TNT_TRIGGER4 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER6), // S_PROXIMITY_TNT_TRIGGER5 + STATE(SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER7), // S_PROXIMITY_TNT_TRIGGER6 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER8), // S_PROXIMITY_TNT_TRIGGER7 + STATE(SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER9), // S_PROXIMITY_TNT_TRIGGER8 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER10), // S_PROXIMITY_TNT_TRIGGER9 + STATE(SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER11), // S_PROXIMITY_TNT_TRIGGER10 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER12), // S_PROXIMITY_TNT_TRIGGER11 + STATE(SPR_REMT, 0, 4, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER13), // S_PROXIMITY_TNT_TRIGGER12 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER14), // S_PROXIMITY_TNT_TRIGGER13 + STATE(SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER15), // S_PROXIMITY_TNT_TRIGGER14 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER16), // S_PROXIMITY_TNT_TRIGGER15 + STATE(SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER17), // S_PROXIMITY_TNT_TRIGGER16 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER18), // S_PROXIMITY_TNT_TRIGGER17 + STATE(SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER19), // S_PROXIMITY_TNT_TRIGGER18 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER20), // S_PROXIMITY_TNT_TRIGGER19 + STATE(SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER21), // S_PROXIMITY_TNT_TRIGGER20 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_PROXIMITY_TNT_TRIGGER22), // S_PROXIMITY_TNT_TRIGGER21 + STATE(SPR_REMT, 0, 2, {NULL}, 0, 0, S_PROXIMITY_TNT_TRIGGER23), // S_PROXIMITY_TNT_TRIGGER22 + STATE(SPR_REMT, 1|FF_FULLBRIGHT, 1, {A_PlayActiveSound}, 0, 0, S_TNTBARREL_EXPL1), // S_PROXIMITY_TNT_TRIGGER23 // Dust devil - {SPR_NULL, 0, 1, {A_DustDevilThink}, 0, 0, S_DUSTDEVIL}, //S_DUSTDEVIL - {SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS70, 2 * TICRATE, {NULL}, 0, 0, S_DUSTLAYER2}, // S_DUSTLAYER1 - {SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS70, 5, {NULL}, 0, 0, S_DUSTLAYER3}, // S_DUSTLAYER2 - {SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS80, 5, {NULL}, 0, 0, S_DUSTLAYER4}, // S_DUSTLAYER3 - {SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS80, 5, {NULL}, 0, 0, S_DUSTLAYER5}, // S_DUSTLAYER4 - {SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS90, 5, {NULL}, 0, 0, S_NULL}, // S_DUSTLAYER5 - {SPR_ADST, 0|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL}, // S_ARIDDUST1 - {SPR_ADST, 3|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL}, // S_ARIDDUST2 - {SPR_ADST, 6|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL}, // S_ARIDDUST3 + STATE(SPR_NULL, 0, 1, {A_DustDevilThink}, 0, 0, S_DUSTDEVIL), //S_DUSTDEVIL + STATE(SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS70, 2 * TICRATE, {NULL}, 0, 0, S_DUSTLAYER2), // S_DUSTLAYER1 + STATE(SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS70, 5, {NULL}, 0, 0, S_DUSTLAYER3), // S_DUSTLAYER2 + STATE(SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS80, 5, {NULL}, 0, 0, S_DUSTLAYER4), // S_DUSTLAYER3 + STATE(SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS80, 5, {NULL}, 0, 0, S_DUSTLAYER5), // S_DUSTLAYER4 + STATE(SPR_TAZD, 1|FF_PAPERSPRITE|FF_TRANS90, 5, {NULL}, 0, 0, S_NULL), // S_DUSTLAYER5 + STATE(SPR_ADST, 0|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL), // S_ARIDDUST1 + STATE(SPR_ADST, 3|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL), // S_ARIDDUST2 + STATE(SPR_ADST, 6|FF_ANIMATE, 24, {NULL}, 3, 8, S_NULL), // S_ARIDDUST3 // Minecart - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_MINECART_IDLE}, // S_MINECART_IDLE - {SPR_NULL, 0, 0, {A_KillSegments}, 0, 0, S_TNTBARREL_EXPL4}, // S_MINECART_DTH1 - {SPR_MCRT, 8|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_MINECARTEND - {SPR_MCRT, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_MINECARTSEG_FRONT - {SPR_MCRT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_MINECARTSEG_BACK - {SPR_MCRT, 2|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_MINECARTSEG_LEFT - {SPR_MCRT, 5|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_MINECARTSEG_RIGHT - {SPR_LCKN, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_MINECARTSIDEMARK1 - {SPR_LCKN, 0|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_MINECARTSIDEMARK2 - {SPR_MCSP, FF_FULLBRIGHT, 1, {A_MinecartSparkThink}, 0, 0, S_MINECARTSPARK}, // S_MINECARTSPARK + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_MINECART_IDLE), // S_MINECART_IDLE + STATE(SPR_NULL, 0, 0, {A_KillSegments}, 0, 0, S_TNTBARREL_EXPL4), // S_MINECART_DTH1 + STATE(SPR_MCRT, 8|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_MINECARTEND + STATE(SPR_MCRT, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_MINECARTSEG_FRONT + STATE(SPR_MCRT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_MINECARTSEG_BACK + STATE(SPR_MCRT, 2|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_MINECARTSEG_LEFT + STATE(SPR_MCRT, 5|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_MINECARTSEG_RIGHT + STATE(SPR_LCKN, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_MINECARTSIDEMARK1 + STATE(SPR_LCKN, 0|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_MINECARTSIDEMARK2 + STATE(SPR_MCSP, FF_FULLBRIGHT, 1, {A_MinecartSparkThink}, 0, 0, S_MINECARTSPARK), // S_MINECARTSPARK // Saloon door - {SPR_SALD, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SALOONDOOR - {SPR_NULL, 0, -1, {A_SaloonDoorSpawn}, MT_SALOONDOOR, 48, S_NULL}, // S_SALOONDOORCENTER + STATE(SPR_SALD, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_SALOONDOOR + STATE(SPR_NULL, 0, -1, {A_SaloonDoorSpawn}, MT_SALOONDOOR, 48, S_NULL), // S_SALOONDOORCENTER // Train cameo - {SPR_NULL, 0, -1, {NULL}, 0, 0, S_TRAINCAMEOSPAWNER_2}, // S_TRAINCAMEOSPAWNER_1 - {SPR_NULL, 0, 14, {A_TrainCameo}, 20, 18, S_TRAINCAMEOSPAWNER_3}, // S_TRAINCAMEOSPAWNER_2 - {SPR_NULL, 0, 1, {A_Repeat}, 1, 0, S_TRAINCAMEOSPAWNER_4}, // S_TRAINCAMEOSPAWNER_3 - {SPR_NULL, 0, 18, {A_TrainCameo2}, 20, 44, S_TRAINCAMEOSPAWNER_5}, // S_TRAINCAMEOSPAWNER_4 - {SPR_NULL, 0, 1, {A_Repeat}, 5, S_TRAINCAMEOSPAWNER_4, S_NULL}, // S_TRAINCAMEOSPAWNER_5 - {SPR_NULL, 0, 2, {A_SmokeTrailer}, MT_SMOKE, 0, S_TRAINPUFFMAKER}, // S_TRAINPUFFMAKER + STATE(SPR_NULL, 0, -1, {NULL}, 0, 0, S_TRAINCAMEOSPAWNER_2), // S_TRAINCAMEOSPAWNER_1 + STATE(SPR_NULL, 0, 14, {A_TrainCameo}, 20, 18, S_TRAINCAMEOSPAWNER_3), // S_TRAINCAMEOSPAWNER_2 + STATE(SPR_NULL, 0, 1, {A_Repeat}, 1, 0, S_TRAINCAMEOSPAWNER_4), // S_TRAINCAMEOSPAWNER_3 + STATE(SPR_NULL, 0, 18, {A_TrainCameo2}, 20, 44, S_TRAINCAMEOSPAWNER_5), // S_TRAINCAMEOSPAWNER_4 + STATE(SPR_NULL, 0, 1, {A_Repeat}, 5, S_TRAINCAMEOSPAWNER_4, S_NULL), // S_TRAINCAMEOSPAWNER_5 + STATE(SPR_NULL, 0, 2, {A_SmokeTrailer}, MT_SMOKE, 0, S_TRAINPUFFMAKER), // S_TRAINPUFFMAKER - {SPR_ADST, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL}, // S_TRAINDUST - {SPR_STEA, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL}, // S_TRAINSTEAM + STATE(SPR_ADST, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL), // S_TRAINDUST + STATE(SPR_STEA, FF_TRANS50, -1, {NULL}, 0, 0, S_NULL), // S_TRAINSTEAM // Flame jet - {SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_FLAMEJETSTART}, // S_FLAMEJETSTND - {SPR_NULL, 0, 3*TICRATE, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTOP}, // S_FLAMEJETSTART - {SPR_NULL, 0, 1, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTND}, // S_FLAMEJETSTOP - {SPR_FLME, FF_FULLBRIGHT , 4, {NULL}, 0, 0, S_FLAMEJETFLAME2}, // S_FLAMEJETFLAME1 - {SPR_FLME, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_FLAMEJETFLAME3}, // S_FLAMEJETFLAME2 - {SPR_FLME, FF_FULLBRIGHT|2, 11, {NULL}, 0, 0, S_NULL}, // S_FLAMEJETFLAME3 - {SPR_FLME, FF_FULLBRIGHT|3, 4, {NULL}, 0, 0, S_FLAMEJETFLAME5}, // S_FLAMEJETFLAME4 - {SPR_FLME, FF_FULLBRIGHT|4, 5, {NULL}, 0, 0, S_FLAMEJETFLAME6}, // S_FLAMEJETFLAME5 - {SPR_FLME, FF_FULLBRIGHT|5, 11, {NULL}, 0, 0, S_NULL}, // S_FLAMEJETFLAME6 - {SPR_FLME, FF_FULLBRIGHT|6, 4, {NULL}, 0, 0, S_FLAMEJETFLAME8}, // S_FLAMEJETFLAME7 - {SPR_FLME, FF_FULLBRIGHT|7, 5, {NULL}, 0, 0, S_FLAMEJETFLAME9}, // S_FLAMEJETFLAME8 - {SPR_FLME, FF_FULLBRIGHT|8, 11, {NULL}, 0, 0, S_NULL}, // S_FLAMEJETFLAME9 + STATE(SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_FLAMEJETSTART), // S_FLAMEJETSTND + STATE(SPR_NULL, 0, 3*TICRATE, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTOP), // S_FLAMEJETSTART + STATE(SPR_NULL, 0, 1, {A_ToggleFlameJet}, 0, 0, S_FLAMEJETSTND), // S_FLAMEJETSTOP + STATE(SPR_FLME, FF_FULLBRIGHT , 4, {NULL}, 0, 0, S_FLAMEJETFLAME2), // S_FLAMEJETFLAME1 + STATE(SPR_FLME, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_FLAMEJETFLAME3), // S_FLAMEJETFLAME2 + STATE(SPR_FLME, FF_FULLBRIGHT|2, 11, {NULL}, 0, 0, S_NULL), // S_FLAMEJETFLAME3 + STATE(SPR_FLME, FF_FULLBRIGHT|3, 4, {NULL}, 0, 0, S_FLAMEJETFLAME5), // S_FLAMEJETFLAME4 + STATE(SPR_FLME, FF_FULLBRIGHT|4, 5, {NULL}, 0, 0, S_FLAMEJETFLAME6), // S_FLAMEJETFLAME5 + STATE(SPR_FLME, FF_FULLBRIGHT|5, 11, {NULL}, 0, 0, S_NULL), // S_FLAMEJETFLAME6 + STATE(SPR_FLME, FF_FULLBRIGHT|6, 4, {NULL}, 0, 0, S_FLAMEJETFLAME8), // S_FLAMEJETFLAME7 + STATE(SPR_FLME, FF_FULLBRIGHT|7, 5, {NULL}, 0, 0, S_FLAMEJETFLAME9), // S_FLAMEJETFLAME8 + STATE(SPR_FLME, FF_FULLBRIGHT|8, 11, {NULL}, 0, 0, S_NULL), // S_FLAMEJETFLAME9 // Spinning flame jets // A: Counter-clockwise - {SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -(16<<16)|(1<<15)|64, S_FJSPINAXISA2}, // S_FJSPINAXISA1 - {SPR_NULL, 0, 2, {A_ChangeAngleRelative}, 6, 6, S_FJSPINAXISA1}, // S_FJSPINAXISA2 + STATE(SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -(16<<16)|(1<<15)|64, S_FJSPINAXISA2), // S_FJSPINAXISA1 + STATE(SPR_NULL, 0, 2, {A_ChangeAngleRelative}, 6, 6, S_FJSPINAXISA1), // S_FJSPINAXISA2 // B: Clockwise - {SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -(16<<16)|(1<<15)|64, S_FJSPINAXISB2}, // S_FJSPINAXISB1 - {SPR_NULL, 0, 2, {A_ChangeAngleRelative}, -6, -6, S_FJSPINAXISB1}, // S_FJSPINAXISB2 + STATE(SPR_NULL, 0, 1, {A_TrapShot}, MT_FLAMEJETFLAMEB, -(16<<16)|(1<<15)|64, S_FJSPINAXISB2), // S_FJSPINAXISB1 + STATE(SPR_NULL, 0, 2, {A_ChangeAngleRelative}, -6, -6, S_FJSPINAXISB1), // S_FJSPINAXISB2 // Blade's flame - {SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40, 1, {A_MoveRelative}, 0, 5, S_FLAMEJETFLAMEB2}, // S_FLAMEJETFLAMEB1 - {SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40, 1, {A_MoveRelative}, 0, 7, S_FLAMEJETFLAMEB3}, // S_FLAMEJETFLAMEB2 - {SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40|FF_ANIMATE, (12*7), {NULL}, 7, 12, S_NULL}, // S_FLAMEJETFLAMEB3 + STATE(SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40, 1, {A_MoveRelative}, 0, 5, S_FLAMEJETFLAMEB2), // S_FLAMEJETFLAMEB1 + STATE(SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40, 1, {A_MoveRelative}, 0, 7, S_FLAMEJETFLAMEB3), // S_FLAMEJETFLAMEB2 + STATE(SPR_DFLM, FF_FULLBRIGHT|FF_TRANS40|FF_ANIMATE, (12*7), {NULL}, 7, 12, S_NULL), // S_FLAMEJETFLAMEB3 // Lavafall - {SPR_LFAL, 5, 1, {NULL}, 0, 0, S_LAVAFALL_DORMANT}, // S_LAVAFALL_DORMANT - {SPR_LFAL, 6|FF_ANIMATE, 4, {A_LavafallRocks}, 1, 2, S_LAVAFALL_TELL}, // S_LAVAFALL_TELL - {SPR_LFAL, 9|FF_FULLBRIGHT|FF_ANIMATE, 2, {A_LavafallLava}, 1, 1, S_LAVAFALL_SHOOT}, // S_LAVAFALL_SHOOT - {SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA2}, // S_LAVAFALL_LAVA1 - {SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA1}, // S_LAVAFALL_LAVA2 - {SPR_LFAL, 2|FF_FULLBRIGHT|FF_ANIMATE, 9, {NULL}, 2, 3, S_NULL}, // S_LAVAFALL_LAVA3 - {SPR_LFAL, 11|FF_ANIMATE|FF_RANDOMANIM, 12, {NULL}, 3, 3, S_LAVAFALLROCK}, // S_LAVAFALLROCK + STATE(SPR_LFAL, 5, 1, {NULL}, 0, 0, S_LAVAFALL_DORMANT), // S_LAVAFALL_DORMANT + STATE(SPR_LFAL, 6|FF_ANIMATE, 4, {A_LavafallRocks}, 1, 2, S_LAVAFALL_TELL), // S_LAVAFALL_TELL + STATE(SPR_LFAL, 9|FF_FULLBRIGHT|FF_ANIMATE, 2, {A_LavafallLava}, 1, 1, S_LAVAFALL_SHOOT), // S_LAVAFALL_SHOOT + STATE(SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA2), // S_LAVAFALL_LAVA1 + STATE(SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA1), // S_LAVAFALL_LAVA2 + STATE(SPR_LFAL, 2|FF_FULLBRIGHT|FF_ANIMATE, 9, {NULL}, 2, 3, S_NULL), // S_LAVAFALL_LAVA3 + STATE(SPR_LFAL, 11|FF_ANIMATE|FF_RANDOMANIM, 12, {NULL}, 3, 3, S_LAVAFALLROCK), // S_LAVAFALLROCK // Rollout Rock - {SPR_NULL, 0, 1, {A_RolloutSpawn}, 256*FRACUNIT, MT_ROLLOUTROCK, S_ROLLOUTSPAWN}, // S_ROLLOUTSPAWN - {SPR_PUMI, 0, 1, {A_RolloutRock}, 63*FRACUNIT/64, 7*FRACUNIT/10, S_ROLLOUTROCK}, // S_ROLLOUTROCK + STATE(SPR_NULL, 0, 1, {A_RolloutSpawn}, 256*FRACUNIT, MT_ROLLOUTROCK, S_ROLLOUTSPAWN), // S_ROLLOUTSPAWN + STATE(SPR_PUMI, 0, 1, {A_RolloutRock}, 63*FRACUNIT/64, 7*FRACUNIT/10, S_ROLLOUTROCK), // S_ROLLOUTROCK // RVZ scenery - {SPR_JPLA, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_BIGFERNLEAF - {SPR_JPLA, 1, 1, {NULL}, 0, 0, S_BIGFERN2}, // S_BIGFERN1 - {SPR_JPLA, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BIGFERN2 - {SPR_JPLA, 2, -1, {NULL}, 0, 0, S_NULL}, // S_JUNGLEPALM - {SPR_TFLO, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_TORCHFLOWER}, // S_TORCHFLOWER - {SPR_WVIN, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_WALLVINE_LONG - {SPR_WVIN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_WALLVINE_SHORT + STATE(SPR_JPLA, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_BIGFERNLEAF + STATE(SPR_JPLA, 1, 1, {NULL}, 0, 0, S_BIGFERN2), // S_BIGFERN1 + STATE(SPR_JPLA, 1, -1, {NULL}, 0, 0, S_NULL), // S_BIGFERN2 + STATE(SPR_JPLA, 2, -1, {NULL}, 0, 0, S_NULL), // S_JUNGLEPALM + STATE(SPR_TFLO, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_TORCHFLOWER), // S_TORCHFLOWER + STATE(SPR_WVIN, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_WALLVINE_LONG + STATE(SPR_WVIN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_WALLVINE_SHORT // Glaregoyles - {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLE_CHARGE}, // S_GLAREGOYLE - {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLE_BLINK}, // S_GLAREGOYLE_CHARGE - {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLE_HOLD}, // S_GLAREGOYLE_BLINK - {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLE_FIRE}, // S_GLAREGOYLE_HOLD - {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLE_LOOP}, // S_GLAREGOYLE_FIRE - {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLE_FIRE, S_GLAREGOYLE_COOLDOWN}, // S_GLAREGOYLE_LOOP - {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLE}, // S_GLAREGOYLE_COOLDOWN - - {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEUP_CHARGE}, // S_GLAREGOYLEUP - {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEUP_BLINK}, // S_GLAREGOYLEUP_CHARGE - {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEUP_HOLD}, // S_GLAREGOYLEUP_BLINK - {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEUP_FIRE}, // S_GLAREGOYLEUP_HOLD - {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP_LOOP}, // S_GLAREGOYLEUP_FIRE - {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEUP_FIRE, S_GLAREGOYLEUP_COOLDOWN}, // S_GLAREGOYLEUP_LOOP - {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEUP}, // S_GLAREGOYLEUP_COOLDOWN - - {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEDOWN_CHARGE}, // S_GLAREGOYLEDOWN - {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEDOWN_BLINK}, // S_GLAREGOYLEDOWN_CHARGE - {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEDOWN_HOLD}, // S_GLAREGOYLEDOWN_BLINK - {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEDOWN_FIRE}, // S_GLAREGOYLEDOWN_HOLD - {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN_LOOP}, // S_GLAREGOYLEDOWN_FIRE - {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEDOWN_FIRE, S_GLAREGOYLEDOWN_COOLDOWN}, // S_GLAREGOYLEDOWN_LOOP - {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEDOWN}, // S_GLAREGOYLEDOWN_COOLDOWN - - {SPR_BGAR, 0, 90, {NULL}, 0, 0, S_GLAREGOYLELONG_CHARGE}, // S_GLAREGOYLELONG - {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLELONG_BLINK}, // S_GLAREGOYLELONG_CHARGE - {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLELONG_HOLD}, // S_GLAREGOYLELONG_BLINK - {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLELONG_FIRE}, // S_GLAREGOYLELONG_HOLD - {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_LOOP}, // S_GLAREGOYLELONG_FIRE - {SPR_BGAR, 1, 0, {A_Repeat}, 5, S_GLAREGOYLELONG_FIRE, S_GLAREGOYLELONG_COOLDOWN}, // S_GLAREGOYLELONG_LOOP - {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLELONG}, // S_GLAREGOYLELONG_COOLDOWN + STATE(SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLE_CHARGE), // S_GLAREGOYLE + STATE(SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLE_BLINK), // S_GLAREGOYLE_CHARGE + STATE(SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLE_HOLD), // S_GLAREGOYLE_BLINK + STATE(SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLE_FIRE), // S_GLAREGOYLE_HOLD + STATE(SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLE_LOOP), // S_GLAREGOYLE_FIRE + STATE(SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLE_FIRE, S_GLAREGOYLE_COOLDOWN), // S_GLAREGOYLE_LOOP + STATE(SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLE), // S_GLAREGOYLE_COOLDOWN + + STATE(SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEUP_CHARGE), // S_GLAREGOYLEUP + STATE(SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEUP_BLINK), // S_GLAREGOYLEUP_CHARGE + STATE(SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEUP_HOLD), // S_GLAREGOYLEUP_BLINK + STATE(SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEUP_FIRE), // S_GLAREGOYLEUP_HOLD + STATE(SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP_LOOP), // S_GLAREGOYLEUP_FIRE + STATE(SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEUP_FIRE, S_GLAREGOYLEUP_COOLDOWN), // S_GLAREGOYLEUP_LOOP + STATE(SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEUP), // S_GLAREGOYLEUP_COOLDOWN + + STATE(SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEDOWN_CHARGE), // S_GLAREGOYLEDOWN + STATE(SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEDOWN_BLINK), // S_GLAREGOYLEDOWN_CHARGE + STATE(SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEDOWN_HOLD), // S_GLAREGOYLEDOWN_BLINK + STATE(SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEDOWN_FIRE), // S_GLAREGOYLEDOWN_HOLD + STATE(SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN_LOOP), // S_GLAREGOYLEDOWN_FIRE + STATE(SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEDOWN_FIRE, S_GLAREGOYLEDOWN_COOLDOWN), // S_GLAREGOYLEDOWN_LOOP + STATE(SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEDOWN), // S_GLAREGOYLEDOWN_COOLDOWN + + STATE(SPR_BGAR, 0, 90, {NULL}, 0, 0, S_GLAREGOYLELONG_CHARGE), // S_GLAREGOYLELONG + STATE(SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLELONG_BLINK), // S_GLAREGOYLELONG_CHARGE + STATE(SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLELONG_HOLD), // S_GLAREGOYLELONG_BLINK + STATE(SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLELONG_FIRE), // S_GLAREGOYLELONG_HOLD + STATE(SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_LOOP), // S_GLAREGOYLELONG_FIRE + STATE(SPR_BGAR, 1, 0, {A_Repeat}, 5, S_GLAREGOYLELONG_FIRE, S_GLAREGOYLELONG_COOLDOWN), // S_GLAREGOYLELONG_LOOP + STATE(SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLELONG), // S_GLAREGOYLELONG_COOLDOWN // Target/Red Crystal - {SPR_RCRY, 0, -1, {NULL}, 0, 0, S_TARGET_IDLE}, // S_TARGET_IDLE - {SPR_RCRY, FF_FULLBRIGHT|1, 0, {A_PlaySound}, sfx_ding, 1, S_TARGET_HIT2}, // S_TARGET_HIT1 - {SPR_RCRY, FF_FULLBRIGHT|1, 45, {A_SetObjectFlags}, MF_PUSHABLE, 2, S_TARGET_RESPAWN}, // S_TARGET_HIT2 - {SPR_RCRY, 1, 0, {A_SpawnObjectRelative}, 0, MT_TARGET, S_NULL}, // S_TARGET_RESPAWN - {SPR_RCRY, FF_FULLBRIGHT|1, -1, {A_SetObjectFlags}, MF_PUSHABLE, 1, S_TARGET_ALLDONE}, // S_TARGET_ALLDONE + STATE(SPR_RCRY, 0, -1, {NULL}, 0, 0, S_TARGET_IDLE), // S_TARGET_IDLE + STATE(SPR_RCRY, FF_FULLBRIGHT|1, 0, {A_PlaySound}, sfx_ding, 1, S_TARGET_HIT2), // S_TARGET_HIT1 + STATE(SPR_RCRY, FF_FULLBRIGHT|1, 45, {A_SetObjectFlags}, MF_PUSHABLE, 2, S_TARGET_RESPAWN), // S_TARGET_HIT2 + STATE(SPR_RCRY, 1, 0, {A_SpawnObjectRelative}, 0, MT_TARGET, S_NULL), // S_TARGET_RESPAWN + STATE(SPR_RCRY, FF_FULLBRIGHT|1, -1, {A_SetObjectFlags}, MF_PUSHABLE, 1, S_TARGET_ALLDONE), // S_TARGET_ALLDONE // Green flame - {SPR_CFLM, FF_FULLBRIGHT|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 3, S_GREENFLAME}, // S_GREENFLAME + STATE(SPR_CFLM, FF_FULLBRIGHT|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 3, S_GREENFLAME), // S_GREENFLAME // ATZ Blue Gargoyle - {SPR_BGAR, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BLUEGARGOYLE + STATE(SPR_BGAR, 3, -1, {NULL}, 0, 0, S_NULL), // S_BLUEGARGOYLE // Stalagmites - {SPR_STLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_STG0 - {SPR_STLG, 1, -1, {NULL}, 0, 0, S_NULL}, // S_STG1 - {SPR_STLG, 2, -1, {NULL}, 0, 0, S_NULL}, // S_STG2 - {SPR_STLG, 3, -1, {NULL}, 0, 0, S_NULL}, // S_STG3 - {SPR_STLG, 4, -1, {NULL}, 0, 0, S_NULL}, // S_STG4 - {SPR_STLG, 5, -1, {NULL}, 0, 0, S_NULL}, // S_STG5 - {SPR_STLG, 6, -1, {NULL}, 0, 0, S_NULL}, // S_STG6 - {SPR_STLG, 7, -1, {NULL}, 0, 0, S_NULL}, // S_STG7 - {SPR_STLG, 8, -1, {NULL}, 0, 0, S_NULL}, // S_STG8 - {SPR_STLG, 9, -1, {NULL}, 0, 0, S_NULL}, // S_STG9 + STATE(SPR_STLG, 0, -1, {NULL}, 0, 0, S_NULL), // S_STG0 + STATE(SPR_STLG, 1, -1, {NULL}, 0, 0, S_NULL), // S_STG1 + STATE(SPR_STLG, 2, -1, {NULL}, 0, 0, S_NULL), // S_STG2 + STATE(SPR_STLG, 3, -1, {NULL}, 0, 0, S_NULL), // S_STG3 + STATE(SPR_STLG, 4, -1, {NULL}, 0, 0, S_NULL), // S_STG4 + STATE(SPR_STLG, 5, -1, {NULL}, 0, 0, S_NULL), // S_STG5 + STATE(SPR_STLG, 6, -1, {NULL}, 0, 0, S_NULL), // S_STG6 + STATE(SPR_STLG, 7, -1, {NULL}, 0, 0, S_NULL), // S_STG7 + STATE(SPR_STLG, 8, -1, {NULL}, 0, 0, S_NULL), // S_STG8 + STATE(SPR_STLG, 9, -1, {NULL}, 0, 0, S_NULL), // S_STG9 // Xmas-specific stuff - {SPR_XMS1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_XMASPOLE - {SPR_XMS2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CANDYCANE - {SPR_XMS3, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SNOWMAN - {SPR_XMS3, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SNOWMANHAT - {SPR_XMS4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_LAMPPOST1 - {SPR_XMS4, 1, -1, {NULL}, 0, 0, S_NULL}, // S_LAMPPOST2 - {SPR_XMS5, 0, -1, {NULL}, 0, 0, S_NULL}, // S_HANGSTAR - {SPR_XMS6, 0, -1, {NULL}, 0, 0, S_NULL}, // S_MISTLETOE + STATE(SPR_XMS1, 0, -1, {NULL}, 0, 0, S_NULL), // S_XMASPOLE + STATE(SPR_XMS2, 0, -1, {NULL}, 0, 0, S_NULL), // S_CANDYCANE + STATE(SPR_XMS3, 0, -1, {NULL}, 0, 0, S_NULL), // S_SNOWMAN + STATE(SPR_XMS3, 1, -1, {NULL}, 0, 0, S_NULL), // S_SNOWMANHAT + STATE(SPR_XMS4, 0, -1, {NULL}, 0, 0, S_NULL), // S_LAMPPOST1 + STATE(SPR_XMS4, 1, -1, {NULL}, 0, 0, S_NULL), // S_LAMPPOST2 + STATE(SPR_XMS5, 0, -1, {NULL}, 0, 0, S_NULL), // S_HANGSTAR + STATE(SPR_XMS6, 0, -1, {NULL}, 0, 0, S_NULL), // S_MISTLETOE // Xmas GFZ bushes - {SPR_BUS3, 1, -1, {NULL}, 0, 0, S_NULL}, // S_XMASBLUEBERRYBUSH - {SPR_BUS1, 1, -1, {NULL}, 0, 0, S_NULL}, // S_XMASBERRYBUSH - {SPR_BUS2, 1, -1, {NULL}, 0, 0, S_NULL}, // S_XMASBUSH + STATE(SPR_BUS3, 1, -1, {NULL}, 0, 0, S_NULL), // S_XMASBLUEBERRYBUSH + STATE(SPR_BUS1, 1, -1, {NULL}, 0, 0, S_NULL), // S_XMASBERRYBUSH + STATE(SPR_BUS2, 1, -1, {NULL}, 0, 0, S_NULL), // S_XMASBUSH // FHZ - {SPR_FHZI, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FHZICE1 - {SPR_FHZI, 1, -1, {NULL}, 0, 0, S_NULL}, // S_FHZICE2 - {SPR_ROSY, 16, 8, {NULL}, 0, 0, S_ROSY_IDLE2}, // S_ROSY_IDLE1 - {SPR_ROSY, 17, 4, {NULL}, 0, 0, S_ROSY_IDLE3}, // S_ROSY_IDLE2 - {SPR_ROSY, 18, 8, {NULL}, 0, 0, S_ROSY_IDLE4}, // S_ROSY_IDLE3 - {SPR_ROSY, 17, 4, {NULL}, 0, 0, S_ROSY_IDLE1}, // S_ROSY_IDLE4 - {SPR_ROSY, 14, -1, {NULL}, 1, 0, S_NULL}, // S_ROSY_JUMP - {SPR_ROSY, 5, -1, {NULL}, 7, 0, S_NULL}, // S_ROSY_WALK - {SPR_ROSY, 19, -1, {NULL}, 0, 0, S_NULL}, // S_ROSY_HUG - {SPR_ROSY, 13, -1, {NULL}, 0, 0, S_NULL}, // S_ROSY_PAIN - {SPR_ROSY, 1|FF_ANIMATE, -1, {NULL}, 3, 16, S_NULL}, // S_ROSY_STND - {SPR_ROSY, 20|FF_ANIMATE, TICRATE, {NULL}, 3, 4, S_ROSY_WALK}, // S_ROSY_UNHAPPY + STATE(SPR_FHZI, 0, -1, {NULL}, 0, 0, S_NULL), // S_FHZICE1 + STATE(SPR_FHZI, 1, -1, {NULL}, 0, 0, S_NULL), // S_FHZICE2 + STATE(SPR_ROSY, 16, 8, {NULL}, 0, 0, S_ROSY_IDLE2), // S_ROSY_IDLE1 + STATE(SPR_ROSY, 17, 4, {NULL}, 0, 0, S_ROSY_IDLE3), // S_ROSY_IDLE2 + STATE(SPR_ROSY, 18, 8, {NULL}, 0, 0, S_ROSY_IDLE4), // S_ROSY_IDLE3 + STATE(SPR_ROSY, 17, 4, {NULL}, 0, 0, S_ROSY_IDLE1), // S_ROSY_IDLE4 + STATE(SPR_ROSY, 14, -1, {NULL}, 1, 0, S_NULL), // S_ROSY_JUMP + STATE(SPR_ROSY, 5, -1, {NULL}, 7, 0, S_NULL), // S_ROSY_WALK + STATE(SPR_ROSY, 19, -1, {NULL}, 0, 0, S_NULL), // S_ROSY_HUG + STATE(SPR_ROSY, 13, -1, {NULL}, 0, 0, S_NULL), // S_ROSY_PAIN + STATE(SPR_ROSY, 1|FF_ANIMATE, -1, {NULL}, 3, 16, S_NULL), // S_ROSY_STND + STATE(SPR_ROSY, 20|FF_ANIMATE, TICRATE, {NULL}, 3, 4, S_ROSY_WALK), // S_ROSY_UNHAPPY // Halloween Scenery // Pumpkins - {SPR_PUMK, 0, -1, {NULL}, 0, 0, S_NULL}, // S_JACKO1 - {SPR_PUMK, 3|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_2}, // S_JACKO1OVERLAY_1 - {SPR_PUMK, 4|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_3}, // S_JACKO1OVERLAY_2 - {SPR_PUMK, 5|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_4}, // S_JACKO1OVERLAY_3 - {SPR_PUMK, 4|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_1}, // S_JACKO1OVERLAY_4 - {SPR_PUMK, 1, -1, {NULL}, 0, 0, S_NULL}, // S_JACKO2 - {SPR_PUMK, 6|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_2}, // S_JACKO2OVERLAY_1 - {SPR_PUMK, 7|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_3}, // S_JACKO2OVERLAY_2 - {SPR_PUMK, 8|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_4}, // S_JACKO2OVERLAY_3 - {SPR_PUMK, 7|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_1}, // S_JACKO2OVERLAY_4 - {SPR_PUMK, 2, -1, {NULL}, 0, 0, S_NULL}, // S_JACKO3 - {SPR_PUMK, 9|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_2}, // S_JACKO3OVERLAY_1 - {SPR_PUMK, 10|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_3}, // S_JACKO3OVERLAY_2 - {SPR_PUMK, 11|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_4}, // S_JACKO3OVERLAY_3 - {SPR_PUMK, 10|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_1}, // S_JACKO3OVERLAY_4 + STATE(SPR_PUMK, 0, -1, {NULL}, 0, 0, S_NULL), // S_JACKO1 + STATE(SPR_PUMK, 3|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_2), // S_JACKO1OVERLAY_1 + STATE(SPR_PUMK, 4|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_3), // S_JACKO1OVERLAY_2 + STATE(SPR_PUMK, 5|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_4), // S_JACKO1OVERLAY_3 + STATE(SPR_PUMK, 4|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO1OVERLAY_1), // S_JACKO1OVERLAY_4 + STATE(SPR_PUMK, 1, -1, {NULL}, 0, 0, S_NULL), // S_JACKO2 + STATE(SPR_PUMK, 6|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_2), // S_JACKO2OVERLAY_1 + STATE(SPR_PUMK, 7|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_3), // S_JACKO2OVERLAY_2 + STATE(SPR_PUMK, 8|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_4), // S_JACKO2OVERLAY_3 + STATE(SPR_PUMK, 7|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO2OVERLAY_1), // S_JACKO2OVERLAY_4 + STATE(SPR_PUMK, 2, -1, {NULL}, 0, 0, S_NULL), // S_JACKO3 + STATE(SPR_PUMK, 9|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_2), // S_JACKO3OVERLAY_1 + STATE(SPR_PUMK, 10|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_3), // S_JACKO3OVERLAY_2 + STATE(SPR_PUMK, 11|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_4), // S_JACKO3OVERLAY_3 + STATE(SPR_PUMK, 10|FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_JACKO3OVERLAY_1), // S_JACKO3OVERLAY_4 // Dr Seuss Trees - {SPR_HHPL, 2, -1, {A_ConnectToGround}, MT_HHZTREE_PART, 0, S_NULL}, // S_HHZTREE_TOP, - {SPR_HHPL, 1, -1, {NULL}, 0, 0, S_NULL}, // S_HHZTREE_TRUNK, - {SPR_HHPL, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_HHZTREE_LEAF, + STATE(SPR_HHPL, 2, -1, {A_ConnectToGround}, MT_HHZTREE_PART, 0, S_NULL), // S_HHZTREE_TOP, + STATE(SPR_HHPL, 1, -1, {NULL}, 0, 0, S_NULL), // S_HHZTREE_TRUNK, + STATE(SPR_HHPL, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_HHZTREE_LEAF, // Mushroom - {SPR_SHRM, 4, 3, {NULL}, 0, 0, S_HHZSHROOM_2}, // S_HHZSHROOM_1, - {SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_3}, // S_HHZSHROOM_2, - {SPR_SHRM, 2, 2, {NULL}, 0, 0, S_HHZSHROOM_4}, // S_HHZSHROOM_3, - {SPR_SHRM, 1, 1, {NULL}, 0, 0, S_HHZSHROOM_5}, // S_HHZSHROOM_4, - {SPR_SHRM, 0, 1, {NULL}, 0, 0, S_HHZSHROOM_6}, // S_HHZSHROOM_5, - {SPR_SHRM, 1, 4, {NULL}, 0, 0, S_HHZSHROOM_7}, // S_HHZSHROOM_6, - {SPR_SHRM, 2, 2, {NULL}, 0, 0, S_HHZSHROOM_8}, // S_HHZSHROOM_7, - {SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_9}, // S_HHZSHROOM_8, - {SPR_SHRM, 4, 3, {NULL}, 0, 0, S_HHZSHROOM_10}, // S_HHZSHROOM_9, - {SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_11}, // S_HHZSHROOM_10, - {SPR_SHRM, 5, 2, {NULL}, 0, 0, S_HHZSHROOM_12}, // S_HHZSHROOM_11, - {SPR_SHRM, 6, 1, {NULL}, 0, 0, S_HHZSHROOM_13}, // S_HHZSHROOM_12, - {SPR_SHRM, 7, 1, {NULL}, 0, 0, S_HHZSHROOM_14}, // S_HHZSHROOM_13, - {SPR_SHRM, 6, 4, {NULL}, 0, 0, S_HHZSHROOM_15}, // S_HHZSHROOM_14, - {SPR_SHRM, 5, 2, {NULL}, 0, 0, S_HHZSHROOM_16}, // S_HHZSHROOM_15, - {SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_1}, // S_HHZSHROOM_16, + STATE(SPR_SHRM, 4, 3, {NULL}, 0, 0, S_HHZSHROOM_2), // S_HHZSHROOM_1, + STATE(SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_3), // S_HHZSHROOM_2, + STATE(SPR_SHRM, 2, 2, {NULL}, 0, 0, S_HHZSHROOM_4), // S_HHZSHROOM_3, + STATE(SPR_SHRM, 1, 1, {NULL}, 0, 0, S_HHZSHROOM_5), // S_HHZSHROOM_4, + STATE(SPR_SHRM, 0, 1, {NULL}, 0, 0, S_HHZSHROOM_6), // S_HHZSHROOM_5, + STATE(SPR_SHRM, 1, 4, {NULL}, 0, 0, S_HHZSHROOM_7), // S_HHZSHROOM_6, + STATE(SPR_SHRM, 2, 2, {NULL}, 0, 0, S_HHZSHROOM_8), // S_HHZSHROOM_7, + STATE(SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_9), // S_HHZSHROOM_8, + STATE(SPR_SHRM, 4, 3, {NULL}, 0, 0, S_HHZSHROOM_10), // S_HHZSHROOM_9, + STATE(SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_11), // S_HHZSHROOM_10, + STATE(SPR_SHRM, 5, 2, {NULL}, 0, 0, S_HHZSHROOM_12), // S_HHZSHROOM_11, + STATE(SPR_SHRM, 6, 1, {NULL}, 0, 0, S_HHZSHROOM_13), // S_HHZSHROOM_12, + STATE(SPR_SHRM, 7, 1, {NULL}, 0, 0, S_HHZSHROOM_14), // S_HHZSHROOM_13, + STATE(SPR_SHRM, 6, 4, {NULL}, 0, 0, S_HHZSHROOM_15), // S_HHZSHROOM_14, + STATE(SPR_SHRM, 5, 2, {NULL}, 0, 0, S_HHZSHROOM_16), // S_HHZSHROOM_15, + STATE(SPR_SHRM, 3, 3, {NULL}, 0, 0, S_HHZSHROOM_1), // S_HHZSHROOM_16, // Misc - {SPR_HHZM, 0, -1, {NULL}, 0, 0, S_NULL}, // S_HHZGRASS, - {SPR_HHZM, 1, -1, {NULL}, 0, 0, S_NULL}, // S_HHZTENT1, - {SPR_HHZM, 2, -1, {NULL}, 0, 0, S_NULL}, // S_HHZTENT2, - {SPR_HHZM, 4, -1, {NULL}, 0, 0, S_NULL}, // S_HHZSTALAGMITE_TALL, - {SPR_HHZM, 5, -1, {NULL}, 0, 0, S_NULL}, // S_HHZSTALAGMITE_SHORT, + STATE(SPR_HHZM, 0, -1, {NULL}, 0, 0, S_NULL), // S_HHZGRASS, + STATE(SPR_HHZM, 1, -1, {NULL}, 0, 0, S_NULL), // S_HHZTENT1, + STATE(SPR_HHZM, 2, -1, {NULL}, 0, 0, S_NULL), // S_HHZTENT2, + STATE(SPR_HHZM, 4, -1, {NULL}, 0, 0, S_NULL), // S_HHZSTALAGMITE_TALL, + STATE(SPR_HHZM, 5, -1, {NULL}, 0, 0, S_NULL), // S_HHZSTALAGMITE_SHORT, // Loads of Botanic Serenity bullshit - {SPR_BSZ1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_RED - {SPR_BSZ1, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_PURPLE - {SPR_BSZ1, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_BLUE - {SPR_BSZ1, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_CYAN - {SPR_BSZ1, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_YELLOW - {SPR_BSZ1, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZTALLFLOWER_ORANGE - {SPR_BSZ2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_RED - {SPR_BSZ2, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_PURPLE - {SPR_BSZ2, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_BLUE - {SPR_BSZ2, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_CYAN - {SPR_BSZ2, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_YELLOW - {SPR_BSZ2, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZFLOWER_ORANGE - {SPR_BSZ3, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_RED - {SPR_BSZ3, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_PURPLE - {SPR_BSZ3, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_BLUE - {SPR_BSZ3, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_CYAN - {SPR_BSZ3, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_YELLOW - {SPR_BSZ3, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHORTFLOWER_ORANGE - {SPR_BST1, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_RED - {SPR_BST2, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_PURPLE - {SPR_BST3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_BLUE - {SPR_BST4, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_CYAN - {SPR_BST5, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_YELLOW - {SPR_BST6, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL}, // S_BSZTULIP_ORANGE - {SPR_BSZ5, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_RED - {SPR_BSZ5, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_PURPLE - {SPR_BSZ5, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_BLUE - {SPR_BSZ5, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_CYAN - {SPR_BSZ5, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_YELLOW - {SPR_BSZ5, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLUSTER_ORANGE - {SPR_BSZ6, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_RED - {SPR_BSZ6, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_PURPLE - {SPR_BSZ6, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_BLUE - {SPR_BSZ6, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_CYAN - {SPR_BSZ6, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_YELLOW - {SPR_BSZ6, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZBUSH_ORANGE - {SPR_BSZ7, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_RED - {SPR_BSZ7, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_PURPLE - {SPR_BSZ7, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_BLUE - {SPR_BSZ7, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_CYAN - {SPR_BSZ7, 4, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_YELLOW - {SPR_BSZ7, 5, -1, {NULL}, 0, 0, S_NULL}, // S_BSZVINE_ORANGE - {SPR_BSZ8, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BSZSHRUB - {SPR_BSZ8, 1, -1, {NULL}, 0, 0, S_NULL}, // S_BSZCLOVER - {SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL}, // S_BIG_PALMTREE_TRUNK - {SPR_BSZ8, 3, -1, {A_ConnectToGround}, MT_BIG_PALMTREE_TRUNK, 0, S_NULL}, // S_BIG_PALMTREE_TOP - {SPR_BSZ8, 4, -1, {NULL}, 0, 0, S_NULL}, // S_PALMTREE_TRUNK - {SPR_BSZ8, 5, -1, {A_ConnectToGround}, MT_PALMTREE_TRUNK, 0, S_NULL}, // S_PALMTREE_TOP + STATE(SPR_BSZ1, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_RED + STATE(SPR_BSZ1, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_PURPLE + STATE(SPR_BSZ1, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_BLUE + STATE(SPR_BSZ1, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_CYAN + STATE(SPR_BSZ1, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_YELLOW + STATE(SPR_BSZ1, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZTALLFLOWER_ORANGE + STATE(SPR_BSZ2, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_RED + STATE(SPR_BSZ2, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_PURPLE + STATE(SPR_BSZ2, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_BLUE + STATE(SPR_BSZ2, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_CYAN + STATE(SPR_BSZ2, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_YELLOW + STATE(SPR_BSZ2, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZFLOWER_ORANGE + STATE(SPR_BSZ3, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_RED + STATE(SPR_BSZ3, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_PURPLE + STATE(SPR_BSZ3, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_BLUE + STATE(SPR_BSZ3, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_CYAN + STATE(SPR_BSZ3, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_YELLOW + STATE(SPR_BSZ3, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHORTFLOWER_ORANGE + STATE(SPR_BST1, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_RED + STATE(SPR_BST2, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_PURPLE + STATE(SPR_BST3, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_BLUE + STATE(SPR_BST4, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_CYAN + STATE(SPR_BST5, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_YELLOW + STATE(SPR_BST6, FF_ANIMATE, -1, {NULL}, 11, 4, S_NULL), // S_BSZTULIP_ORANGE + STATE(SPR_BSZ5, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_RED + STATE(SPR_BSZ5, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_PURPLE + STATE(SPR_BSZ5, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_BLUE + STATE(SPR_BSZ5, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_CYAN + STATE(SPR_BSZ5, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_YELLOW + STATE(SPR_BSZ5, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLUSTER_ORANGE + STATE(SPR_BSZ6, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_RED + STATE(SPR_BSZ6, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_PURPLE + STATE(SPR_BSZ6, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_BLUE + STATE(SPR_BSZ6, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_CYAN + STATE(SPR_BSZ6, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_YELLOW + STATE(SPR_BSZ6, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZBUSH_ORANGE + STATE(SPR_BSZ7, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_RED + STATE(SPR_BSZ7, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_PURPLE + STATE(SPR_BSZ7, 2, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_BLUE + STATE(SPR_BSZ7, 3, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_CYAN + STATE(SPR_BSZ7, 4, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_YELLOW + STATE(SPR_BSZ7, 5, -1, {NULL}, 0, 0, S_NULL), // S_BSZVINE_ORANGE + STATE(SPR_BSZ8, 0, -1, {NULL}, 0, 0, S_NULL), // S_BSZSHRUB + STATE(SPR_BSZ8, 1, -1, {NULL}, 0, 0, S_NULL), // S_BSZCLOVER + STATE(SPR_BSZ8, 2, -1, {NULL}, 0, 0, S_NULL), // S_BIG_PALMTREE_TRUNK + STATE(SPR_BSZ8, 3, -1, {A_ConnectToGround}, MT_BIG_PALMTREE_TRUNK, 0, S_NULL), // S_BIG_PALMTREE_TOP + STATE(SPR_BSZ8, 4, -1, {NULL}, 0, 0, S_NULL), // S_PALMTREE_TRUNK + STATE(SPR_BSZ8, 5, -1, {A_ConnectToGround}, MT_PALMTREE_TRUNK, 0, S_NULL), // S_PALMTREE_TOP // Disco ball - {SPR_DBAL, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_DBALL2}, // S_DBALL1 - {SPR_DBAL, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_DBALL3}, // S_DBALL2 - {SPR_DBAL, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_DBALL4}, // S_DBALL3 - {SPR_DBAL, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_DBALL5}, // S_DBALL4 - {SPR_DBAL, FF_FULLBRIGHT|4, 5, {NULL}, 0, 0, S_DBALL6}, // S_DBALL5 - {SPR_DBAL, FF_FULLBRIGHT|5, 5, {NULL}, 0, 0, S_DBALL1}, // S_DBALL6 + STATE(SPR_DBAL, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_DBALL2), // S_DBALL1 + STATE(SPR_DBAL, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_DBALL3), // S_DBALL2 + STATE(SPR_DBAL, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_DBALL4), // S_DBALL3 + STATE(SPR_DBAL, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_DBALL5), // S_DBALL4 + STATE(SPR_DBAL, FF_FULLBRIGHT|4, 5, {NULL}, 0, 0, S_DBALL6), // S_DBALL5 + STATE(SPR_DBAL, FF_FULLBRIGHT|5, 5, {NULL}, 0, 0, S_DBALL1), // S_DBALL6 - {SPR_ESTA, 1, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSTATUE2 + STATE(SPR_ESTA, 1, -1, {NULL}, 0, 0, S_NULL), // S_EGGSTATUE2 // Shield Orb - {SPR_ARMA, FF_TRANS40 , 2, {NULL}, 0, 0, S_ARMA2 }, // S_ARMA1 - {SPR_ARMA, FF_TRANS40| 1, 2, {NULL}, 0, 0, S_ARMA3 }, // S_ARMA2 - {SPR_ARMA, FF_TRANS40| 2, 2, {NULL}, 0, 0, S_ARMA4 }, // S_ARMA3 - {SPR_ARMA, FF_TRANS40| 3, 2, {NULL}, 0, 0, S_ARMA5 }, // S_ARMA4 - {SPR_ARMA, FF_TRANS40| 4, 2, {NULL}, 0, 0, S_ARMA6 }, // S_ARMA5 - {SPR_ARMA, FF_TRANS40| 5, 2, {NULL}, 0, 0, S_ARMA7 }, // S_ARMA6 - {SPR_ARMA, FF_TRANS40| 6, 2, {NULL}, 0, 0, S_ARMA8 }, // S_ARMA7 - {SPR_ARMA, FF_TRANS40| 7, 2, {NULL}, 0, 0, S_ARMA9 }, // S_ARMA8 - {SPR_ARMA, FF_TRANS40| 8, 2, {NULL}, 0, 0, S_ARMA10}, // S_ARMA9 - {SPR_ARMA, FF_TRANS40| 9, 2, {NULL}, 0, 0, S_ARMA11}, // S_ARMA10 - {SPR_ARMA, FF_TRANS40|10, 2, {NULL}, 0, 0, S_ARMA12}, // S_ARMA11 - {SPR_ARMA, FF_TRANS40|11, 2, {NULL}, 0, 0, S_ARMA13}, // S_ARMA12 - {SPR_ARMA, FF_TRANS40|12, 2, {NULL}, 0, 0, S_ARMA14}, // S_ARMA13 - {SPR_ARMA, FF_TRANS40|13, 2, {NULL}, 0, 0, S_ARMA15}, // S_ARMA14 - {SPR_ARMA, FF_TRANS40|14, 2, {NULL}, 0, 0, S_ARMA16}, // S_ARMA15 - {SPR_ARMA, FF_TRANS40|15, 2, {NULL}, 0, 0, S_ARMA1 }, // S_ARMA16 - - {SPR_ARMF, FF_FULLBRIGHT , 2, {NULL}, 0, 0, S_ARMF2 }, // S_ARMF1 - {SPR_ARMF, FF_FULLBRIGHT| 1, 2, {NULL}, 0, 0, S_ARMF3 }, // S_ARMF2 - {SPR_ARMF, FF_FULLBRIGHT| 2, 2, {NULL}, 0, 0, S_ARMF4 }, // S_ARMF3 - {SPR_ARMF, FF_FULLBRIGHT| 3, 2, {NULL}, 0, 0, S_ARMF5 }, // S_ARMF4 - {SPR_ARMF, FF_FULLBRIGHT| 4, 2, {NULL}, 0, 0, S_ARMF6 }, // S_ARMF5 - {SPR_ARMF, FF_FULLBRIGHT| 5, 2, {NULL}, 0, 0, S_ARMF7 }, // S_ARMF6 - {SPR_ARMF, FF_FULLBRIGHT| 6, 2, {NULL}, 0, 0, S_ARMF8 }, // S_ARMF7 - {SPR_ARMF, FF_FULLBRIGHT| 7, 2, {NULL}, 0, 0, S_ARMF9 }, // S_ARMF8 - {SPR_ARMF, FF_FULLBRIGHT| 8, 2, {NULL}, 0, 0, S_ARMF10}, // S_ARMF9 - {SPR_ARMF, FF_FULLBRIGHT| 9, 2, {NULL}, 0, 0, S_ARMF11}, // S_ARMF10 - {SPR_ARMF, FF_FULLBRIGHT|10, 2, {NULL}, 0, 0, S_ARMF12}, // S_ARMF11 - {SPR_ARMF, FF_FULLBRIGHT|11, 2, {NULL}, 0, 0, S_ARMF13}, // S_ARMF12 - {SPR_ARMF, FF_FULLBRIGHT|12, 2, {NULL}, 0, 0, S_ARMF14}, // S_ARMF13 - {SPR_ARMF, FF_FULLBRIGHT|13, 2, {NULL}, 0, 0, S_ARMF15}, // S_ARMF14 - {SPR_ARMF, FF_FULLBRIGHT|14, 2, {NULL}, 0, 0, S_ARMF16}, // S_ARMF15 - {SPR_ARMF, FF_FULLBRIGHT|15, 2, {NULL}, 0, 0, S_ARMF17}, // S_ARMF16 - {SPR_ARMB, FF_FULLBRIGHT , 2, {NULL}, 0, 0, S_ARMF18}, // S_ARMF17 - {SPR_ARMB, FF_FULLBRIGHT| 1, 2, {NULL}, 0, 0, S_ARMF19}, // S_ARMF18 - {SPR_ARMB, FF_FULLBRIGHT| 2, 2, {NULL}, 0, 0, S_ARMF20}, // S_ARMF19 - {SPR_ARMB, FF_FULLBRIGHT| 3, 2, {NULL}, 0, 0, S_ARMF21}, // S_ARMF20 - {SPR_ARMB, FF_FULLBRIGHT| 4, 2, {NULL}, 0, 0, S_ARMF22}, // S_ARMF21 - {SPR_ARMB, FF_FULLBRIGHT| 5, 2, {NULL}, 0, 0, S_ARMF23}, // S_ARMF22 - {SPR_ARMB, FF_FULLBRIGHT| 6, 2, {NULL}, 0, 0, S_ARMF24}, // S_ARMF23 - {SPR_ARMB, FF_FULLBRIGHT| 7, 2, {NULL}, 0, 0, S_ARMF25}, // S_ARMF24 - {SPR_ARMB, FF_FULLBRIGHT| 8, 2, {NULL}, 0, 0, S_ARMF26}, // S_ARMF25 - {SPR_ARMB, FF_FULLBRIGHT| 9, 2, {NULL}, 0, 0, S_ARMF27}, // S_ARMF26 - {SPR_ARMB, FF_FULLBRIGHT|10, 2, {NULL}, 0, 0, S_ARMF28}, // S_ARMF27 - {SPR_ARMB, FF_FULLBRIGHT|11, 2, {NULL}, 0, 0, S_ARMF29}, // S_ARMF28 - {SPR_ARMB, FF_FULLBRIGHT|12, 2, {NULL}, 0, 0, S_ARMF30}, // S_ARMF29 - {SPR_ARMB, FF_FULLBRIGHT|13, 2, {NULL}, 0, 0, S_ARMF31}, // S_ARMF30 - {SPR_ARMB, FF_FULLBRIGHT|14, 2, {NULL}, 0, 0, S_ARMF32}, // S_ARMF31 - {SPR_ARMB, FF_FULLBRIGHT|15, 2, {NULL}, 0, 0, S_ARMF1 }, // S_ARMF32 - - {SPR_ARMB, FF_FULLBRIGHT , 2, {NULL}, 1, 0, S_ARMB2 }, // S_ARMB1 - {SPR_ARMB, FF_FULLBRIGHT| 1, 2, {NULL}, 1, 0, S_ARMB3 }, // S_ARMB2 - {SPR_ARMB, FF_FULLBRIGHT| 2, 2, {NULL}, 1, 0, S_ARMB4 }, // S_ARMB3 - {SPR_ARMB, FF_FULLBRIGHT| 3, 2, {NULL}, 1, 0, S_ARMB5 }, // S_ARMB4 - {SPR_ARMB, FF_FULLBRIGHT| 4, 2, {NULL}, 1, 0, S_ARMB6 }, // S_ARMB5 - {SPR_ARMB, FF_FULLBRIGHT| 5, 2, {NULL}, 1, 0, S_ARMB7 }, // S_ARMB6 - {SPR_ARMB, FF_FULLBRIGHT| 6, 2, {NULL}, 1, 0, S_ARMB8 }, // S_ARMB7 - {SPR_ARMB, FF_FULLBRIGHT| 7, 2, {NULL}, 1, 0, S_ARMB9 }, // S_ARMB8 - {SPR_ARMB, FF_FULLBRIGHT| 8, 2, {NULL}, 1, 0, S_ARMB10}, // S_ARMB9 - {SPR_ARMB, FF_FULLBRIGHT| 9, 2, {NULL}, 1, 0, S_ARMB11}, // S_ARMB10 - {SPR_ARMB, FF_FULLBRIGHT|10, 2, {NULL}, 1, 0, S_ARMB12}, // S_ARMB11 - {SPR_ARMB, FF_FULLBRIGHT|11, 2, {NULL}, 1, 0, S_ARMB13}, // S_ARMB12 - {SPR_ARMB, FF_FULLBRIGHT|12, 2, {NULL}, 1, 0, S_ARMB14}, // S_ARMB13 - {SPR_ARMB, FF_FULLBRIGHT|13, 2, {NULL}, 1, 0, S_ARMB15}, // S_ARMB14 - {SPR_ARMB, FF_FULLBRIGHT|14, 2, {NULL}, 1, 0, S_ARMB16}, // S_ARMB15 - {SPR_ARMB, FF_FULLBRIGHT|15, 2, {NULL}, 1, 0, S_ARMB17}, // S_ARMB16 - {SPR_ARMF, FF_FULLBRIGHT , 2, {NULL}, 1, 0, S_ARMB18}, // S_ARMB17 - {SPR_ARMF, FF_FULLBRIGHT| 1, 2, {NULL}, 1, 0, S_ARMB19}, // S_ARMB18 - {SPR_ARMF, FF_FULLBRIGHT| 2, 2, {NULL}, 1, 0, S_ARMB20}, // S_ARMB19 - {SPR_ARMF, FF_FULLBRIGHT| 3, 2, {NULL}, 1, 0, S_ARMB21}, // S_ARMB20 - {SPR_ARMF, FF_FULLBRIGHT| 4, 2, {NULL}, 1, 0, S_ARMB22}, // S_ARMB21 - {SPR_ARMF, FF_FULLBRIGHT| 5, 2, {NULL}, 1, 0, S_ARMB23}, // S_ARMB22 - {SPR_ARMF, FF_FULLBRIGHT| 6, 2, {NULL}, 1, 0, S_ARMB24}, // S_ARMB23 - {SPR_ARMF, FF_FULLBRIGHT| 7, 2, {NULL}, 1, 0, S_ARMB25}, // S_ARMB24 - {SPR_ARMF, FF_FULLBRIGHT| 8, 2, {NULL}, 1, 0, S_ARMB26}, // S_ARMB25 - {SPR_ARMF, FF_FULLBRIGHT| 9, 2, {NULL}, 1, 0, S_ARMB27}, // S_ARMB26 - {SPR_ARMF, FF_FULLBRIGHT|10, 2, {NULL}, 1, 0, S_ARMB28}, // S_ARMB27 - {SPR_ARMF, FF_FULLBRIGHT|11, 2, {NULL}, 1, 0, S_ARMB29}, // S_ARMB28 - {SPR_ARMF, FF_FULLBRIGHT|12, 2, {NULL}, 1, 0, S_ARMB30}, // S_ARMB29 - {SPR_ARMF, FF_FULLBRIGHT|13, 2, {NULL}, 1, 0, S_ARMB31}, // S_ARMB30 - {SPR_ARMF, FF_FULLBRIGHT|14, 2, {NULL}, 1, 0, S_ARMB32}, // S_ARMB31 - {SPR_ARMF, FF_FULLBRIGHT|15, 2, {NULL}, 1, 0, S_ARMB1 }, // S_ARMB32 - - {SPR_WIND, FF_TRANS70 , 2, {NULL}, 0, 0, S_WIND2}, // S_WIND1 - {SPR_WIND, FF_TRANS70|1, 2, {NULL}, 0, 0, S_WIND3}, // S_WIND2 - {SPR_WIND, FF_TRANS70|2, 2, {NULL}, 0, 0, S_WIND4}, // S_WIND3 - {SPR_WIND, FF_TRANS70|3, 2, {NULL}, 0, 0, S_WIND5}, // S_WIND4 - {SPR_WIND, FF_TRANS70|4, 2, {NULL}, 0, 0, S_WIND6}, // S_WIND5 - {SPR_WIND, FF_TRANS70|5, 2, {NULL}, 0, 0, S_WIND7}, // S_WIND6 - {SPR_WIND, FF_TRANS70|6, 2, {NULL}, 0, 0, S_WIND8}, // S_WIND7 - {SPR_WIND, FF_TRANS70|7, 2, {NULL}, 0, 0, S_WIND1}, // S_WIND8 - - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40 , 2, {NULL}, 0, 0, S_MAGN2 }, // S_MAGN1 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 1, 2, {NULL}, 0, 0, S_MAGN3 }, // S_MAGN2 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 2, 2, {NULL}, 0, 0, S_MAGN4 }, // S_MAGN3 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 3, 2, {NULL}, 0, 0, S_MAGN5 }, // S_MAGN4 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 4, 2, {NULL}, 0, 0, S_MAGN6 }, // S_MAGN5 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 5, 2, {NULL}, 0, 0, S_MAGN7 }, // S_MAGN6 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 6, 2, {NULL}, 0, 0, S_MAGN8 }, // S_MAGN7 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 7, 2, {NULL}, 0, 0, S_MAGN9 }, // S_MAGN8 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 8, 2, {NULL}, 0, 0, S_MAGN10}, // S_MAGN9 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 9, 2, {NULL}, 0, 0, S_MAGN11}, // S_MAGN10 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40|10, 2, {NULL}, 0, 0, S_MAGN12}, // S_MAGN11 - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40|11, 2, {NULL}, 0, 0, S_MAGN1 }, // S_MAGN12 - - {SPR_MAGN, FF_FULLBRIGHT|FF_TRANS10|12, 2, {NULL}, 0, 0, S_MAGN1 }, // S_MAGN13 - - {SPR_FORC, FF_TRANS50 , 3, {NULL}, 0, 0, S_FORC2 }, // S_FORC1 - {SPR_FORC, FF_TRANS50|1, 3, {NULL}, 0, 0, S_FORC3 }, // S_FORC2 - {SPR_FORC, FF_TRANS50|2, 3, {NULL}, 0, 0, S_FORC4 }, // S_FORC3 - {SPR_FORC, FF_TRANS50|3, 3, {NULL}, 0, 0, S_FORC5 }, // S_FORC4 - {SPR_FORC, FF_TRANS50|4, 3, {NULL}, 0, 0, S_FORC6 }, // S_FORC5 - {SPR_FORC, FF_TRANS50|5, 3, {NULL}, 0, 0, S_FORC7 }, // S_FORC6 - {SPR_FORC, FF_TRANS50|6, 3, {NULL}, 0, 0, S_FORC8 }, // S_FORC7 - {SPR_FORC, FF_TRANS50|7, 3, {NULL}, 0, 0, S_FORC9 }, // S_FORC8 - {SPR_FORC, FF_TRANS50|8, 3, {NULL}, 0, 0, S_FORC10}, // S_FORC9 - {SPR_FORC, FF_TRANS50|9, 3, {NULL}, 0, 0, S_FORC1 }, // S_FORC10 - - {SPR_FORC, FF_TRANS50|10, 3, {NULL}, 0, 0, S_FORC12}, // S_FORC11 - {SPR_FORC, FF_TRANS50|11, 3, {NULL}, 0, 0, S_FORC13}, // S_FORC12 - {SPR_FORC, FF_TRANS50|12, 3, {NULL}, 0, 0, S_FORC14}, // S_FORC13 - {SPR_FORC, FF_TRANS50|13, 3, {NULL}, 0, 0, S_FORC15}, // S_FORC14 - {SPR_FORC, FF_TRANS50|14, 3, {NULL}, 0, 0, S_FORC16}, // S_FORC15 - {SPR_FORC, FF_TRANS50|15, 3, {NULL}, 0, 0, S_FORC17}, // S_FORC16 - {SPR_FORC, FF_TRANS50|16, 3, {NULL}, 0, 0, S_FORC18}, // S_FORC17 - {SPR_FORC, FF_TRANS50|17, 3, {NULL}, 0, 0, S_FORC19}, // S_FORC18 - {SPR_FORC, FF_TRANS50|18, 3, {NULL}, 0, 0, S_FORC20}, // S_FORC19 - {SPR_FORC, FF_TRANS50|19, 3, {NULL}, 0, 0, S_FORC11}, // S_FORC20 - - {SPR_FORC, FF_TRANS50|20, -1, {NULL}, 0, 0, S_NULL}, // S_FORC21 - - {SPR_ELEM, FF_TRANS50 , 4, {NULL}, 0, 0, S_ELEM2 }, // S_ELEM1 - {SPR_ELEM, FF_TRANS50| 1, 4, {NULL}, 0, 0, S_ELEM3 }, // S_ELEM2 - {SPR_ELEM, FF_TRANS50| 2, 4, {NULL}, 0, 0, S_ELEM4 }, // S_ELEM3 - {SPR_ELEM, FF_TRANS50| 3, 4, {NULL}, 0, 0, S_ELEM5 }, // S_ELEM4 - {SPR_ELEM, FF_TRANS50| 4, 4, {NULL}, 0, 0, S_ELEM6 }, // S_ELEM5 - {SPR_ELEM, FF_TRANS50| 5, 4, {NULL}, 0, 0, S_ELEM7 }, // S_ELEM6 - {SPR_ELEM, FF_TRANS50| 6, 4, {NULL}, 0, 0, S_ELEM8 }, // S_ELEM7 - {SPR_ELEM, FF_TRANS50| 7, 4, {NULL}, 0, 0, S_ELEM9 }, // S_ELEM8 - {SPR_ELEM, FF_TRANS50| 8, 4, {NULL}, 0, 0, S_ELEM10}, // S_ELEM9 - {SPR_ELEM, FF_TRANS50| 9, 4, {NULL}, 0, 0, S_ELEM11}, // S_ELEM10 - {SPR_ELEM, FF_TRANS50|10, 4, {NULL}, 0, 0, S_ELEM12}, // S_ELEM11 - {SPR_ELEM, FF_TRANS50|11, 4, {NULL}, 0, 0, S_ELEM1 }, // S_ELEM12 - - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_ELEM14}, // S_ELEM13 - {SPR_ELEM, FF_TRANS50|11, 1, {NULL}, 0, 0, S_ELEM1 }, // S_ELEM14 - - {SPR_ELEM, FF_FULLBRIGHT|12, 3, {NULL}, 0, 0, S_ELEMF2 }, // S_ELEMF1 - {SPR_ELEM, FF_FULLBRIGHT|13, 3, {NULL}, 0, 0, S_ELEMF3 }, // S_ELEMF2 - {SPR_ELEM, FF_FULLBRIGHT|14, 3, {NULL}, 0, 0, S_ELEMF4 }, // S_ELEMF3 - {SPR_ELEM, FF_FULLBRIGHT|15, 3, {NULL}, 0, 0, S_ELEMF5 }, // S_ELEMF4 - {SPR_ELEM, FF_FULLBRIGHT|16, 3, {NULL}, 0, 0, S_ELEMF6 }, // S_ELEMF5 - {SPR_ELEM, FF_FULLBRIGHT|17, 3, {NULL}, 0, 0, S_ELEMF7 }, // S_ELEMF6 - {SPR_ELEM, FF_FULLBRIGHT|18, 3, {NULL}, 0, 0, S_ELEMF8 }, // S_ELEMF7 - {SPR_ELEM, FF_FULLBRIGHT|19, 3, {NULL}, 0, 0, S_ELEMF1 }, // S_ELEMF8 - - {SPR_ELEM, FF_FULLBRIGHT|20, 1, {NULL}, 0, 0, S_ELEMF10}, // S_ELEMF9 - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_ELEMF1 }, // S_ELEMF10 - - {SPR_PITY, FF_TRANS30 , 2, {NULL}, 0, 0, S_PITY2}, // S_PITY1 - {SPR_PITY, FF_TRANS30| 1, 2, {NULL}, 0, 0, S_PITY3}, // S_PITY2 - {SPR_PITY, FF_TRANS30| 2, 2, {NULL}, 0, 0, S_PITY4}, // S_PITY3 - {SPR_PITY, FF_TRANS30| 3, 2, {NULL}, 0, 0, S_PITY5}, // S_PITY4 - {SPR_PITY, FF_TRANS30| 4, 2, {NULL}, 0, 0, S_PITY6}, // S_PITY5 - {SPR_PITY, FF_TRANS30| 5, 2, {NULL}, 0, 0, S_PITY7}, // S_PITY6 - {SPR_PITY, FF_TRANS30| 6, 2, {NULL}, 0, 0, S_PITY8}, // S_PITY7 - {SPR_PITY, FF_TRANS30| 7, 2, {NULL}, 0, 0, S_PITY9}, // S_PITY8 - {SPR_PITY, FF_TRANS30| 8, 2, {NULL}, 0, 0, S_PITY10}, // S_PITY9 - {SPR_PITY, FF_TRANS30| 9, 2, {NULL}, 0, 0, S_PITY11}, // S_PITY10 - {SPR_PITY, FF_TRANS30|10, 2, {NULL}, 0, 0, S_PITY12}, // S_PITY11 - {SPR_PITY, FF_TRANS30|11, 2, {NULL}, 0, 0, S_PITY1}, // S_PITY12 - - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40 , 2, {NULL}, 0, 0, S_FIRS2}, // S_FIRS1 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|1, 2, {NULL}, 0, 0, S_FIRS3}, // S_FIRS2 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|2, 2, {NULL}, 0, 0, S_FIRS4}, // S_FIRS3 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|3, 2, {NULL}, 0, 0, S_FIRS5}, // S_FIRS4 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|4, 2, {NULL}, 0, 0, S_FIRS6}, // S_FIRS5 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|5, 2, {NULL}, 0, 0, S_FIRS7}, // S_FIRS6 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|6, 2, {NULL}, 0, 0, S_FIRS8}, // S_FIRS7 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|7, 2, {NULL}, 0, 0, S_FIRS9}, // S_FIRS8 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|8, 2, {NULL}, 0, 0, S_FIRS1}, // S_FIRS9 - - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|18, 1, {NULL}, 0, 0, S_FIRS11}, // S_FIRS10 - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_FIRS1 }, // S_FIRS11 - - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40| 9, 2, {NULL}, 0, 0, S_FIRSB2}, // S_FIRSB1 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|10, 2, {NULL}, 0, 0, S_FIRSB3}, // S_FIRSB2 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|11, 2, {NULL}, 0, 0, S_FIRSB4}, // S_FIRSB3 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|12, 2, {NULL}, 0, 0, S_FIRSB5}, // S_FIRSB4 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|13, 2, {NULL}, 0, 0, S_FIRSB6}, // S_FIRSB5 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|14, 2, {NULL}, 0, 0, S_FIRSB7}, // S_FIRSB6 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|15, 2, {NULL}, 0, 0, S_FIRSB8}, // S_FIRSB7 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|16, 2, {NULL}, 0, 0, S_FIRSB9}, // S_FIRSB8 - {SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|17, 2, {NULL}, 0, 0, S_FIRSB1}, // S_FIRSB9 - - {SPR_NULL, 0, 2, {NULL}, 0, 0, S_FIRSB1 }, // S_FIRSB10 - - {SPR_BUBS, FF_TRANS30 , 3, {NULL}, 0, 0, S_BUBS2}, // S_BUBS1 - {SPR_BUBS, FF_TRANS30|1, 3, {NULL}, 0, 0, S_BUBS3}, // S_BUBS2 - {SPR_BUBS, FF_TRANS30|2, 3, {NULL}, 0, 0, S_BUBS4}, // S_BUBS3 - {SPR_BUBS, FF_TRANS30|3, 3, {NULL}, 0, 0, S_BUBS5}, // S_BUBS4 - {SPR_BUBS, FF_TRANS30|4, 3, {NULL}, 0, 0, S_BUBS6}, // S_BUBS5 - {SPR_BUBS, FF_TRANS30|5, 3, {NULL}, 0, 0, S_BUBS7}, // S_BUBS6 - {SPR_BUBS, FF_TRANS30|6, 3, {NULL}, 0, 0, S_BUBS8}, // S_BUBS7 - {SPR_BUBS, FF_TRANS30|7, 3, {NULL}, 0, 0, S_BUBS9}, // S_BUBS8 - {SPR_BUBS, FF_TRANS30|8, 3, {NULL}, 0, 0, S_BUBS1}, // S_BUBS9 - - {SPR_NULL, 0, 3, {NULL}, 0, 0, S_BUBS1}, // S_BUBS10 - {SPR_NULL, 0, 4*3, {NULL}, 0, 0, S_BUBS1}, // S_BUBS11 - - {SPR_BUBS, FF_TRANS30| 9, 3, {NULL}, 0, 0, S_BUBSB2}, // S_BUBSB1 - {SPR_BUBS, FF_TRANS30|10, 3, {NULL}, 0, 0, S_BUBSB3}, // S_BUBSB2 - {SPR_BUBS, FF_TRANS30|11, 3, {NULL}, 0, 0, S_BUBSB4}, // S_BUBSB3 - {SPR_BUBS, FF_TRANS30|10, 3, {NULL}, 0, 0, S_BUBSB1}, // S_BUBSB4 - - {SPR_BUBS, FF_TRANS30|12, 3, {NULL}, 0, 0, S_BUBSB3}, // S_BUBSB5 - {SPR_BUBS, FF_TRANS30|13, 3, {NULL}, 0, 0, S_BUBSB5}, // S_BUBSB6 - - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20 , 2, {NULL}, 0, 0, S_ZAPS2 }, // S_ZAPS1 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 1, 2, {NULL}, 0, 0, S_ZAPS3 }, // S_ZAPS2 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 2, 2, {NULL}, 0, 0, S_ZAPS4 }, // S_ZAPS3 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 3, 2, {NULL}, 0, 0, S_ZAPS5 }, // S_ZAPS4 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 4, 2, {NULL}, 0, 0, S_ZAPS6 }, // S_ZAPS5 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 5, 2, {NULL}, 0, 0, S_ZAPS7 }, // S_ZAPS6 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 6, 2, {NULL}, 0, 0, S_ZAPS8 }, // S_ZAPS7 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 7, 2, {NULL}, 0, 0, S_ZAPS9 }, // S_ZAPS8 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 8, 2, {NULL}, 0, 0, S_ZAPS10}, // S_ZAPS9 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 9, 2, {NULL}, 0, 0, S_ZAPS11}, // S_ZAPS10 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|10, 2, {NULL}, 0, 0, S_ZAPS12}, // S_ZAPS11 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|11, 2, {NULL}, 0, 0, S_ZAPS13}, // S_ZAPS12 - {SPR_NULL, 0, 9*2, {NULL}, 0, 0, S_ZAPS14}, // S_ZAPS13 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 9, 2, {NULL}, 0, 0, S_ZAPS15}, // S_ZAPS14 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|10, 2, {NULL}, 0, 0, S_ZAPS16}, // S_ZAPS15 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|11, 2, {NULL}, 0, 0, S_ZAPS1 }, // S_ZAPS16 - - {SPR_NULL, 0, 12*2, {NULL}, 0, 0, S_ZAPSB2 }, // S_ZAPSB1 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 8, 2, {NULL}, 0, 0, S_ZAPSB3 }, // S_ZAPSB2 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 7, 2, {NULL}, 0, 0, S_ZAPSB4 }, // S_ZAPSB3 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 6, 2, {NULL}, 0, 0, S_ZAPSB5 }, // S_ZAPSB4 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 5, 2, {NULL}, 0, 0, S_ZAPSB6 }, // S_ZAPSB5 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 4, 2, {NULL}, 0, 0, S_ZAPSB7 }, // S_ZAPSB6 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 3, 2, {NULL}, 0, 0, S_ZAPSB8 }, // S_ZAPSB7 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 2, 2, {NULL}, 0, 0, S_ZAPSB9 }, // S_ZAPSB8 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 1, 2, {NULL}, 0, 0, S_ZAPSB10}, // S_ZAPSB9 - {SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20 , 2, {NULL}, 0, 0, S_ZAPSB11}, // S_ZAPSB10 - {SPR_NULL, 0, 15*2, {NULL}, 0, 0, S_ZAPSB2 }, // S_ZAPSB11 + STATE(SPR_ARMA, FF_TRANS40 , 2, {NULL}, 0, 0, S_ARMA2 ), // S_ARMA1 + STATE(SPR_ARMA, FF_TRANS40| 1, 2, {NULL}, 0, 0, S_ARMA3 ), // S_ARMA2 + STATE(SPR_ARMA, FF_TRANS40| 2, 2, {NULL}, 0, 0, S_ARMA4 ), // S_ARMA3 + STATE(SPR_ARMA, FF_TRANS40| 3, 2, {NULL}, 0, 0, S_ARMA5 ), // S_ARMA4 + STATE(SPR_ARMA, FF_TRANS40| 4, 2, {NULL}, 0, 0, S_ARMA6 ), // S_ARMA5 + STATE(SPR_ARMA, FF_TRANS40| 5, 2, {NULL}, 0, 0, S_ARMA7 ), // S_ARMA6 + STATE(SPR_ARMA, FF_TRANS40| 6, 2, {NULL}, 0, 0, S_ARMA8 ), // S_ARMA7 + STATE(SPR_ARMA, FF_TRANS40| 7, 2, {NULL}, 0, 0, S_ARMA9 ), // S_ARMA8 + STATE(SPR_ARMA, FF_TRANS40| 8, 2, {NULL}, 0, 0, S_ARMA10), // S_ARMA9 + STATE(SPR_ARMA, FF_TRANS40| 9, 2, {NULL}, 0, 0, S_ARMA11), // S_ARMA10 + STATE(SPR_ARMA, FF_TRANS40|10, 2, {NULL}, 0, 0, S_ARMA12), // S_ARMA11 + STATE(SPR_ARMA, FF_TRANS40|11, 2, {NULL}, 0, 0, S_ARMA13), // S_ARMA12 + STATE(SPR_ARMA, FF_TRANS40|12, 2, {NULL}, 0, 0, S_ARMA14), // S_ARMA13 + STATE(SPR_ARMA, FF_TRANS40|13, 2, {NULL}, 0, 0, S_ARMA15), // S_ARMA14 + STATE(SPR_ARMA, FF_TRANS40|14, 2, {NULL}, 0, 0, S_ARMA16), // S_ARMA15 + STATE(SPR_ARMA, FF_TRANS40|15, 2, {NULL}, 0, 0, S_ARMA1 ), // S_ARMA16 + + STATE(SPR_ARMF, FF_FULLBRIGHT , 2, {NULL}, 0, 0, S_ARMF2 ), // S_ARMF1 + STATE(SPR_ARMF, FF_FULLBRIGHT| 1, 2, {NULL}, 0, 0, S_ARMF3 ), // S_ARMF2 + STATE(SPR_ARMF, FF_FULLBRIGHT| 2, 2, {NULL}, 0, 0, S_ARMF4 ), // S_ARMF3 + STATE(SPR_ARMF, FF_FULLBRIGHT| 3, 2, {NULL}, 0, 0, S_ARMF5 ), // S_ARMF4 + STATE(SPR_ARMF, FF_FULLBRIGHT| 4, 2, {NULL}, 0, 0, S_ARMF6 ), // S_ARMF5 + STATE(SPR_ARMF, FF_FULLBRIGHT| 5, 2, {NULL}, 0, 0, S_ARMF7 ), // S_ARMF6 + STATE(SPR_ARMF, FF_FULLBRIGHT| 6, 2, {NULL}, 0, 0, S_ARMF8 ), // S_ARMF7 + STATE(SPR_ARMF, FF_FULLBRIGHT| 7, 2, {NULL}, 0, 0, S_ARMF9 ), // S_ARMF8 + STATE(SPR_ARMF, FF_FULLBRIGHT| 8, 2, {NULL}, 0, 0, S_ARMF10), // S_ARMF9 + STATE(SPR_ARMF, FF_FULLBRIGHT| 9, 2, {NULL}, 0, 0, S_ARMF11), // S_ARMF10 + STATE(SPR_ARMF, FF_FULLBRIGHT|10, 2, {NULL}, 0, 0, S_ARMF12), // S_ARMF11 + STATE(SPR_ARMF, FF_FULLBRIGHT|11, 2, {NULL}, 0, 0, S_ARMF13), // S_ARMF12 + STATE(SPR_ARMF, FF_FULLBRIGHT|12, 2, {NULL}, 0, 0, S_ARMF14), // S_ARMF13 + STATE(SPR_ARMF, FF_FULLBRIGHT|13, 2, {NULL}, 0, 0, S_ARMF15), // S_ARMF14 + STATE(SPR_ARMF, FF_FULLBRIGHT|14, 2, {NULL}, 0, 0, S_ARMF16), // S_ARMF15 + STATE(SPR_ARMF, FF_FULLBRIGHT|15, 2, {NULL}, 0, 0, S_ARMF17), // S_ARMF16 + STATE(SPR_ARMB, FF_FULLBRIGHT , 2, {NULL}, 0, 0, S_ARMF18), // S_ARMF17 + STATE(SPR_ARMB, FF_FULLBRIGHT| 1, 2, {NULL}, 0, 0, S_ARMF19), // S_ARMF18 + STATE(SPR_ARMB, FF_FULLBRIGHT| 2, 2, {NULL}, 0, 0, S_ARMF20), // S_ARMF19 + STATE(SPR_ARMB, FF_FULLBRIGHT| 3, 2, {NULL}, 0, 0, S_ARMF21), // S_ARMF20 + STATE(SPR_ARMB, FF_FULLBRIGHT| 4, 2, {NULL}, 0, 0, S_ARMF22), // S_ARMF21 + STATE(SPR_ARMB, FF_FULLBRIGHT| 5, 2, {NULL}, 0, 0, S_ARMF23), // S_ARMF22 + STATE(SPR_ARMB, FF_FULLBRIGHT| 6, 2, {NULL}, 0, 0, S_ARMF24), // S_ARMF23 + STATE(SPR_ARMB, FF_FULLBRIGHT| 7, 2, {NULL}, 0, 0, S_ARMF25), // S_ARMF24 + STATE(SPR_ARMB, FF_FULLBRIGHT| 8, 2, {NULL}, 0, 0, S_ARMF26), // S_ARMF25 + STATE(SPR_ARMB, FF_FULLBRIGHT| 9, 2, {NULL}, 0, 0, S_ARMF27), // S_ARMF26 + STATE(SPR_ARMB, FF_FULLBRIGHT|10, 2, {NULL}, 0, 0, S_ARMF28), // S_ARMF27 + STATE(SPR_ARMB, FF_FULLBRIGHT|11, 2, {NULL}, 0, 0, S_ARMF29), // S_ARMF28 + STATE(SPR_ARMB, FF_FULLBRIGHT|12, 2, {NULL}, 0, 0, S_ARMF30), // S_ARMF29 + STATE(SPR_ARMB, FF_FULLBRIGHT|13, 2, {NULL}, 0, 0, S_ARMF31), // S_ARMF30 + STATE(SPR_ARMB, FF_FULLBRIGHT|14, 2, {NULL}, 0, 0, S_ARMF32), // S_ARMF31 + STATE(SPR_ARMB, FF_FULLBRIGHT|15, 2, {NULL}, 0, 0, S_ARMF1 ), // S_ARMF32 + + STATE(SPR_ARMB, FF_FULLBRIGHT , 2, {NULL}, 1, 0, S_ARMB2 ), // S_ARMB1 + STATE(SPR_ARMB, FF_FULLBRIGHT| 1, 2, {NULL}, 1, 0, S_ARMB3 ), // S_ARMB2 + STATE(SPR_ARMB, FF_FULLBRIGHT| 2, 2, {NULL}, 1, 0, S_ARMB4 ), // S_ARMB3 + STATE(SPR_ARMB, FF_FULLBRIGHT| 3, 2, {NULL}, 1, 0, S_ARMB5 ), // S_ARMB4 + STATE(SPR_ARMB, FF_FULLBRIGHT| 4, 2, {NULL}, 1, 0, S_ARMB6 ), // S_ARMB5 + STATE(SPR_ARMB, FF_FULLBRIGHT| 5, 2, {NULL}, 1, 0, S_ARMB7 ), // S_ARMB6 + STATE(SPR_ARMB, FF_FULLBRIGHT| 6, 2, {NULL}, 1, 0, S_ARMB8 ), // S_ARMB7 + STATE(SPR_ARMB, FF_FULLBRIGHT| 7, 2, {NULL}, 1, 0, S_ARMB9 ), // S_ARMB8 + STATE(SPR_ARMB, FF_FULLBRIGHT| 8, 2, {NULL}, 1, 0, S_ARMB10), // S_ARMB9 + STATE(SPR_ARMB, FF_FULLBRIGHT| 9, 2, {NULL}, 1, 0, S_ARMB11), // S_ARMB10 + STATE(SPR_ARMB, FF_FULLBRIGHT|10, 2, {NULL}, 1, 0, S_ARMB12), // S_ARMB11 + STATE(SPR_ARMB, FF_FULLBRIGHT|11, 2, {NULL}, 1, 0, S_ARMB13), // S_ARMB12 + STATE(SPR_ARMB, FF_FULLBRIGHT|12, 2, {NULL}, 1, 0, S_ARMB14), // S_ARMB13 + STATE(SPR_ARMB, FF_FULLBRIGHT|13, 2, {NULL}, 1, 0, S_ARMB15), // S_ARMB14 + STATE(SPR_ARMB, FF_FULLBRIGHT|14, 2, {NULL}, 1, 0, S_ARMB16), // S_ARMB15 + STATE(SPR_ARMB, FF_FULLBRIGHT|15, 2, {NULL}, 1, 0, S_ARMB17), // S_ARMB16 + STATE(SPR_ARMF, FF_FULLBRIGHT , 2, {NULL}, 1, 0, S_ARMB18), // S_ARMB17 + STATE(SPR_ARMF, FF_FULLBRIGHT| 1, 2, {NULL}, 1, 0, S_ARMB19), // S_ARMB18 + STATE(SPR_ARMF, FF_FULLBRIGHT| 2, 2, {NULL}, 1, 0, S_ARMB20), // S_ARMB19 + STATE(SPR_ARMF, FF_FULLBRIGHT| 3, 2, {NULL}, 1, 0, S_ARMB21), // S_ARMB20 + STATE(SPR_ARMF, FF_FULLBRIGHT| 4, 2, {NULL}, 1, 0, S_ARMB22), // S_ARMB21 + STATE(SPR_ARMF, FF_FULLBRIGHT| 5, 2, {NULL}, 1, 0, S_ARMB23), // S_ARMB22 + STATE(SPR_ARMF, FF_FULLBRIGHT| 6, 2, {NULL}, 1, 0, S_ARMB24), // S_ARMB23 + STATE(SPR_ARMF, FF_FULLBRIGHT| 7, 2, {NULL}, 1, 0, S_ARMB25), // S_ARMB24 + STATE(SPR_ARMF, FF_FULLBRIGHT| 8, 2, {NULL}, 1, 0, S_ARMB26), // S_ARMB25 + STATE(SPR_ARMF, FF_FULLBRIGHT| 9, 2, {NULL}, 1, 0, S_ARMB27), // S_ARMB26 + STATE(SPR_ARMF, FF_FULLBRIGHT|10, 2, {NULL}, 1, 0, S_ARMB28), // S_ARMB27 + STATE(SPR_ARMF, FF_FULLBRIGHT|11, 2, {NULL}, 1, 0, S_ARMB29), // S_ARMB28 + STATE(SPR_ARMF, FF_FULLBRIGHT|12, 2, {NULL}, 1, 0, S_ARMB30), // S_ARMB29 + STATE(SPR_ARMF, FF_FULLBRIGHT|13, 2, {NULL}, 1, 0, S_ARMB31), // S_ARMB30 + STATE(SPR_ARMF, FF_FULLBRIGHT|14, 2, {NULL}, 1, 0, S_ARMB32), // S_ARMB31 + STATE(SPR_ARMF, FF_FULLBRIGHT|15, 2, {NULL}, 1, 0, S_ARMB1 ), // S_ARMB32 + + STATE(SPR_WIND, FF_TRANS70 , 2, {NULL}, 0, 0, S_WIND2), // S_WIND1 + STATE(SPR_WIND, FF_TRANS70|1, 2, {NULL}, 0, 0, S_WIND3), // S_WIND2 + STATE(SPR_WIND, FF_TRANS70|2, 2, {NULL}, 0, 0, S_WIND4), // S_WIND3 + STATE(SPR_WIND, FF_TRANS70|3, 2, {NULL}, 0, 0, S_WIND5), // S_WIND4 + STATE(SPR_WIND, FF_TRANS70|4, 2, {NULL}, 0, 0, S_WIND6), // S_WIND5 + STATE(SPR_WIND, FF_TRANS70|5, 2, {NULL}, 0, 0, S_WIND7), // S_WIND6 + STATE(SPR_WIND, FF_TRANS70|6, 2, {NULL}, 0, 0, S_WIND8), // S_WIND7 + STATE(SPR_WIND, FF_TRANS70|7, 2, {NULL}, 0, 0, S_WIND1), // S_WIND8 + + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40 , 2, {NULL}, 0, 0, S_MAGN2 ), // S_MAGN1 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 1, 2, {NULL}, 0, 0, S_MAGN3 ), // S_MAGN2 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 2, 2, {NULL}, 0, 0, S_MAGN4 ), // S_MAGN3 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 3, 2, {NULL}, 0, 0, S_MAGN5 ), // S_MAGN4 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 4, 2, {NULL}, 0, 0, S_MAGN6 ), // S_MAGN5 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 5, 2, {NULL}, 0, 0, S_MAGN7 ), // S_MAGN6 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 6, 2, {NULL}, 0, 0, S_MAGN8 ), // S_MAGN7 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 7, 2, {NULL}, 0, 0, S_MAGN9 ), // S_MAGN8 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 8, 2, {NULL}, 0, 0, S_MAGN10), // S_MAGN9 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40| 9, 2, {NULL}, 0, 0, S_MAGN11), // S_MAGN10 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40|10, 2, {NULL}, 0, 0, S_MAGN12), // S_MAGN11 + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS40|11, 2, {NULL}, 0, 0, S_MAGN1 ), // S_MAGN12 + + STATE(SPR_MAGN, FF_FULLBRIGHT|FF_TRANS10|12, 2, {NULL}, 0, 0, S_MAGN1 ), // S_MAGN13 + + STATE(SPR_FORC, FF_TRANS50 , 3, {NULL}, 0, 0, S_FORC2 ), // S_FORC1 + STATE(SPR_FORC, FF_TRANS50|1, 3, {NULL}, 0, 0, S_FORC3 ), // S_FORC2 + STATE(SPR_FORC, FF_TRANS50|2, 3, {NULL}, 0, 0, S_FORC4 ), // S_FORC3 + STATE(SPR_FORC, FF_TRANS50|3, 3, {NULL}, 0, 0, S_FORC5 ), // S_FORC4 + STATE(SPR_FORC, FF_TRANS50|4, 3, {NULL}, 0, 0, S_FORC6 ), // S_FORC5 + STATE(SPR_FORC, FF_TRANS50|5, 3, {NULL}, 0, 0, S_FORC7 ), // S_FORC6 + STATE(SPR_FORC, FF_TRANS50|6, 3, {NULL}, 0, 0, S_FORC8 ), // S_FORC7 + STATE(SPR_FORC, FF_TRANS50|7, 3, {NULL}, 0, 0, S_FORC9 ), // S_FORC8 + STATE(SPR_FORC, FF_TRANS50|8, 3, {NULL}, 0, 0, S_FORC10), // S_FORC9 + STATE(SPR_FORC, FF_TRANS50|9, 3, {NULL}, 0, 0, S_FORC1 ), // S_FORC10 + + STATE(SPR_FORC, FF_TRANS50|10, 3, {NULL}, 0, 0, S_FORC12), // S_FORC11 + STATE(SPR_FORC, FF_TRANS50|11, 3, {NULL}, 0, 0, S_FORC13), // S_FORC12 + STATE(SPR_FORC, FF_TRANS50|12, 3, {NULL}, 0, 0, S_FORC14), // S_FORC13 + STATE(SPR_FORC, FF_TRANS50|13, 3, {NULL}, 0, 0, S_FORC15), // S_FORC14 + STATE(SPR_FORC, FF_TRANS50|14, 3, {NULL}, 0, 0, S_FORC16), // S_FORC15 + STATE(SPR_FORC, FF_TRANS50|15, 3, {NULL}, 0, 0, S_FORC17), // S_FORC16 + STATE(SPR_FORC, FF_TRANS50|16, 3, {NULL}, 0, 0, S_FORC18), // S_FORC17 + STATE(SPR_FORC, FF_TRANS50|17, 3, {NULL}, 0, 0, S_FORC19), // S_FORC18 + STATE(SPR_FORC, FF_TRANS50|18, 3, {NULL}, 0, 0, S_FORC20), // S_FORC19 + STATE(SPR_FORC, FF_TRANS50|19, 3, {NULL}, 0, 0, S_FORC11), // S_FORC20 + + STATE(SPR_FORC, FF_TRANS50|20, -1, {NULL}, 0, 0, S_NULL), // S_FORC21 + + STATE(SPR_ELEM, FF_TRANS50 , 4, {NULL}, 0, 0, S_ELEM2 ), // S_ELEM1 + STATE(SPR_ELEM, FF_TRANS50| 1, 4, {NULL}, 0, 0, S_ELEM3 ), // S_ELEM2 + STATE(SPR_ELEM, FF_TRANS50| 2, 4, {NULL}, 0, 0, S_ELEM4 ), // S_ELEM3 + STATE(SPR_ELEM, FF_TRANS50| 3, 4, {NULL}, 0, 0, S_ELEM5 ), // S_ELEM4 + STATE(SPR_ELEM, FF_TRANS50| 4, 4, {NULL}, 0, 0, S_ELEM6 ), // S_ELEM5 + STATE(SPR_ELEM, FF_TRANS50| 5, 4, {NULL}, 0, 0, S_ELEM7 ), // S_ELEM6 + STATE(SPR_ELEM, FF_TRANS50| 6, 4, {NULL}, 0, 0, S_ELEM8 ), // S_ELEM7 + STATE(SPR_ELEM, FF_TRANS50| 7, 4, {NULL}, 0, 0, S_ELEM9 ), // S_ELEM8 + STATE(SPR_ELEM, FF_TRANS50| 8, 4, {NULL}, 0, 0, S_ELEM10), // S_ELEM9 + STATE(SPR_ELEM, FF_TRANS50| 9, 4, {NULL}, 0, 0, S_ELEM11), // S_ELEM10 + STATE(SPR_ELEM, FF_TRANS50|10, 4, {NULL}, 0, 0, S_ELEM12), // S_ELEM11 + STATE(SPR_ELEM, FF_TRANS50|11, 4, {NULL}, 0, 0, S_ELEM1 ), // S_ELEM12 + + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_ELEM14), // S_ELEM13 + STATE(SPR_ELEM, FF_TRANS50|11, 1, {NULL}, 0, 0, S_ELEM1 ), // S_ELEM14 + + STATE(SPR_ELEM, FF_FULLBRIGHT|12, 3, {NULL}, 0, 0, S_ELEMF2 ), // S_ELEMF1 + STATE(SPR_ELEM, FF_FULLBRIGHT|13, 3, {NULL}, 0, 0, S_ELEMF3 ), // S_ELEMF2 + STATE(SPR_ELEM, FF_FULLBRIGHT|14, 3, {NULL}, 0, 0, S_ELEMF4 ), // S_ELEMF3 + STATE(SPR_ELEM, FF_FULLBRIGHT|15, 3, {NULL}, 0, 0, S_ELEMF5 ), // S_ELEMF4 + STATE(SPR_ELEM, FF_FULLBRIGHT|16, 3, {NULL}, 0, 0, S_ELEMF6 ), // S_ELEMF5 + STATE(SPR_ELEM, FF_FULLBRIGHT|17, 3, {NULL}, 0, 0, S_ELEMF7 ), // S_ELEMF6 + STATE(SPR_ELEM, FF_FULLBRIGHT|18, 3, {NULL}, 0, 0, S_ELEMF8 ), // S_ELEMF7 + STATE(SPR_ELEM, FF_FULLBRIGHT|19, 3, {NULL}, 0, 0, S_ELEMF1 ), // S_ELEMF8 + + STATE(SPR_ELEM, FF_FULLBRIGHT|20, 1, {NULL}, 0, 0, S_ELEMF10), // S_ELEMF9 + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_ELEMF1 ), // S_ELEMF10 + + STATE(SPR_PITY, FF_TRANS30 , 2, {NULL}, 0, 0, S_PITY2), // S_PITY1 + STATE(SPR_PITY, FF_TRANS30| 1, 2, {NULL}, 0, 0, S_PITY3), // S_PITY2 + STATE(SPR_PITY, FF_TRANS30| 2, 2, {NULL}, 0, 0, S_PITY4), // S_PITY3 + STATE(SPR_PITY, FF_TRANS30| 3, 2, {NULL}, 0, 0, S_PITY5), // S_PITY4 + STATE(SPR_PITY, FF_TRANS30| 4, 2, {NULL}, 0, 0, S_PITY6), // S_PITY5 + STATE(SPR_PITY, FF_TRANS30| 5, 2, {NULL}, 0, 0, S_PITY7), // S_PITY6 + STATE(SPR_PITY, FF_TRANS30| 6, 2, {NULL}, 0, 0, S_PITY8), // S_PITY7 + STATE(SPR_PITY, FF_TRANS30| 7, 2, {NULL}, 0, 0, S_PITY9), // S_PITY8 + STATE(SPR_PITY, FF_TRANS30| 8, 2, {NULL}, 0, 0, S_PITY10), // S_PITY9 + STATE(SPR_PITY, FF_TRANS30| 9, 2, {NULL}, 0, 0, S_PITY11), // S_PITY10 + STATE(SPR_PITY, FF_TRANS30|10, 2, {NULL}, 0, 0, S_PITY12), // S_PITY11 + STATE(SPR_PITY, FF_TRANS30|11, 2, {NULL}, 0, 0, S_PITY1), // S_PITY12 + + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40 , 2, {NULL}, 0, 0, S_FIRS2), // S_FIRS1 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|1, 2, {NULL}, 0, 0, S_FIRS3), // S_FIRS2 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|2, 2, {NULL}, 0, 0, S_FIRS4), // S_FIRS3 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|3, 2, {NULL}, 0, 0, S_FIRS5), // S_FIRS4 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|4, 2, {NULL}, 0, 0, S_FIRS6), // S_FIRS5 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|5, 2, {NULL}, 0, 0, S_FIRS7), // S_FIRS6 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|6, 2, {NULL}, 0, 0, S_FIRS8), // S_FIRS7 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|7, 2, {NULL}, 0, 0, S_FIRS9), // S_FIRS8 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|8, 2, {NULL}, 0, 0, S_FIRS1), // S_FIRS9 + + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|18, 1, {NULL}, 0, 0, S_FIRS11), // S_FIRS10 + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_FIRS1 ), // S_FIRS11 + + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40| 9, 2, {NULL}, 0, 0, S_FIRSB2), // S_FIRSB1 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|10, 2, {NULL}, 0, 0, S_FIRSB3), // S_FIRSB2 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|11, 2, {NULL}, 0, 0, S_FIRSB4), // S_FIRSB3 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|12, 2, {NULL}, 0, 0, S_FIRSB5), // S_FIRSB4 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|13, 2, {NULL}, 0, 0, S_FIRSB6), // S_FIRSB5 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|14, 2, {NULL}, 0, 0, S_FIRSB7), // S_FIRSB6 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|15, 2, {NULL}, 0, 0, S_FIRSB8), // S_FIRSB7 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|16, 2, {NULL}, 0, 0, S_FIRSB9), // S_FIRSB8 + STATE(SPR_FIRS, FF_FULLBRIGHT|FF_TRANS40|17, 2, {NULL}, 0, 0, S_FIRSB1), // S_FIRSB9 + + STATE(SPR_NULL, 0, 2, {NULL}, 0, 0, S_FIRSB1 ), // S_FIRSB10 + + STATE(SPR_BUBS, FF_TRANS30 , 3, {NULL}, 0, 0, S_BUBS2), // S_BUBS1 + STATE(SPR_BUBS, FF_TRANS30|1, 3, {NULL}, 0, 0, S_BUBS3), // S_BUBS2 + STATE(SPR_BUBS, FF_TRANS30|2, 3, {NULL}, 0, 0, S_BUBS4), // S_BUBS3 + STATE(SPR_BUBS, FF_TRANS30|3, 3, {NULL}, 0, 0, S_BUBS5), // S_BUBS4 + STATE(SPR_BUBS, FF_TRANS30|4, 3, {NULL}, 0, 0, S_BUBS6), // S_BUBS5 + STATE(SPR_BUBS, FF_TRANS30|5, 3, {NULL}, 0, 0, S_BUBS7), // S_BUBS6 + STATE(SPR_BUBS, FF_TRANS30|6, 3, {NULL}, 0, 0, S_BUBS8), // S_BUBS7 + STATE(SPR_BUBS, FF_TRANS30|7, 3, {NULL}, 0, 0, S_BUBS9), // S_BUBS8 + STATE(SPR_BUBS, FF_TRANS30|8, 3, {NULL}, 0, 0, S_BUBS1), // S_BUBS9 + + STATE(SPR_NULL, 0, 3, {NULL}, 0, 0, S_BUBS1), // S_BUBS10 + STATE(SPR_NULL, 0, 4*3, {NULL}, 0, 0, S_BUBS1), // S_BUBS11 + + STATE(SPR_BUBS, FF_TRANS30| 9, 3, {NULL}, 0, 0, S_BUBSB2), // S_BUBSB1 + STATE(SPR_BUBS, FF_TRANS30|10, 3, {NULL}, 0, 0, S_BUBSB3), // S_BUBSB2 + STATE(SPR_BUBS, FF_TRANS30|11, 3, {NULL}, 0, 0, S_BUBSB4), // S_BUBSB3 + STATE(SPR_BUBS, FF_TRANS30|10, 3, {NULL}, 0, 0, S_BUBSB1), // S_BUBSB4 + + STATE(SPR_BUBS, FF_TRANS30|12, 3, {NULL}, 0, 0, S_BUBSB3), // S_BUBSB5 + STATE(SPR_BUBS, FF_TRANS30|13, 3, {NULL}, 0, 0, S_BUBSB5), // S_BUBSB6 + + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20 , 2, {NULL}, 0, 0, S_ZAPS2 ), // S_ZAPS1 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 1, 2, {NULL}, 0, 0, S_ZAPS3 ), // S_ZAPS2 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 2, 2, {NULL}, 0, 0, S_ZAPS4 ), // S_ZAPS3 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 3, 2, {NULL}, 0, 0, S_ZAPS5 ), // S_ZAPS4 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 4, 2, {NULL}, 0, 0, S_ZAPS6 ), // S_ZAPS5 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 5, 2, {NULL}, 0, 0, S_ZAPS7 ), // S_ZAPS6 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 6, 2, {NULL}, 0, 0, S_ZAPS8 ), // S_ZAPS7 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 7, 2, {NULL}, 0, 0, S_ZAPS9 ), // S_ZAPS8 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 8, 2, {NULL}, 0, 0, S_ZAPS10), // S_ZAPS9 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 9, 2, {NULL}, 0, 0, S_ZAPS11), // S_ZAPS10 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|10, 2, {NULL}, 0, 0, S_ZAPS12), // S_ZAPS11 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|11, 2, {NULL}, 0, 0, S_ZAPS13), // S_ZAPS12 + STATE(SPR_NULL, 0, 9*2, {NULL}, 0, 0, S_ZAPS14), // S_ZAPS13 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 9, 2, {NULL}, 0, 0, S_ZAPS15), // S_ZAPS14 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|10, 2, {NULL}, 0, 0, S_ZAPS16), // S_ZAPS15 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20|11, 2, {NULL}, 0, 0, S_ZAPS1 ), // S_ZAPS16 + + STATE(SPR_NULL, 0, 12*2, {NULL}, 0, 0, S_ZAPSB2 ), // S_ZAPSB1 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 8, 2, {NULL}, 0, 0, S_ZAPSB3 ), // S_ZAPSB2 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 7, 2, {NULL}, 0, 0, S_ZAPSB4 ), // S_ZAPSB3 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 6, 2, {NULL}, 0, 0, S_ZAPSB5 ), // S_ZAPSB4 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 5, 2, {NULL}, 0, 0, S_ZAPSB6 ), // S_ZAPSB5 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 4, 2, {NULL}, 0, 0, S_ZAPSB7 ), // S_ZAPSB6 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 3, 2, {NULL}, 0, 0, S_ZAPSB8 ), // S_ZAPSB7 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 2, 2, {NULL}, 0, 0, S_ZAPSB9 ), // S_ZAPSB8 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20| 1, 2, {NULL}, 0, 0, S_ZAPSB10), // S_ZAPSB9 + STATE(SPR_ZAPS, FF_FULLBRIGHT|FF_TRANS20 , 2, {NULL}, 0, 0, S_ZAPSB11), // S_ZAPSB10 + STATE(SPR_NULL, 0, 15*2, {NULL}, 0, 0, S_ZAPSB2 ), // S_ZAPSB11 // Thunder spark - {SPR_SSPK, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 1, 2, S_NULL}, // S_THUNDERCOIN_SPARK + STATE(SPR_SSPK, FF_ANIMATE|FF_FULLBRIGHT, -1, {NULL}, 1, 2, S_NULL), // S_THUNDERCOIN_SPARK // Invincibility Sparkles - {SPR_IVSP, FF_ANIMATE|FF_FULLBRIGHT, 32, {NULL}, 31, 1, S_NULL}, // S_IVSP + STATE(SPR_IVSP, FF_ANIMATE|FF_FULLBRIGHT, 32, {NULL}, 31, 1, S_NULL), // S_IVSP // Super Sonic Spark - {SPR_SSPK, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK2}, // S_SSPK1 - {SPR_SSPK, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK3}, // S_SSPK2 - {SPR_SSPK, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK4}, // S_SSPK3 - {SPR_SSPK, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK5}, // S_SSPK4 - {SPR_SSPK, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_SSPK5 + STATE(SPR_SSPK, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK2), // S_SSPK1 + STATE(SPR_SSPK, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK3), // S_SSPK2 + STATE(SPR_SSPK, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK4), // S_SSPK3 + STATE(SPR_SSPK, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SSPK5), // S_SSPK4 + STATE(SPR_SSPK, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_SSPK5 // Flicky-sized bubble - {SPR_FBUB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FLICKY_BUBBLE + STATE(SPR_FBUB, 0, -1, {NULL}, 0, 0, S_NULL), // S_FLICKY_BUBBLE // Bluebird - {SPR_FL01, 0, 2, {A_FlickyCheck}, S_FLICKY_01_FLAP1, S_FLICKY_01_FLAP1, S_FLICKY_01_OUT}, // S_FLICKY_01_OUT - {SPR_FL01, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP2}, // S_FLICKY_01_FLAP1 - {SPR_FL01, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP3}, // S_FLICKY_01_FLAP2 - {SPR_FL01, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP1}, // S_FLICKY_01_FLAP3 - {SPR_FL01, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_01_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_01, 384*FRACUNIT, S_FLICKY_01_CENTER}, // S_FLICKY_01_CENTER + STATE(SPR_FL01, 0, 2, {A_FlickyCheck}, S_FLICKY_01_FLAP1, S_FLICKY_01_FLAP1, S_FLICKY_01_OUT), // S_FLICKY_01_OUT + STATE(SPR_FL01, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP2), // S_FLICKY_01_FLAP1 + STATE(SPR_FL01, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP3), // S_FLICKY_01_FLAP2 + STATE(SPR_FL01, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP1), // S_FLICKY_01_FLAP3 + STATE(SPR_FL01, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL), // S_FLICKY_01_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_01, 384*FRACUNIT, S_FLICKY_01_CENTER), // S_FLICKY_01_CENTER // Rabbit - {SPR_FL02, 0, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_OUT}, // S_FLICKY_02_OUT - {SPR_FL02, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_02_HOP}, // S_FLICKY_02_AIM - {SPR_FL02, 1, 1, {A_FlickyHop}, 6*FRACUNIT, 4*FRACUNIT, S_FLICKY_02_UP}, // S_FLICKY_02_HOP - {SPR_FL02, 2, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, S_FLICKY_02_DOWN, S_FLICKY_02_UP}, // S_FLICKY_02_UP - {SPR_FL02, 3, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_DOWN}, // S_FLICKY_02_DOWN - {SPR_FL02, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_02_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_02, 384*FRACUNIT, S_FLICKY_02_CENTER}, // S_FLICKY_02_CENTER + STATE(SPR_FL02, 0, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_OUT), // S_FLICKY_02_OUT + STATE(SPR_FL02, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_02_HOP), // S_FLICKY_02_AIM + STATE(SPR_FL02, 1, 1, {A_FlickyHop}, 6*FRACUNIT, 4*FRACUNIT, S_FLICKY_02_UP), // S_FLICKY_02_HOP + STATE(SPR_FL02, 2, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, S_FLICKY_02_DOWN, S_FLICKY_02_UP), // S_FLICKY_02_UP + STATE(SPR_FL02, 3, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_DOWN), // S_FLICKY_02_DOWN + STATE(SPR_FL02, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_02_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_02, 384*FRACUNIT, S_FLICKY_02_CENTER), // S_FLICKY_02_CENTER // Chicken - {SPR_FL03, 0, 2, {A_FlickyCheck}, S_FLICKY_03_AIM, S_FLICKY_03_FLAP1, S_FLICKY_03_OUT}, // S_FLICKY_03_OUT - {SPR_FL03, 1, 1, {A_FlickyAim}, ANGLE_45, 32*FRACUNIT, S_FLICKY_03_HOP}, // S_FLICKY_03_AIM - {SPR_FL03, 1, 1, {A_FlickyHop}, 7*FRACUNIT, 2*FRACUNIT, S_FLICKY_03_UP}, // S_FLICKY_03_HOP - {SPR_FL03, 2, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, S_FLICKY_03_FLAP1, S_FLICKY_03_UP}, // S_FLICKY_03_UP - {SPR_FL03, 3, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP2}, // S_FLICKY_03_FLAP1 - {SPR_FL03, 4, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP1}, // S_FLICKY_03_FLAP2 - {SPR_FL03, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_03_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_03, 384*FRACUNIT, S_FLICKY_03_CENTER}, // S_FLICKY_03_CENTER + STATE(SPR_FL03, 0, 2, {A_FlickyCheck}, S_FLICKY_03_AIM, S_FLICKY_03_FLAP1, S_FLICKY_03_OUT), // S_FLICKY_03_OUT + STATE(SPR_FL03, 1, 1, {A_FlickyAim}, ANGLE_45, 32*FRACUNIT, S_FLICKY_03_HOP), // S_FLICKY_03_AIM + STATE(SPR_FL03, 1, 1, {A_FlickyHop}, 7*FRACUNIT, 2*FRACUNIT, S_FLICKY_03_UP), // S_FLICKY_03_HOP + STATE(SPR_FL03, 2, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, S_FLICKY_03_FLAP1, S_FLICKY_03_UP), // S_FLICKY_03_UP + STATE(SPR_FL03, 3, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP2), // S_FLICKY_03_FLAP1 + STATE(SPR_FL03, 4, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP1), // S_FLICKY_03_FLAP2 + STATE(SPR_FL03, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_03_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_03, 384*FRACUNIT, S_FLICKY_03_CENTER), // S_FLICKY_03_CENTER // Seal - {SPR_FL04, 0, 2, {A_FlickyCheck}, S_FLICKY_04_AIM, 0, S_FLICKY_04_OUT}, // S_FLICKY_04_OUT - {SPR_FL04, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_04_HOP}, // S_FLICKY_04_AIM - {SPR_FL04, 1, 1, {A_FlickyHop}, 3*FRACUNIT, 2*FRACUNIT, S_FLICKY_04_UP}, // S_FLICKY_04_HOP - {SPR_FL04, 2, 4, {A_FlickyCheck}, S_FLICKY_04_AIM, S_FLICKY_04_DOWN, S_FLICKY_04_UP}, // S_FLICKY_04_UP - {SPR_FL04, 3, 4, {A_FlickyCheck}, S_FLICKY_04_AIM, 0, S_FLICKY_04_DOWN}, // S_FLICKY_04_DOWN - {SPR_FL04, 3, 4, {A_FlickyFly}, 2*FRACUNIT, 48*FRACUNIT, S_FLICKY_04_SWIM2}, // S_FLICKY_04_SWIM1 - {SPR_FL04, 4, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM3}, // S_FLICKY_04_SWIM2 - {SPR_FL04, 3, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM4}, // S_FLICKY_04_SWIM3 - {SPR_FL04, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM1}, // S_FLICKY_04_SWIM4 - {SPR_FL04, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_04_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_04, 384*FRACUNIT, S_FLICKY_04_CENTER}, // S_FLICKY_04_CENTER + STATE(SPR_FL04, 0, 2, {A_FlickyCheck}, S_FLICKY_04_AIM, 0, S_FLICKY_04_OUT), // S_FLICKY_04_OUT + STATE(SPR_FL04, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_04_HOP), // S_FLICKY_04_AIM + STATE(SPR_FL04, 1, 1, {A_FlickyHop}, 3*FRACUNIT, 2*FRACUNIT, S_FLICKY_04_UP), // S_FLICKY_04_HOP + STATE(SPR_FL04, 2, 4, {A_FlickyCheck}, S_FLICKY_04_AIM, S_FLICKY_04_DOWN, S_FLICKY_04_UP), // S_FLICKY_04_UP + STATE(SPR_FL04, 3, 4, {A_FlickyCheck}, S_FLICKY_04_AIM, 0, S_FLICKY_04_DOWN), // S_FLICKY_04_DOWN + STATE(SPR_FL04, 3, 4, {A_FlickyFly}, 2*FRACUNIT, 48*FRACUNIT, S_FLICKY_04_SWIM2), // S_FLICKY_04_SWIM1 + STATE(SPR_FL04, 4, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM3), // S_FLICKY_04_SWIM2 + STATE(SPR_FL04, 3, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM4), // S_FLICKY_04_SWIM3 + STATE(SPR_FL04, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM1), // S_FLICKY_04_SWIM4 + STATE(SPR_FL04, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_04_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_04, 384*FRACUNIT, S_FLICKY_04_CENTER), // S_FLICKY_04_CENTER // Pig - {SPR_FL05, 0, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_OUT}, // S_FLICKY_05_OUT - {SPR_FL05, 1, 1, {A_FlickyAim}, ANG20, 32*FRACUNIT, S_FLICKY_05_HOP}, // S_FLICKY_05_AIM - {SPR_FL05, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 3*FRACUNIT, S_FLICKY_05_UP}, // S_FLICKY_05_HOP - {SPR_FL05, 2, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, S_FLICKY_05_DOWN, S_FLICKY_05_UP}, // S_FLICKY_05_UP - {SPR_FL05, 3, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_DOWN}, // S_FLICKY_05_DOWN - {SPR_FL05, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_05_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_05, 384*FRACUNIT, S_FLICKY_05_CENTER}, // S_FLICKY_05_CENTER + STATE(SPR_FL05, 0, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_OUT), // S_FLICKY_05_OUT + STATE(SPR_FL05, 1, 1, {A_FlickyAim}, ANG20, 32*FRACUNIT, S_FLICKY_05_HOP), // S_FLICKY_05_AIM + STATE(SPR_FL05, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 3*FRACUNIT, S_FLICKY_05_UP), // S_FLICKY_05_HOP + STATE(SPR_FL05, 2, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, S_FLICKY_05_DOWN, S_FLICKY_05_UP), // S_FLICKY_05_UP + STATE(SPR_FL05, 3, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_DOWN), // S_FLICKY_05_DOWN + STATE(SPR_FL05, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_05_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_05, 384*FRACUNIT, S_FLICKY_05_CENTER), // S_FLICKY_05_CENTER // Chipmunk - {SPR_FL06, 0, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_OUT}, // S_FLICKY_06_OUT - {SPR_FL06, 1, 1, {A_FlickyAim}, ANGLE_90, 32*FRACUNIT, S_FLICKY_06_HOP}, // S_FLICKY_06_AIM - {SPR_FL06, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 6*FRACUNIT, S_FLICKY_06_UP}, // S_FLICKY_06_HOP - {SPR_FL06, 2, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, S_FLICKY_06_DOWN, S_FLICKY_06_UP}, // S_FLICKY_06_UP - {SPR_FL06, 3, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_DOWN}, // S_FLICKY_06_DOWN - {SPR_FL06, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_06_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_06, 384*FRACUNIT, S_FLICKY_06_CENTER}, // S_FLICKY_06_CENTER + STATE(SPR_FL06, 0, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_OUT), // S_FLICKY_06_OUT + STATE(SPR_FL06, 1, 1, {A_FlickyAim}, ANGLE_90, 32*FRACUNIT, S_FLICKY_06_HOP), // S_FLICKY_06_AIM + STATE(SPR_FL06, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 6*FRACUNIT, S_FLICKY_06_UP), // S_FLICKY_06_HOP + STATE(SPR_FL06, 2, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, S_FLICKY_06_DOWN, S_FLICKY_06_UP), // S_FLICKY_06_UP + STATE(SPR_FL06, 3, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_DOWN), // S_FLICKY_06_DOWN + STATE(SPR_FL06, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_06_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_06, 384*FRACUNIT, S_FLICKY_06_CENTER), // S_FLICKY_06_CENTER // Penguin - {SPR_FL07, 0, 2, {A_FlickyCheck}, S_FLICKY_07_AIML, 0, S_FLICKY_07_OUT}, // S_FLICKY_07_OUT - {SPR_FL07, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_07_HOPL}, // S_FLICKY_07_AIML - {SPR_FL07, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 2*FRACUNIT, S_FLICKY_07_UPL}, // S_FLICKY_07_HOPL - {SPR_FL07, 2, 4, {A_FlickyCheck}, S_FLICKY_07_AIMR, S_FLICKY_07_DOWNL, S_FLICKY_07_UPL}, // S_FLICKY_07_UPL - {SPR_FL07, 1, 4, {A_FlickyCheck}, S_FLICKY_07_AIMR, 0, S_FLICKY_07_DOWNL}, // S_FLICKY_07_DOWNL - {SPR_FL07, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_07_HOPR}, // S_FLICKY_07_AIMR - {SPR_FL07, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 2*FRACUNIT, S_FLICKY_07_UPR}, // S_FLICKY_07_HOPR - {SPR_FL07, 3, 4, {A_FlickyCheck}, S_FLICKY_07_AIML, S_FLICKY_07_DOWNR, S_FLICKY_07_UPR}, // S_FLICKY_07_UPR - {SPR_FL07, 1, 4, {A_FlickyCheck}, S_FLICKY_07_AIML, 0, S_FLICKY_07_DOWNR}, // S_FLICKY_07_DOWNR - {SPR_FL07, 4, 4, {A_FlickyFly}, 3*FRACUNIT, 72*FRACUNIT, S_FLICKY_07_SWIM2}, // S_FLICKY_07_SWIM1 - {SPR_FL07, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3}, // S_FLICKY_07_SWIM2 - {SPR_FL07, 6, 4, {A_FlickyCoast}, 2*FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3}, // S_FLICKY_07_SWIM3 - {SPR_FL07, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_07_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_07, 384*FRACUNIT, S_FLICKY_07_CENTER}, // S_FLICKY_07_CENTER + STATE(SPR_FL07, 0, 2, {A_FlickyCheck}, S_FLICKY_07_AIML, 0, S_FLICKY_07_OUT), // S_FLICKY_07_OUT + STATE(SPR_FL07, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_07_HOPL), // S_FLICKY_07_AIML + STATE(SPR_FL07, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 2*FRACUNIT, S_FLICKY_07_UPL), // S_FLICKY_07_HOPL + STATE(SPR_FL07, 2, 4, {A_FlickyCheck}, S_FLICKY_07_AIMR, S_FLICKY_07_DOWNL, S_FLICKY_07_UPL), // S_FLICKY_07_UPL + STATE(SPR_FL07, 1, 4, {A_FlickyCheck}, S_FLICKY_07_AIMR, 0, S_FLICKY_07_DOWNL), // S_FLICKY_07_DOWNL + STATE(SPR_FL07, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_07_HOPR), // S_FLICKY_07_AIMR + STATE(SPR_FL07, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 2*FRACUNIT, S_FLICKY_07_UPR), // S_FLICKY_07_HOPR + STATE(SPR_FL07, 3, 4, {A_FlickyCheck}, S_FLICKY_07_AIML, S_FLICKY_07_DOWNR, S_FLICKY_07_UPR), // S_FLICKY_07_UPR + STATE(SPR_FL07, 1, 4, {A_FlickyCheck}, S_FLICKY_07_AIML, 0, S_FLICKY_07_DOWNR), // S_FLICKY_07_DOWNR + STATE(SPR_FL07, 4, 4, {A_FlickyFly}, 3*FRACUNIT, 72*FRACUNIT, S_FLICKY_07_SWIM2), // S_FLICKY_07_SWIM1 + STATE(SPR_FL07, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3), // S_FLICKY_07_SWIM2 + STATE(SPR_FL07, 6, 4, {A_FlickyCoast}, 2*FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3), // S_FLICKY_07_SWIM3 + STATE(SPR_FL07, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_07_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_07, 384*FRACUNIT, S_FLICKY_07_CENTER), // S_FLICKY_07_CENTER // Fish - {SPR_FL08, 0, 2, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_OUT}, // S_FLICKY_08_OUT - {SPR_FL08, 2, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_08_HOP}, // S_FLICKY_08_AIM - {SPR_FL08, 2, 1, {A_FlickyFlounder}, 2*FRACUNIT, 1*FRACUNIT, S_FLICKY_08_FLAP1}, // S_FLICKY_08_HOP - {SPR_FL08, 0, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP2}, // S_FLICKY_08_FLAP1 - {SPR_FL08, 1, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP3}, // S_FLICKY_08_FLAP2 - {SPR_FL08, 0, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP4}, // S_FLICKY_08_FLAP3 - {SPR_FL08, 2, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP1}, // S_FLICKY_08_FLAP4 - {SPR_FL08, 0, 4, {A_FlickyFly}, 3*FRACUNIT, 64*FRACUNIT, S_FLICKY_08_SWIM2}, // S_FLICKY_08_SWIM1 - {SPR_FL08, 1, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM3}, // S_FLICKY_08_SWIM2 - {SPR_FL08, 0, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4}, // S_FLICKY_08_SWIM3 - {SPR_FL08, 2, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4}, // S_FLICKY_08_SWIM4 - {SPR_FL08, FF_ANIMATE, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_08_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_08, 384*FRACUNIT, S_FLICKY_08_CENTER}, // S_FLICKY_08_CENTER + STATE(SPR_FL08, 0, 2, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_OUT), // S_FLICKY_08_OUT + STATE(SPR_FL08, 2, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_08_HOP), // S_FLICKY_08_AIM + STATE(SPR_FL08, 2, 1, {A_FlickyFlounder}, 2*FRACUNIT, 1*FRACUNIT, S_FLICKY_08_FLAP1), // S_FLICKY_08_HOP + STATE(SPR_FL08, 0, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP2), // S_FLICKY_08_FLAP1 + STATE(SPR_FL08, 1, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP3), // S_FLICKY_08_FLAP2 + STATE(SPR_FL08, 0, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP4), // S_FLICKY_08_FLAP3 + STATE(SPR_FL08, 2, 4, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_FLAP1), // S_FLICKY_08_FLAP4 + STATE(SPR_FL08, 0, 4, {A_FlickyFly}, 3*FRACUNIT, 64*FRACUNIT, S_FLICKY_08_SWIM2), // S_FLICKY_08_SWIM1 + STATE(SPR_FL08, 1, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM3), // S_FLICKY_08_SWIM2 + STATE(SPR_FL08, 0, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4), // S_FLICKY_08_SWIM3 + STATE(SPR_FL08, 2, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4), // S_FLICKY_08_SWIM4 + STATE(SPR_FL08, FF_ANIMATE, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_08_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_08, 384*FRACUNIT, S_FLICKY_08_CENTER), // S_FLICKY_08_CENTER // Ram - {SPR_FL09, 0, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_OUT}, // S_FLICKY_09_OUT - {SPR_FL09, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_09_HOP}, // S_FLICKY_09_AIM - {SPR_FL09, 1, 1, {A_FlickyHop}, 7*FRACUNIT, 2*FRACUNIT, S_FLICKY_09_UP}, // S_FLICKY_09_HOP - {SPR_FL09, 2, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, S_FLICKY_09_DOWN, S_FLICKY_09_UP}, // S_FLICKY_09_UP - {SPR_FL09, 3, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_DOWN}, // S_FLICKY_09_DOWN - {SPR_FL09, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_09_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_09, 384*FRACUNIT, S_FLICKY_09_CENTER}, // S_FLICKY_09_CENTER + STATE(SPR_FL09, 0, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_OUT), // S_FLICKY_09_OUT + STATE(SPR_FL09, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_09_HOP), // S_FLICKY_09_AIM + STATE(SPR_FL09, 1, 1, {A_FlickyHop}, 7*FRACUNIT, 2*FRACUNIT, S_FLICKY_09_UP), // S_FLICKY_09_HOP + STATE(SPR_FL09, 2, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, S_FLICKY_09_DOWN, S_FLICKY_09_UP), // S_FLICKY_09_UP + STATE(SPR_FL09, 3, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_DOWN), // S_FLICKY_09_DOWN + STATE(SPR_FL09, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_09_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_09, 384*FRACUNIT, S_FLICKY_09_CENTER), // S_FLICKY_09_CENTER // Puffin - {SPR_FL10, 0, 2, {A_FlickyCheck}, S_FLICKY_10_FLAP1, S_FLICKY_10_FLAP1, S_FLICKY_10_OUT}, // S_FLICKY_10_OUT - {SPR_FL10, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP2}, // S_FLICKY_10_FLAP1 - {SPR_FL10, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP1}, // S_FLICKY_10_FLAP2 - {SPR_FL10, FF_ANIMATE|1, -1, {NULL}, 1, 3, S_NULL}, // S_FLICKY_10_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_10, 384*FRACUNIT, S_FLICKY_10_CENTER}, // S_FLICKY_10_CENTER + STATE(SPR_FL10, 0, 2, {A_FlickyCheck}, S_FLICKY_10_FLAP1, S_FLICKY_10_FLAP1, S_FLICKY_10_OUT), // S_FLICKY_10_OUT + STATE(SPR_FL10, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP2), // S_FLICKY_10_FLAP1 + STATE(SPR_FL10, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP1), // S_FLICKY_10_FLAP2 + STATE(SPR_FL10, FF_ANIMATE|1, -1, {NULL}, 1, 3, S_NULL), // S_FLICKY_10_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_10, 384*FRACUNIT, S_FLICKY_10_CENTER), // S_FLICKY_10_CENTER // Cow - {SPR_FL11, 0, 2, {A_FlickyCheck}, S_FLICKY_11_AIM, 0, S_FLICKY_11_OUT}, // S_FLICKY_11_OUT - {SPR_FL11, 1, 1, {A_FlickyAim}, ANGLE_90, 64*FRACUNIT, S_FLICKY_11_RUN1}, // S_FLICKY_11_AIM - {SPR_FL11, 1, 3, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN2}, // S_FLICKY_11_RUN1 - {SPR_FL11, 2, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN3}, // S_FLICKY_11_RUN2 - {SPR_FL11, 3, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_AIM}, // S_FLICKY_11_RUN3 - {SPR_FL11, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_11_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_11, 384*FRACUNIT, S_FLICKY_11_CENTER}, // S_FLICKY_11_CENTER + STATE(SPR_FL11, 0, 2, {A_FlickyCheck}, S_FLICKY_11_AIM, 0, S_FLICKY_11_OUT), // S_FLICKY_11_OUT + STATE(SPR_FL11, 1, 1, {A_FlickyAim}, ANGLE_90, 64*FRACUNIT, S_FLICKY_11_RUN1), // S_FLICKY_11_AIM + STATE(SPR_FL11, 1, 3, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN2), // S_FLICKY_11_RUN1 + STATE(SPR_FL11, 2, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN3), // S_FLICKY_11_RUN2 + STATE(SPR_FL11, 3, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_AIM), // S_FLICKY_11_RUN3 + STATE(SPR_FL11, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_11_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_11, 384*FRACUNIT, S_FLICKY_11_CENTER), // S_FLICKY_11_CENTER // Rat - {SPR_FL12, 0, 2, {A_FlickyCheck}, S_FLICKY_12_AIM, 0, S_FLICKY_12_OUT}, // S_FLICKY_12_OUT - {SPR_FL12, 1, 1, {A_FlickyAim}, ANGLE_90, 32*FRACUNIT, S_FLICKY_12_RUN1}, // S_FLICKY_12_AIM - {SPR_FL12, 1, 2, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN2}, // S_FLICKY_12_RUN1 - {SPR_FL12, 2, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN3}, // S_FLICKY_12_RUN2 - {SPR_FL12, 3, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_AIM}, // S_FLICKY_12_RUN3 - {SPR_FL12, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_12_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_12, 384*FRACUNIT, S_FLICKY_12_CENTER}, // S_FLICKY_12_CENTER + STATE(SPR_FL12, 0, 2, {A_FlickyCheck}, S_FLICKY_12_AIM, 0, S_FLICKY_12_OUT), // S_FLICKY_12_OUT + STATE(SPR_FL12, 1, 1, {A_FlickyAim}, ANGLE_90, 32*FRACUNIT, S_FLICKY_12_RUN1), // S_FLICKY_12_AIM + STATE(SPR_FL12, 1, 2, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN2), // S_FLICKY_12_RUN1 + STATE(SPR_FL12, 2, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN3), // S_FLICKY_12_RUN2 + STATE(SPR_FL12, 3, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_AIM), // S_FLICKY_12_RUN3 + STATE(SPR_FL12, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_12_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_12, 384*FRACUNIT, S_FLICKY_12_CENTER), // S_FLICKY_12_CENTER // Bear - {SPR_FL13, 0, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_OUT}, // S_FLICKY_13_OUT - {SPR_FL13, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_13_HOP}, // S_FLICKY_13_AIM - {SPR_FL13, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 3*FRACUNIT, S_FLICKY_13_UP}, // S_FLICKY_13_HOP - {SPR_FL13, 2, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, S_FLICKY_13_DOWN, S_FLICKY_13_UP}, // S_FLICKY_13_UP - {SPR_FL13, 3, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_DOWN}, // S_FLICKY_13_DOWN - {SPR_FL13, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_13_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_13, 384*FRACUNIT, S_FLICKY_13_CENTER}, // S_FLICKY_13_CENTER + STATE(SPR_FL13, 0, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_OUT), // S_FLICKY_13_OUT + STATE(SPR_FL13, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_13_HOP), // S_FLICKY_13_AIM + STATE(SPR_FL13, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 3*FRACUNIT, S_FLICKY_13_UP), // S_FLICKY_13_HOP + STATE(SPR_FL13, 2, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, S_FLICKY_13_DOWN, S_FLICKY_13_UP), // S_FLICKY_13_UP + STATE(SPR_FL13, 3, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_DOWN), // S_FLICKY_13_DOWN + STATE(SPR_FL13, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_13_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_13, 384*FRACUNIT, S_FLICKY_13_CENTER), // S_FLICKY_13_CENTER // Dove - {SPR_FL14, 0, 2, {A_FlickyCheck}, S_FLICKY_14_FLAP1, S_FLICKY_14_FLAP1, S_FLICKY_14_OUT}, // S_FLICKY_14_OUT - {SPR_FL14, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP2}, // S_FLICKY_14_FLAP1 - {SPR_FL14, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP3}, // S_FLICKY_14_FLAP2 - {SPR_FL14, 3, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP1}, // S_FLICKY_14_FLAP3 - {SPR_FL14, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_14_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_14, 384*FRACUNIT, S_FLICKY_14_CENTER}, // S_FLICKY_14_CENTER + STATE(SPR_FL14, 0, 2, {A_FlickyCheck}, S_FLICKY_14_FLAP1, S_FLICKY_14_FLAP1, S_FLICKY_14_OUT), // S_FLICKY_14_OUT + STATE(SPR_FL14, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP2), // S_FLICKY_14_FLAP1 + STATE(SPR_FL14, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP3), // S_FLICKY_14_FLAP2 + STATE(SPR_FL14, 3, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP1), // S_FLICKY_14_FLAP3 + STATE(SPR_FL14, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL), // S_FLICKY_14_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_14, 384*FRACUNIT, S_FLICKY_14_CENTER), // S_FLICKY_14_CENTER // Cat - {SPR_FL15, 0, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_OUT}, // S_FLICKY_15_OUT - {SPR_FL15, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_15_HOP}, // S_FLICKY_15_AIM - {SPR_FL15, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_FLICKY_15_UP}, // S_FLICKY_15_HOP - {SPR_FL15, 2, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, S_FLICKY_15_DOWN, S_FLICKY_15_UP}, // S_FLICKY_15_UP - {SPR_FL15, 3, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_DOWN}, // S_FLICKY_15_DOWN - {SPR_FL15, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_15_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_15, 384*FRACUNIT, S_FLICKY_15_CENTER}, // S_FLICKY_15_CENTER + STATE(SPR_FL15, 0, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_OUT), // S_FLICKY_15_OUT + STATE(SPR_FL15, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_FLICKY_15_HOP), // S_FLICKY_15_AIM + STATE(SPR_FL15, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_FLICKY_15_UP), // S_FLICKY_15_HOP + STATE(SPR_FL15, 2, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, S_FLICKY_15_DOWN, S_FLICKY_15_UP), // S_FLICKY_15_UP + STATE(SPR_FL15, 3, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_DOWN), // S_FLICKY_15_DOWN + STATE(SPR_FL15, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_FLICKY_15_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_15, 384*FRACUNIT, S_FLICKY_15_CENTER), // S_FLICKY_15_CENTER // Canary - {SPR_FL16, 0, 2, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_OUT}, // S_FLICKY_16_OUT - {SPR_FL16, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 8*FRACUNIT, S_FLICKY_16_FLAP2}, // S_FLICKY_16_FLAP1 - {SPR_FL16, 2, 3, {A_SetObjectFlags}, MF_NOGRAVITY, 1, S_FLICKY_16_FLAP3}, // S_FLICKY_16_FLAP2 - {SPR_FL16, 3, 3, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_FLAP3}, // S_FLICKY_16_FLAP3 - {SPR_FL16, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_16_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_16, 384*FRACUNIT, S_FLICKY_16_CENTER}, // S_FLICKY_16_CENTER + STATE(SPR_FL16, 0, 2, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_OUT), // S_FLICKY_16_OUT + STATE(SPR_FL16, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 8*FRACUNIT, S_FLICKY_16_FLAP2), // S_FLICKY_16_FLAP1 + STATE(SPR_FL16, 2, 3, {A_SetObjectFlags}, MF_NOGRAVITY, 1, S_FLICKY_16_FLAP3), // S_FLICKY_16_FLAP2 + STATE(SPR_FL16, 3, 3, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_FLAP3), // S_FLICKY_16_FLAP3 + STATE(SPR_FL16, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL), // S_FLICKY_16_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_16, 384*FRACUNIT, S_FLICKY_16_CENTER), // S_FLICKY_16_CENTER // Spider - {SPR_FS01, 0, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_OUT}, // S_SECRETFLICKY_01_OUT - {SPR_FS01, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_SECRETFLICKY_01_HOP}, // S_SECRETFLICKY_01_AIM - {SPR_FS01, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_SECRETFLICKY_01_UP}, // S_SECRETFLICKY_01_HOP - {SPR_FS01, 2, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, S_SECRETFLICKY_01_DOWN, S_SECRETFLICKY_01_UP}, // S_SECRETFLICKY_01_UP - {SPR_FS01, 3, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_DOWN}, // S_SECRETFLICKY_01_DOWN - {SPR_FS01, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_SECRETFLICKY_01_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_01, 384*FRACUNIT, S_SECRETFLICKY_01_CENTER}, // S_SECRETFLICKY_01_CENTER + STATE(SPR_FS01, 0, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_OUT), // S_SECRETFLICKY_01_OUT + STATE(SPR_FS01, 1, 1, {A_FlickyAim}, ANG30, 32*FRACUNIT, S_SECRETFLICKY_01_HOP), // S_SECRETFLICKY_01_AIM + STATE(SPR_FS01, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_SECRETFLICKY_01_UP), // S_SECRETFLICKY_01_HOP + STATE(SPR_FS01, 2, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, S_SECRETFLICKY_01_DOWN, S_SECRETFLICKY_01_UP), // S_SECRETFLICKY_01_UP + STATE(SPR_FS01, 3, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_DOWN), // S_SECRETFLICKY_01_DOWN + STATE(SPR_FS01, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL), // S_SECRETFLICKY_01_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_01, 384*FRACUNIT, S_SECRETFLICKY_01_CENTER), // S_SECRETFLICKY_01_CENTER // Bat - {SPR_FS02, 0, 2, {A_FlickyHeightCheck}, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_OUT}, // S_SECRETFLICKY_02_OUT - {SPR_FS02, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP2}, // S_SECRETFLICKY_02_FLAP1 - {SPR_FS02, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP3}, // S_SECRETFLICKY_02_FLAP2 - {SPR_FS02, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP1}, // S_SECRETFLICKY_02_FLAP3 - {SPR_FS02, FF_ANIMATE|1, -1, {NULL}, 2, 2, S_NULL}, // S_SECRETFLICKY_02_STAND - {SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_02, 384*FRACUNIT, S_SECRETFLICKY_02_CENTER}, // S_SECRETFLICKY_02_CENTER + STATE(SPR_FS02, 0, 2, {A_FlickyHeightCheck}, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_OUT), // S_SECRETFLICKY_02_OUT + STATE(SPR_FS02, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP2), // S_SECRETFLICKY_02_FLAP1 + STATE(SPR_FS02, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP3), // S_SECRETFLICKY_02_FLAP2 + STATE(SPR_FS02, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP1), // S_SECRETFLICKY_02_FLAP3 + STATE(SPR_FS02, FF_ANIMATE|1, -1, {NULL}, 2, 2, S_NULL), // S_SECRETFLICKY_02_STAND + STATE(SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_02, 384*FRACUNIT, S_SECRETFLICKY_02_CENTER), // S_SECRETFLICKY_02_CENTER // Fan - {SPR_FANS, 0, 1, {A_FanBubbleSpawn}, 2048, 0, S_FAN2}, // S_FAN - {SPR_FANS, 1, 1, {A_FanBubbleSpawn}, 1024, 0, S_FAN3}, // S_FAN2 - {SPR_FANS, 2, 1, {A_FanBubbleSpawn}, 512, 0, S_FAN4}, // S_FAN3 - {SPR_FANS, 3, 1, {A_FanBubbleSpawn}, 1024, 0, S_FAN5}, // S_FAN4 - {SPR_FANS, 4, 1, {A_FanBubbleSpawn}, 512, 0, S_FAN}, // S_FAN5 + STATE(SPR_FANS, 0, 1, {A_FanBubbleSpawn}, 2048, 0, S_FAN2), // S_FAN + STATE(SPR_FANS, 1, 1, {A_FanBubbleSpawn}, 1024, 0, S_FAN3), // S_FAN2 + STATE(SPR_FANS, 2, 1, {A_FanBubbleSpawn}, 512, 0, S_FAN4), // S_FAN3 + STATE(SPR_FANS, 3, 1, {A_FanBubbleSpawn}, 1024, 0, S_FAN5), // S_FAN4 + STATE(SPR_FANS, 4, 1, {A_FanBubbleSpawn}, 512, 0, S_FAN), // S_FAN5 // Steam Riser - {SPR_STEM, 0, 2, {A_SetSolidSteam}, 0, 0, S_STEAM2}, // S_STEAM1 - {SPR_STEM, 1, 2, {A_UnsetSolidSteam}, 0, 0, S_STEAM3}, // S_STEAM2 - {SPR_STEM, 2, 2, {NULL}, 0, 0, S_STEAM4}, // S_STEAM3 - {SPR_STEM, 3, 2, {NULL}, 0, 0, S_STEAM5}, // S_STEAM4 - {SPR_STEM, 4, 2, {NULL}, 0, 0, S_STEAM6}, // S_STEAM5 - {SPR_STEM, 5, 2, {NULL}, 0, 0, S_STEAM7}, // S_STEAM6 - {SPR_STEM, 6, 2, {NULL}, 0, 0, S_STEAM8}, // S_STEAM7 - {SPR_NULL, 0, 18, {NULL}, 0, 0, S_STEAM1}, // S_STEAM8 + STATE(SPR_STEM, 0, 2, {A_SetSolidSteam}, 0, 0, S_STEAM2), // S_STEAM1 + STATE(SPR_STEM, 1, 2, {A_UnsetSolidSteam}, 0, 0, S_STEAM3), // S_STEAM2 + STATE(SPR_STEM, 2, 2, {NULL}, 0, 0, S_STEAM4), // S_STEAM3 + STATE(SPR_STEM, 3, 2, {NULL}, 0, 0, S_STEAM5), // S_STEAM4 + STATE(SPR_STEM, 4, 2, {NULL}, 0, 0, S_STEAM6), // S_STEAM5 + STATE(SPR_STEM, 5, 2, {NULL}, 0, 0, S_STEAM7), // S_STEAM6 + STATE(SPR_STEM, 6, 2, {NULL}, 0, 0, S_STEAM8), // S_STEAM7 + STATE(SPR_NULL, 0, 18, {NULL}, 0, 0, S_STEAM1), // S_STEAM8 // Bumpers - {SPR_BUMP, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 3, 4, S_NULL}, // S_BUMPER - {SPR_BUMP, FF_ANIMATE|4, 12, {A_Pain}, 1, 3, S_BUMPER}, //S_BUMPERHIT + STATE(SPR_BUMP, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 3, 4, S_NULL), // S_BUMPER + STATE(SPR_BUMP, FF_ANIMATE|4, 12, {A_Pain}, 1, 3, S_BUMPER), //S_BUMPERHIT // Balloons - {SPR_BLON, FF_ANIMATE, -1, {NULL}, 2, 5, S_NULL}, // S_BALLOON - {SPR_BLON, 3, 0, {A_RemoteDamage}, 0, 1, S_BALLOONPOP2}, // S_BALLOONPOP1 - {SPR_BLON, 3, 1, {A_Pain}, 0, 0, S_BALLOONPOP3}, // S_BALLOONPOP2 - {SPR_BLON, 4, 1, {NULL}, 0, 0, S_BALLOONPOP4}, // S_BALLOONPOP3 - {SPR_NULL, 0, TICRATE, {A_CheckFlags2}, MF2_AMBUSH, S_BALLOONPOP5, S_NULL}, // S_BALLOONPOP4 - {SPR_NULL, 0, 15*TICRATE, {NULL}, 0, 0, S_BALLOONPOP6}, // S_BALLOONPOP5 - {SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_NULL}, // S_BALLOONPOP6 + STATE(SPR_BLON, FF_ANIMATE, -1, {NULL}, 2, 5, S_NULL), // S_BALLOON + STATE(SPR_BLON, 3, 0, {A_RemoteDamage}, 0, 1, S_BALLOONPOP2), // S_BALLOONPOP1 + STATE(SPR_BLON, 3, 1, {A_Pain}, 0, 0, S_BALLOONPOP3), // S_BALLOONPOP2 + STATE(SPR_BLON, 4, 1, {NULL}, 0, 0, S_BALLOONPOP4), // S_BALLOONPOP3 + STATE(SPR_NULL, 0, TICRATE, {A_CheckFlags2}, MF2_AMBUSH, S_BALLOONPOP5, S_NULL), // S_BALLOONPOP4 + STATE(SPR_NULL, 0, 15*TICRATE, {NULL}, 0, 0, S_BALLOONPOP6), // S_BALLOONPOP5 + STATE(SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_NULL), // S_BALLOONPOP6 // Yellow Spring - {SPR_SPRY, 0, -1, {NULL}, 0, 0, S_NULL}, // S_YELLOWSPRING - {SPR_SPRY, 4, 4, {A_Pain}, 0, 0, S_YELLOWSPRING3}, // S_YELLOWSPRING2 - {SPR_SPRY, 3, 1, {NULL}, 0, 0, S_YELLOWSPRING4}, // S_YELLOWSPRING3 - {SPR_SPRY, 2, 1, {NULL}, 0, 0, S_YELLOWSPRING5}, // S_YELLOWSPRING4 - {SPR_SPRY, 1, 1, {NULL}, 0, 0, S_YELLOWSPRING}, // S_YELLOWSPRING5 + STATE(SPR_SPRY, 0, -1, {NULL}, 0, 0, S_NULL), // S_YELLOWSPRING + STATE(SPR_SPRY, 4, 4, {A_Pain}, 0, 0, S_YELLOWSPRING3), // S_YELLOWSPRING2 + STATE(SPR_SPRY, 3, 1, {NULL}, 0, 0, S_YELLOWSPRING4), // S_YELLOWSPRING3 + STATE(SPR_SPRY, 2, 1, {NULL}, 0, 0, S_YELLOWSPRING5), // S_YELLOWSPRING4 + STATE(SPR_SPRY, 1, 1, {NULL}, 0, 0, S_YELLOWSPRING), // S_YELLOWSPRING5 // Red Spring - {SPR_SPRR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_REDSPRING - {SPR_SPRR, 4, 4, {A_Pain}, 0, 0, S_REDSPRING3}, // S_REDSPRING2 - {SPR_SPRR, 3, 1, {NULL}, 0, 0, S_REDSPRING4}, // S_REDSPRING3 - {SPR_SPRR, 2, 1, {NULL}, 0, 0, S_REDSPRING5}, // S_REDSPRING4 - {SPR_SPRR, 1, 1, {NULL}, 0, 0, S_REDSPRING}, // S_REDSPRING5 + STATE(SPR_SPRR, 0, -1, {NULL}, 0, 0, S_NULL), // S_REDSPRING + STATE(SPR_SPRR, 4, 4, {A_Pain}, 0, 0, S_REDSPRING3), // S_REDSPRING2 + STATE(SPR_SPRR, 3, 1, {NULL}, 0, 0, S_REDSPRING4), // S_REDSPRING3 + STATE(SPR_SPRR, 2, 1, {NULL}, 0, 0, S_REDSPRING5), // S_REDSPRING4 + STATE(SPR_SPRR, 1, 1, {NULL}, 0, 0, S_REDSPRING), // S_REDSPRING5 // Blue Spring - {SPR_SPRB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BLUESPRING - {SPR_SPRB, 4, 4, {A_Pain}, 0, 0, S_BLUESPRING3}, // S_BLUESPRING2 - {SPR_SPRB, 3, 1, {NULL}, 0, 0, S_BLUESPRING4}, // S_BLUESPRING3 - {SPR_SPRB, 2, 1, {NULL}, 0, 0, S_BLUESPRING5}, // S_BLUESPRING4 - {SPR_SPRB, 1, 1, {NULL}, 0, 0, S_BLUESPRING}, // S_BLUESPRING5 + STATE(SPR_SPRB, 0, -1, {NULL}, 0, 0, S_NULL), // S_BLUESPRING + STATE(SPR_SPRB, 4, 4, {A_Pain}, 0, 0, S_BLUESPRING3), // S_BLUESPRING2 + STATE(SPR_SPRB, 3, 1, {NULL}, 0, 0, S_BLUESPRING4), // S_BLUESPRING3 + STATE(SPR_SPRB, 2, 1, {NULL}, 0, 0, S_BLUESPRING5), // S_BLUESPRING4 + STATE(SPR_SPRB, 1, 1, {NULL}, 0, 0, S_BLUESPRING), // S_BLUESPRING5 // Yellow Diagonal Spring - {SPR_YSPR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_YDIAG1 - {SPR_YSPR, 1, 1, {A_Pain}, 0, 0, S_YDIAG3}, // S_YDIAG2 - {SPR_YSPR, 2, 1, {NULL}, 0, 0, S_YDIAG4}, // S_YDIAG3 - {SPR_YSPR, 3, 1, {NULL}, 0, 0, S_YDIAG5}, // S_YDIAG4 - {SPR_YSPR, 4, 1, {NULL}, 0, 0, S_YDIAG6}, // S_YDIAG5 - {SPR_YSPR, 3, 1, {NULL}, 0, 0, S_YDIAG7}, // S_YDIAG6 - {SPR_YSPR, 2, 1, {NULL}, 0, 0, S_YDIAG8}, // S_YDIAG7 - {SPR_YSPR, 1, 1, {NULL}, 0, 0, S_YDIAG1}, // S_YDIAG8 + STATE(SPR_YSPR, 0, -1, {NULL}, 0, 0, S_NULL), // S_YDIAG1 + STATE(SPR_YSPR, 1, 1, {A_Pain}, 0, 0, S_YDIAG3), // S_YDIAG2 + STATE(SPR_YSPR, 2, 1, {NULL}, 0, 0, S_YDIAG4), // S_YDIAG3 + STATE(SPR_YSPR, 3, 1, {NULL}, 0, 0, S_YDIAG5), // S_YDIAG4 + STATE(SPR_YSPR, 4, 1, {NULL}, 0, 0, S_YDIAG6), // S_YDIAG5 + STATE(SPR_YSPR, 3, 1, {NULL}, 0, 0, S_YDIAG7), // S_YDIAG6 + STATE(SPR_YSPR, 2, 1, {NULL}, 0, 0, S_YDIAG8), // S_YDIAG7 + STATE(SPR_YSPR, 1, 1, {NULL}, 0, 0, S_YDIAG1), // S_YDIAG8 // Red Diagonal Spring - {SPR_RSPR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_RDIAG1 - {SPR_RSPR, 1, 1, {A_Pain}, 0, 0, S_RDIAG3}, // S_RDIAG2 - {SPR_RSPR, 2, 1, {NULL}, 0, 0, S_RDIAG4}, // S_RDIAG3 - {SPR_RSPR, 3, 1, {NULL}, 0, 0, S_RDIAG5}, // S_RDIAG4 - {SPR_RSPR, 4, 1, {NULL}, 0, 0, S_RDIAG6}, // S_RDIAG5 - {SPR_RSPR, 3, 1, {NULL}, 0, 0, S_RDIAG7}, // S_RDIAG6 - {SPR_RSPR, 2, 1, {NULL}, 0, 0, S_RDIAG8}, // S_RDIAG7 - {SPR_RSPR, 1, 1, {NULL}, 0, 0, S_RDIAG1}, // S_RDIAG8 + STATE(SPR_RSPR, 0, -1, {NULL}, 0, 0, S_NULL), // S_RDIAG1 + STATE(SPR_RSPR, 1, 1, {A_Pain}, 0, 0, S_RDIAG3), // S_RDIAG2 + STATE(SPR_RSPR, 2, 1, {NULL}, 0, 0, S_RDIAG4), // S_RDIAG3 + STATE(SPR_RSPR, 3, 1, {NULL}, 0, 0, S_RDIAG5), // S_RDIAG4 + STATE(SPR_RSPR, 4, 1, {NULL}, 0, 0, S_RDIAG6), // S_RDIAG5 + STATE(SPR_RSPR, 3, 1, {NULL}, 0, 0, S_RDIAG7), // S_RDIAG6 + STATE(SPR_RSPR, 2, 1, {NULL}, 0, 0, S_RDIAG8), // S_RDIAG7 + STATE(SPR_RSPR, 1, 1, {NULL}, 0, 0, S_RDIAG1), // S_RDIAG8 // Blue Diagonal Spring - {SPR_BSPR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BDIAG1 - {SPR_BSPR, 1, 1, {A_Pain}, 0, 0, S_BDIAG3}, // S_BDIAG2 - {SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG4}, // S_BDIAG3 - {SPR_BSPR, 3, 1, {NULL}, 0, 0, S_BDIAG5}, // S_BDIAG4 - {SPR_BSPR, 4, 1, {NULL}, 0, 0, S_BDIAG6}, // S_BDIAG5 - {SPR_BSPR, 3, 1, {NULL}, 0, 0, S_BDIAG7}, // S_BDIAG6 - {SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG8}, // S_BDIAG7 - {SPR_BSPR, 1, 1, {NULL}, 0, 0, S_BDIAG1}, // S_BDIAG8 + STATE(SPR_BSPR, 0, -1, {NULL}, 0, 0, S_NULL), // S_BDIAG1 + STATE(SPR_BSPR, 1, 1, {A_Pain}, 0, 0, S_BDIAG3), // S_BDIAG2 + STATE(SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG4), // S_BDIAG3 + STATE(SPR_BSPR, 3, 1, {NULL}, 0, 0, S_BDIAG5), // S_BDIAG4 + STATE(SPR_BSPR, 4, 1, {NULL}, 0, 0, S_BDIAG6), // S_BDIAG5 + STATE(SPR_BSPR, 3, 1, {NULL}, 0, 0, S_BDIAG7), // S_BDIAG6 + STATE(SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG8), // S_BDIAG7 + STATE(SPR_BSPR, 1, 1, {NULL}, 0, 0, S_BDIAG1), // S_BDIAG8 // Yellow Side Spring - {SPR_SSWY, 0, -1, {NULL}, 0, 0, S_NULL}, // S_YHORIZ1 - {SPR_SSWY, 1, 1, {A_Pain}, 0, 0, S_YHORIZ3}, // S_YHORIZ2 - {SPR_SSWY, 2, 1, {NULL}, 0, 0, S_YHORIZ4}, // S_YHORIZ3 - {SPR_SSWY, 3, 1, {NULL}, 0, 0, S_YHORIZ5}, // S_YHORIZ4 - {SPR_SSWY, 4, 1, {NULL}, 0, 0, S_YHORIZ6}, // S_YHORIZ5 - {SPR_SSWY, 3, 1, {NULL}, 0, 0, S_YHORIZ7}, // S_YHORIZ6 - {SPR_SSWY, 2, 1, {NULL}, 0, 0, S_YHORIZ8}, // S_YHORIZ7 - {SPR_SSWY, 1, 1, {NULL}, 0, 0, S_YHORIZ1}, // S_YHORIZ8 + STATE(SPR_SSWY, 0, -1, {NULL}, 0, 0, S_NULL), // S_YHORIZ1 + STATE(SPR_SSWY, 1, 1, {A_Pain}, 0, 0, S_YHORIZ3), // S_YHORIZ2 + STATE(SPR_SSWY, 2, 1, {NULL}, 0, 0, S_YHORIZ4), // S_YHORIZ3 + STATE(SPR_SSWY, 3, 1, {NULL}, 0, 0, S_YHORIZ5), // S_YHORIZ4 + STATE(SPR_SSWY, 4, 1, {NULL}, 0, 0, S_YHORIZ6), // S_YHORIZ5 + STATE(SPR_SSWY, 3, 1, {NULL}, 0, 0, S_YHORIZ7), // S_YHORIZ6 + STATE(SPR_SSWY, 2, 1, {NULL}, 0, 0, S_YHORIZ8), // S_YHORIZ7 + STATE(SPR_SSWY, 1, 1, {NULL}, 0, 0, S_YHORIZ1), // S_YHORIZ8 // Red Side Spring - {SPR_SSWR, 0, -1, {NULL}, 0, 0, S_NULL}, // S_RHORIZ1 - {SPR_SSWR, 1, 1, {A_Pain}, 0, 0, S_RHORIZ3}, // S_RHORIZ2 - {SPR_SSWR, 2, 1, {NULL}, 0, 0, S_RHORIZ4}, // S_RHORIZ3 - {SPR_SSWR, 3, 1, {NULL}, 0, 0, S_RHORIZ5}, // S_RHORIZ4 - {SPR_SSWR, 4, 1, {NULL}, 0, 0, S_RHORIZ6}, // S_RHORIZ5 - {SPR_SSWR, 3, 1, {NULL}, 0, 0, S_RHORIZ7}, // S_RHORIZ6 - {SPR_SSWR, 2, 1, {NULL}, 0, 0, S_RHORIZ8}, // S_RHORIZ7 - {SPR_SSWR, 1, 1, {NULL}, 0, 0, S_RHORIZ1}, // S_RHORIZ8 + STATE(SPR_SSWR, 0, -1, {NULL}, 0, 0, S_NULL), // S_RHORIZ1 + STATE(SPR_SSWR, 1, 1, {A_Pain}, 0, 0, S_RHORIZ3), // S_RHORIZ2 + STATE(SPR_SSWR, 2, 1, {NULL}, 0, 0, S_RHORIZ4), // S_RHORIZ3 + STATE(SPR_SSWR, 3, 1, {NULL}, 0, 0, S_RHORIZ5), // S_RHORIZ4 + STATE(SPR_SSWR, 4, 1, {NULL}, 0, 0, S_RHORIZ6), // S_RHORIZ5 + STATE(SPR_SSWR, 3, 1, {NULL}, 0, 0, S_RHORIZ7), // S_RHORIZ6 + STATE(SPR_SSWR, 2, 1, {NULL}, 0, 0, S_RHORIZ8), // S_RHORIZ7 + STATE(SPR_SSWR, 1, 1, {NULL}, 0, 0, S_RHORIZ1), // S_RHORIZ8 // Blue Side Spring - {SPR_SSWB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BHORIZ1 - {SPR_SSWB, 1, 1, {A_Pain}, 0, 0, S_BHORIZ3}, // S_BHORIZ2 - {SPR_SSWB, 2, 1, {NULL}, 0, 0, S_BHORIZ4}, // S_BHORIZ3 - {SPR_SSWB, 3, 1, {NULL}, 0, 0, S_BHORIZ5}, // S_BHORIZ4 - {SPR_SSWB, 4, 1, {NULL}, 0, 0, S_BHORIZ6}, // S_BHORIZ5 - {SPR_SSWB, 3, 1, {NULL}, 0, 0, S_BHORIZ7}, // S_BHORIZ6 - {SPR_SSWB, 2, 1, {NULL}, 0, 0, S_BHORIZ8}, // S_BHORIZ7 - {SPR_SSWB, 1, 1, {NULL}, 0, 0, S_BHORIZ1}, // S_BHORIZ8 + STATE(SPR_SSWB, 0, -1, {NULL}, 0, 0, S_NULL), // S_BHORIZ1 + STATE(SPR_SSWB, 1, 1, {A_Pain}, 0, 0, S_BHORIZ3), // S_BHORIZ2 + STATE(SPR_SSWB, 2, 1, {NULL}, 0, 0, S_BHORIZ4), // S_BHORIZ3 + STATE(SPR_SSWB, 3, 1, {NULL}, 0, 0, S_BHORIZ5), // S_BHORIZ4 + STATE(SPR_SSWB, 4, 1, {NULL}, 0, 0, S_BHORIZ6), // S_BHORIZ5 + STATE(SPR_SSWB, 3, 1, {NULL}, 0, 0, S_BHORIZ7), // S_BHORIZ6 + STATE(SPR_SSWB, 2, 1, {NULL}, 0, 0, S_BHORIZ8), // S_BHORIZ7 + STATE(SPR_SSWB, 1, 1, {NULL}, 0, 0, S_BHORIZ1), // S_BHORIZ8 // Boosters - {SPR_NULL, 0, 1, {A_Pain}, 0, 0, S_INVISIBLE}, // S_BOOSTERSOUND - {SPR_BSTY, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL}, // S_YELLOWBOOSTERROLLER - {SPR_BSTY, 3|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_YELLOWBOOSTERSEG_LEFT - {SPR_BSTY, 6|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_YELLOWBOOSTERSEG_RIGHT - {SPR_BSTY, 9|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_YELLOWBOOSTERSEG_FACE - {SPR_BSTR, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL}, // S_REDBOOSTERROLLER - {SPR_BSTR, 3|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_REDBOOSTERSEG_LEFT - {SPR_BSTR, 6|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_REDBOOSTERSEG_RIGHT - {SPR_BSTR, 9|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_REDBOOSTERSEG_FACE + STATE(SPR_NULL, 0, 1, {A_Pain}, 0, 0, S_INVISIBLE), // S_BOOSTERSOUND + STATE(SPR_BSTY, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL), // S_YELLOWBOOSTERROLLER + STATE(SPR_BSTY, 3|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_YELLOWBOOSTERSEG_LEFT + STATE(SPR_BSTY, 6|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_YELLOWBOOSTERSEG_RIGHT + STATE(SPR_BSTY, 9|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_YELLOWBOOSTERSEG_FACE + STATE(SPR_BSTR, FF_ANIMATE, -1, {NULL}, 2, 1, S_NULL), // S_REDBOOSTERROLLER + STATE(SPR_BSTR, 3|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_REDBOOSTERSEG_LEFT + STATE(SPR_BSTR, 6|FF_PAPERSPRITE|FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL), // S_REDBOOSTERSEG_RIGHT + STATE(SPR_BSTR, 9|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL), // S_REDBOOSTERSEG_FACE // Rain - {SPR_RAIN, FF_FULLBRIGHT|FF_TRANS50, -1, {NULL}, 0, 0, S_NULL}, // S_RAIN1 - {SPR_RAIN, FF_FULLBRIGHT|FF_TRANS50, 1, {NULL}, 0, 0, S_RAIN1}, // S_RAINRETURN + STATE(SPR_RAIN, FF_FULLBRIGHT|FF_TRANS50, -1, {NULL}, 0, 0, S_NULL), // S_RAIN1 + STATE(SPR_RAIN, FF_FULLBRIGHT|FF_TRANS50, 1, {NULL}, 0, 0, S_RAIN1), // S_RAINRETURN // Snowflake - {SPR_SNO1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SNOW1 - {SPR_SNO1, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SNOW2 - {SPR_SNO1, 2, -1, {NULL}, 0, 0, S_NULL}, // S_SNOW3 + STATE(SPR_SNO1, 0, -1, {NULL}, 0, 0, S_NULL), // S_SNOW1 + STATE(SPR_SNO1, 1, -1, {NULL}, 0, 0, S_NULL), // S_SNOW2 + STATE(SPR_SNO1, 2, -1, {NULL}, 0, 0, S_NULL), // S_SNOW3 // Water Splish - {SPR_SPLH, FF_TRANS50 , 2, {NULL}, 0, 0, S_SPLISH2}, // S_SPLISH1 - {SPR_SPLH, FF_TRANS50|1, 2, {NULL}, 0, 0, S_SPLISH3}, // S_SPLISH2 - {SPR_SPLH, FF_TRANS50|2, 2, {NULL}, 0, 0, S_SPLISH4}, // S_SPLISH3 - {SPR_SPLH, FF_TRANS50|3, 2, {NULL}, 0, 0, S_SPLISH5}, // S_SPLISH4 - {SPR_SPLH, FF_TRANS50|4, 2, {NULL}, 0, 0, S_SPLISH6}, // S_SPLISH5 - {SPR_SPLH, FF_TRANS50|5, 2, {NULL}, 0, 0, S_SPLISH7}, // S_SPLISH6 - {SPR_SPLH, FF_TRANS50|6, 2, {NULL}, 0, 0, S_SPLISH8}, // S_SPLISH7 - {SPR_SPLH, FF_TRANS50|7, 2, {NULL}, 0, 0, S_SPLISH9}, // S_SPLISH8 - {SPR_SPLH, FF_TRANS50|8, 2, {NULL}, 0, 0, S_NULL}, // S_SPLISH9 + STATE(SPR_SPLH, FF_TRANS50 , 2, {NULL}, 0, 0, S_SPLISH2), // S_SPLISH1 + STATE(SPR_SPLH, FF_TRANS50|1, 2, {NULL}, 0, 0, S_SPLISH3), // S_SPLISH2 + STATE(SPR_SPLH, FF_TRANS50|2, 2, {NULL}, 0, 0, S_SPLISH4), // S_SPLISH3 + STATE(SPR_SPLH, FF_TRANS50|3, 2, {NULL}, 0, 0, S_SPLISH5), // S_SPLISH4 + STATE(SPR_SPLH, FF_TRANS50|4, 2, {NULL}, 0, 0, S_SPLISH6), // S_SPLISH5 + STATE(SPR_SPLH, FF_TRANS50|5, 2, {NULL}, 0, 0, S_SPLISH7), // S_SPLISH6 + STATE(SPR_SPLH, FF_TRANS50|6, 2, {NULL}, 0, 0, S_SPLISH8), // S_SPLISH7 + STATE(SPR_SPLH, FF_TRANS50|7, 2, {NULL}, 0, 0, S_SPLISH9), // S_SPLISH8 + STATE(SPR_SPLH, FF_TRANS50|8, 2, {NULL}, 0, 0, S_NULL), // S_SPLISH9 // Lava splish - {SPR_LSPL, FF_ANIMATE, 16, {NULL}, 7, 2, S_NULL}, // S_LAVASPLISH + STATE(SPR_LSPL, FF_ANIMATE, 16, {NULL}, 7, 2, S_NULL), // S_LAVASPLISH // Water Splash - {SPR_SPLA, FF_TRANS50 , 3, {NULL}, 0, 0, S_SPLASH2}, // S_SPLASH1 - {SPR_SPLA, FF_TRANS70|1, 3, {NULL}, 0, 0, S_SPLASH3}, // S_SPLASH2 - {SPR_SPLA, FF_TRANS90|2, 3, {NULL}, 0, 0, S_RAINRETURN}, // S_SPLASH3 + STATE(SPR_SPLA, FF_TRANS50 , 3, {NULL}, 0, 0, S_SPLASH2), // S_SPLASH1 + STATE(SPR_SPLA, FF_TRANS70|1, 3, {NULL}, 0, 0, S_SPLASH3), // S_SPLASH2 + STATE(SPR_SPLA, FF_TRANS90|2, 3, {NULL}, 0, 0, S_RAINRETURN), // S_SPLASH3 // Smoke - {SPR_SMOK, FF_TRANS50 , 4, {NULL}, 0, 0, S_SMOKE2}, // S_SMOKE1 - {SPR_SMOK, FF_TRANS50|1, 5, {NULL}, 0, 0, S_SMOKE3}, // S_SMOKE2 - {SPR_SMOK, FF_TRANS50|2, 6, {NULL}, 0, 0, S_SMOKE4}, // S_SMOKE3 - {SPR_SMOK, FF_TRANS50|3, 7, {NULL}, 0, 0, S_SMOKE5}, // S_SMOKE4 - {SPR_SMOK, FF_TRANS50|4, 8, {NULL}, 0, 0, S_NULL}, // S_SMOKE5 + STATE(SPR_SMOK, FF_TRANS50 , 4, {NULL}, 0, 0, S_SMOKE2), // S_SMOKE1 + STATE(SPR_SMOK, FF_TRANS50|1, 5, {NULL}, 0, 0, S_SMOKE3), // S_SMOKE2 + STATE(SPR_SMOK, FF_TRANS50|2, 6, {NULL}, 0, 0, S_SMOKE4), // S_SMOKE3 + STATE(SPR_SMOK, FF_TRANS50|3, 7, {NULL}, 0, 0, S_SMOKE5), // S_SMOKE4 + STATE(SPR_SMOK, FF_TRANS50|4, 8, {NULL}, 0, 0, S_NULL), // S_SMOKE5 // Bubbles - {SPR_BUBL, FF_TRANS50, 1, {A_BubbleRise}, 0, 1024, S_SMALLBUBBLE}, // S_SMALLBUBBLE - {SPR_BUBL, FF_TRANS50|1, 1, {A_BubbleRise}, 0, 1024, S_MEDIUMBUBBLE}, // S_MEDIUMBUBBLE + STATE(SPR_BUBL, FF_TRANS50, 1, {A_BubbleRise}, 0, 1024, S_SMALLBUBBLE), // S_SMALLBUBBLE + STATE(SPR_BUBL, FF_TRANS50|1, 1, {A_BubbleRise}, 0, 1024, S_MEDIUMBUBBLE), // S_MEDIUMBUBBLE // Extra Large Bubble (breathable) - {SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|2, 8, {A_BubbleRise}, 0, 1024, S_LARGEBUBBLE2}, // S_LARGEBUBBLE1 - {SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|3, 8, {A_BubbleRise}, 0, 1024, S_EXTRALARGEBUBBLE}, // S_LARGEBUBBLE2 - {SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|4, 16, {A_BubbleRise}, 0, 1024, S_EXTRALARGEBUBBLE}, // S_EXTRALARGEBUBBLE + STATE(SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|2, 8, {A_BubbleRise}, 0, 1024, S_LARGEBUBBLE2), // S_LARGEBUBBLE1 + STATE(SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|3, 8, {A_BubbleRise}, 0, 1024, S_EXTRALARGEBUBBLE), // S_LARGEBUBBLE2 + STATE(SPR_BUBL, FF_TRANS50|FF_FULLBRIGHT|4, 16, {A_BubbleRise}, 0, 1024, S_EXTRALARGEBUBBLE), // S_EXTRALARGEBUBBLE // Extra Large Bubble goes POP! - {SPR_BUBL, 5, 16, {NULL}, 0, 0, S_NULL}, // S_POP1 + STATE(SPR_BUBL, 5, 16, {NULL}, 0, 0, S_NULL), // S_POP1 - {SPR_WZAP, FF_TRANS10|FF_ANIMATE|FF_RANDOMANIM, 4, {NULL}, 3, 2, S_NULL}, // S_WATERZAP + STATE(SPR_WZAP, FF_TRANS10|FF_ANIMATE|FF_RANDOMANIM, 4, {NULL}, 3, 2, S_NULL), // S_WATERZAP // Spindash dust - {SPR_DUST, 0, 7, {NULL}, 0, 0, S_SPINDUST2}, // S_SPINDUST1 - {SPR_DUST, 1, 6, {NULL}, 0, 0, S_SPINDUST3}, // S_SPINDUST2 - {SPR_DUST, FF_TRANS30|2, 4, {NULL}, 0, 0, S_SPINDUST4}, // S_SPINDUST3 - {SPR_DUST, FF_TRANS60|3, 3, {NULL}, 0, 0, S_NULL}, // S_SPINDUST4 - {SPR_BUBL, 0, 7, {NULL}, 0, 0, S_SPINDUST_BUBBLE2}, // S_SPINDUST_BUBBLE1 - {SPR_BUBL, 0, 6, {NULL}, 0, 0, S_SPINDUST_BUBBLE3}, // S_SPINDUST_BUBBLE2 - {SPR_BUBL, FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_BUBBLE4}, // S_SPINDUST_BUBBLE3 - {SPR_BUBL, FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL}, // S_SPINDUST_BUBBLE4 - {SPR_FPRT, FF_FULLBRIGHT|0, 7, {NULL}, 0, 0, S_SPINDUST_FIRE2}, // S_SPINDUST_FIRE1 - {SPR_FPRT, FF_FULLBRIGHT|0, 6, {NULL}, 0, 0, S_SPINDUST_FIRE3}, // S_SPINDUST_FIRE2 - {SPR_FPRT, FF_FULLBRIGHT|FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_FIRE4}, // S_SPINDUST_FIRE3 - {SPR_FPRT, FF_FULLBRIGHT|FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL}, // S_SPINDUST_FIRE4 - - - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50, 2, {NULL}, 0, 0, S_FOG2}, // S_FOG1 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|1, 2, {NULL}, 0, 0, S_FOG3}, // S_FOG2 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|2, 2, {NULL}, 0, 0, S_FOG4}, // S_FOG3 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|3, 2, {NULL}, 0, 0, S_FOG5}, // S_FOG4 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|4, 2, {NULL}, 0, 0, S_FOG6}, // S_FOG5 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|5, 2, {NULL}, 0, 0, S_FOG7}, // S_FOG6 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|6, 2, {NULL}, 0, 0, S_FOG8}, // S_FOG7 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|7, 2, {NULL}, 0, 0, S_FOG9}, // S_FOG8 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|8, 2, {NULL}, 0, 0, S_FOG10}, // S_FOG9 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|9, 2, {NULL}, 0, 0, S_FOG11}, // S_FOG10 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|10, 2, {NULL}, 0, 0, S_FOG12}, // S_FOG11 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|11, 2, {NULL}, 0, 0, S_FOG13}, // S_FOG12 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|12, 2, {NULL}, 0, 0, S_FOG14}, // S_FOG13 - {SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|13, 2, {NULL}, 0, 0, S_NULL}, // S_FOG14 + STATE(SPR_DUST, 0, 7, {NULL}, 0, 0, S_SPINDUST2), // S_SPINDUST1 + STATE(SPR_DUST, 1, 6, {NULL}, 0, 0, S_SPINDUST3), // S_SPINDUST2 + STATE(SPR_DUST, FF_TRANS30|2, 4, {NULL}, 0, 0, S_SPINDUST4), // S_SPINDUST3 + STATE(SPR_DUST, FF_TRANS60|3, 3, {NULL}, 0, 0, S_NULL), // S_SPINDUST4 + STATE(SPR_BUBL, 0, 7, {NULL}, 0, 0, S_SPINDUST_BUBBLE2), // S_SPINDUST_BUBBLE1 + STATE(SPR_BUBL, 0, 6, {NULL}, 0, 0, S_SPINDUST_BUBBLE3), // S_SPINDUST_BUBBLE2 + STATE(SPR_BUBL, FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_BUBBLE4), // S_SPINDUST_BUBBLE3 + STATE(SPR_BUBL, FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL), // S_SPINDUST_BUBBLE4 + STATE(SPR_FPRT, FF_FULLBRIGHT|0, 7, {NULL}, 0, 0, S_SPINDUST_FIRE2), // S_SPINDUST_FIRE1 + STATE(SPR_FPRT, FF_FULLBRIGHT|0, 6, {NULL}, 0, 0, S_SPINDUST_FIRE3), // S_SPINDUST_FIRE2 + STATE(SPR_FPRT, FF_FULLBRIGHT|FF_TRANS30|0, 4, {NULL}, 0, 0, S_SPINDUST_FIRE4), // S_SPINDUST_FIRE3 + STATE(SPR_FPRT, FF_FULLBRIGHT|FF_TRANS60|0, 3, {NULL}, 0, 0, S_NULL), // S_SPINDUST_FIRE4 + + + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50, 2, {NULL}, 0, 0, S_FOG2), // S_FOG1 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|1, 2, {NULL}, 0, 0, S_FOG3), // S_FOG2 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|2, 2, {NULL}, 0, 0, S_FOG4), // S_FOG3 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|3, 2, {NULL}, 0, 0, S_FOG5), // S_FOG4 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|4, 2, {NULL}, 0, 0, S_FOG6), // S_FOG5 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|5, 2, {NULL}, 0, 0, S_FOG7), // S_FOG6 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|6, 2, {NULL}, 0, 0, S_FOG8), // S_FOG7 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|7, 2, {NULL}, 0, 0, S_FOG9), // S_FOG8 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|8, 2, {NULL}, 0, 0, S_FOG10), // S_FOG9 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|9, 2, {NULL}, 0, 0, S_FOG11), // S_FOG10 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|10, 2, {NULL}, 0, 0, S_FOG12), // S_FOG11 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|11, 2, {NULL}, 0, 0, S_FOG13), // S_FOG12 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|12, 2, {NULL}, 0, 0, S_FOG14), // S_FOG13 + STATE(SPR_TFOG, FF_FULLBRIGHT|FF_TRANS50|13, 2, {NULL}, 0, 0, S_NULL), // S_FOG14 // Flower Seed - {SPR_SEED, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 2, 2, S_NULL}, // S_SEED + STATE(SPR_SEED, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 2, 2, S_NULL), // S_SEED // Particle sprite - {SPR_PRTL, 0, 2*TICRATE, {NULL}, 0, 0, S_NULL}, // S_PARTICLE - - {SPR_SCOR, 0, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRA - 100 - {SPR_SCOR, 1, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRB - 200 - {SPR_SCOR, 2, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRC - 500 - {SPR_SCOR, 3, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRD - 1000 - {SPR_SCOR, 4, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRE - 10000 - {SPR_SCOR, 5, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRF - 400 (mario mode) - {SPR_SCOR, 6, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRG - 800 (mario mode) - {SPR_SCOR, 7, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRH - 2000 (mario mode) - {SPR_SCOR, 8, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRI - 4000 (mario mode) - {SPR_SCOR, 9, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRJ - 8000 (mario mode) - {SPR_SCOR, 10, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRK - 1UP (mario mode) - {SPR_SCOR, 11, 32, {A_ScoreRise}, 0, 0, S_NULL}, // S_SCRL - 10 + STATE(SPR_PRTL, 0, 2*TICRATE, {NULL}, 0, 0, S_NULL), // S_PARTICLE + + STATE(SPR_SCOR, 0, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRA - 100 + STATE(SPR_SCOR, 1, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRB - 200 + STATE(SPR_SCOR, 2, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRC - 500 + STATE(SPR_SCOR, 3, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRD - 1000 + STATE(SPR_SCOR, 4, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRE - 10000 + STATE(SPR_SCOR, 5, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRF - 400 (mario mode) + STATE(SPR_SCOR, 6, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRG - 800 (mario mode) + STATE(SPR_SCOR, 7, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRH - 2000 (mario mode) + STATE(SPR_SCOR, 8, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRI - 4000 (mario mode) + STATE(SPR_SCOR, 9, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRJ - 8000 (mario mode) + STATE(SPR_SCOR, 10, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRK - 1UP (mario mode) + STATE(SPR_SCOR, 11, 32, {A_ScoreRise}, 0, 0, S_NULL), // S_SCRL - 10 // Drowning Timer Numbers - {SPR_DRWN, 0, 40, {NULL}, 0, 0, S_NULL}, // S_ZERO1 - {SPR_DRWN, 1, 40, {NULL}, 0, 0, S_NULL}, // S_ONE1 - {SPR_DRWN, 2, 40, {NULL}, 0, 0, S_NULL}, // S_TWO1 - {SPR_DRWN, 3, 40, {NULL}, 0, 0, S_NULL}, // S_THREE1 - {SPR_DRWN, 4, 40, {NULL}, 0, 0, S_NULL}, // S_FOUR1 - {SPR_DRWN, 5, 40, {NULL}, 0, 0, S_NULL}, // S_FIVE1 - - {SPR_DRWN, 6, 40, {NULL}, 0, 0, S_NULL}, // S_ZERO2 - {SPR_DRWN, 7, 40, {NULL}, 0, 0, S_NULL}, // S_ONE2 - {SPR_DRWN, 8, 40, {NULL}, 0, 0, S_NULL}, // S_TWO2 - {SPR_DRWN, 9, 40, {NULL}, 0, 0, S_NULL}, // S_THREE2 - {SPR_DRWN, 10, 40, {NULL}, 0, 0, S_NULL}, // S_FOUR2 - {SPR_DRWN, 11, 40, {NULL}, 0, 0, S_NULL}, // S_FIVE2 + STATE(SPR_DRWN, 0, 40, {NULL}, 0, 0, S_NULL), // S_ZERO1 + STATE(SPR_DRWN, 1, 40, {NULL}, 0, 0, S_NULL), // S_ONE1 + STATE(SPR_DRWN, 2, 40, {NULL}, 0, 0, S_NULL), // S_TWO1 + STATE(SPR_DRWN, 3, 40, {NULL}, 0, 0, S_NULL), // S_THREE1 + STATE(SPR_DRWN, 4, 40, {NULL}, 0, 0, S_NULL), // S_FOUR1 + STATE(SPR_DRWN, 5, 40, {NULL}, 0, 0, S_NULL), // S_FIVE1 + + STATE(SPR_DRWN, 6, 40, {NULL}, 0, 0, S_NULL), // S_ZERO2 + STATE(SPR_DRWN, 7, 40, {NULL}, 0, 0, S_NULL), // S_ONE2 + STATE(SPR_DRWN, 8, 40, {NULL}, 0, 0, S_NULL), // S_TWO2 + STATE(SPR_DRWN, 9, 40, {NULL}, 0, 0, S_NULL), // S_THREE2 + STATE(SPR_DRWN, 10, 40, {NULL}, 0, 0, S_NULL), // S_FOUR2 + STATE(SPR_DRWN, 11, 40, {NULL}, 0, 0, S_NULL), // S_FIVE2 // Flight indicator - {SPR_FLII, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 4, S_NULL}, // S_FLIGHTINDICATOR + STATE(SPR_FLII, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 4, S_NULL), // S_FLIGHTINDICATOR - {SPR_LCKN, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_LOCKON1 - {SPR_LCKN, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_LOCKON2 - {SPR_LCKN, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_LOCKON3 - {SPR_LCKN, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_LOCKON4 + STATE(SPR_LCKN, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_LOCKON1 + STATE(SPR_LCKN, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_LOCKON2 + STATE(SPR_LCKN, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_LOCKON3 + STATE(SPR_LCKN, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_LOCKON4 - {SPR_LCKN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_LOCKONINF1 - {SPR_LCKN, 1|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_LOCKONINF2 - {SPR_LCKN, 2|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_LOCKONINF3 - {SPR_LCKN, 3|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_LOCKONINF4 + STATE(SPR_LCKN, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_LOCKONINF1 + STATE(SPR_LCKN, 1|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_LOCKONINF2 + STATE(SPR_LCKN, 2|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_LOCKONINF3 + STATE(SPR_LCKN, 3|FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_LOCKONINF4 - {SPR_TTAG, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL}, // S_TTAG + STATE(SPR_TTAG, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL), // S_TTAG // CTF Sign - {SPR_GFLG, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL}, // S_GOTFLAG + STATE(SPR_GFLG, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL), // S_GOTFLAG // Finish flag - {SPR_FNSF, FF_TRANS30, -1, {NULL}, 0, 0, S_NULL}, // S_FINISHFLAG + STATE(SPR_FNSF, FF_TRANS30, -1, {NULL}, 0, 0, S_NULL), // S_FINISHFLAG - {SPR_CORK, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CORK - {SPR_LHRT, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_LHRT + STATE(SPR_CORK, 0, -1, {NULL}, 0, 0, S_NULL), // S_CORK + STATE(SPR_LHRT, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_LHRT // Red Rings (thrown) - {SPR_RRNG, FF_FULLBRIGHT, 1, {A_ThrownRing}, 0, 0, S_RRNG2}, // S_RRNG1 - {SPR_RRNG, FF_FULLBRIGHT|1, 1, {A_ThrownRing}, 0, 0, S_RRNG3}, // S_RRNG2 - {SPR_RRNG, FF_FULLBRIGHT|2, 1, {A_ThrownRing}, 0, 0, S_RRNG4}, // S_RRNG3 - {SPR_RRNG, FF_FULLBRIGHT|3, 1, {A_ThrownRing}, 0, 0, S_RRNG5}, // S_RRNG4 - {SPR_RRNG, FF_FULLBRIGHT|4, 1, {A_ThrownRing}, 0, 0, S_RRNG6}, // S_RRNG5 - {SPR_RRNG, FF_FULLBRIGHT|5, 1, {A_ThrownRing}, 0, 0, S_RRNG7}, // S_RRNG6 - {SPR_RRNG, FF_FULLBRIGHT|6, 1, {A_ThrownRing}, 0, 0, S_RRNG1}, // S_RRNG7 + STATE(SPR_RRNG, FF_FULLBRIGHT, 1, {A_ThrownRing}, 0, 0, S_RRNG2), // S_RRNG1 + STATE(SPR_RRNG, FF_FULLBRIGHT|1, 1, {A_ThrownRing}, 0, 0, S_RRNG3), // S_RRNG2 + STATE(SPR_RRNG, FF_FULLBRIGHT|2, 1, {A_ThrownRing}, 0, 0, S_RRNG4), // S_RRNG3 + STATE(SPR_RRNG, FF_FULLBRIGHT|3, 1, {A_ThrownRing}, 0, 0, S_RRNG5), // S_RRNG4 + STATE(SPR_RRNG, FF_FULLBRIGHT|4, 1, {A_ThrownRing}, 0, 0, S_RRNG6), // S_RRNG5 + STATE(SPR_RRNG, FF_FULLBRIGHT|5, 1, {A_ThrownRing}, 0, 0, S_RRNG7), // S_RRNG6 + STATE(SPR_RRNG, FF_FULLBRIGHT|6, 1, {A_ThrownRing}, 0, 0, S_RRNG1), // S_RRNG7 // Weapon Ring Ammo - {SPR_RNGB, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_BOUNCERINGAMMO}, // S_BOUNCERINGAMMO - {SPR_RNGR, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_RAILRINGAMMO}, // S_RAILRINGAMMO - {SPR_RNGI, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_INFINITYRINGAMMO}, // S_INFINITYRINGAMMO - {SPR_RNGA, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_AUTOMATICRINGAMMO}, // S_AUTOMATICRINGAMMO - {SPR_RNGE, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_EXPLOSIONRINGAMMO}, // S_EXPLOSIONRINGAMMO - {SPR_RNGS, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_SCATTERRINGAMMO}, // S_SCATTERRINGAMMO - {SPR_RNGG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_GRENADERINGAMMO}, // S_GRENADERINGAMMO + STATE(SPR_RNGB, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_BOUNCERINGAMMO), // S_BOUNCERINGAMMO + STATE(SPR_RNGR, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_RAILRINGAMMO), // S_RAILRINGAMMO + STATE(SPR_RNGI, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_INFINITYRINGAMMO), // S_INFINITYRINGAMMO + STATE(SPR_RNGA, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_AUTOMATICRINGAMMO), // S_AUTOMATICRINGAMMO + STATE(SPR_RNGE, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_EXPLOSIONRINGAMMO), // S_EXPLOSIONRINGAMMO + STATE(SPR_RNGS, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_SCATTERRINGAMMO), // S_SCATTERRINGAMMO + STATE(SPR_RNGG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 34, 1, S_GRENADERINGAMMO), // S_GRENADERINGAMMO // Bounce Ring Pickup - {SPR_PIKB, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_BOUNCEPICKUP}, // S_BOUNCEPICKUP + STATE(SPR_PIKB, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_BOUNCEPICKUP), // S_BOUNCEPICKUP - {SPR_PIKB, 0, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE2}, // S_BOUNCEPICKUPFADE1 - {SPR_PIKB, 2, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE3}, // S_BOUNCEPICKUPFADE2 - {SPR_PIKB, 4, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE4}, // S_BOUNCEPICKUPFADE3 - {SPR_PIKB, 6, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE5}, // S_BOUNCEPICKUPFADE4 - {SPR_PIKB, 8, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE6}, // S_BOUNCEPICKUPFADE5 - {SPR_PIKB, 10, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE7}, // S_BOUNCEPICKUPFADE6 - {SPR_PIKB, 12, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE8}, // S_BOUNCEPICKUPFADE7 - {SPR_PIKB, 14, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE1}, // S_BOUNCEPICKUPFADE8 + STATE(SPR_PIKB, 0, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE2), // S_BOUNCEPICKUPFADE1 + STATE(SPR_PIKB, 2, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE3), // S_BOUNCEPICKUPFADE2 + STATE(SPR_PIKB, 4, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE4), // S_BOUNCEPICKUPFADE3 + STATE(SPR_PIKB, 6, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE5), // S_BOUNCEPICKUPFADE4 + STATE(SPR_PIKB, 8, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE6), // S_BOUNCEPICKUPFADE5 + STATE(SPR_PIKB, 10, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE7), // S_BOUNCEPICKUPFADE6 + STATE(SPR_PIKB, 12, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE8), // S_BOUNCEPICKUPFADE7 + STATE(SPR_PIKB, 14, 1, {NULL}, 0, 0, S_BOUNCEPICKUPFADE1), // S_BOUNCEPICKUPFADE8 // Rail Ring Pickup - {SPR_PIKR, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_RAILPICKUP}, // S_RAILPICKUP + STATE(SPR_PIKR, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_RAILPICKUP), // S_RAILPICKUP - {SPR_PIKR, 0, 1, {NULL}, 0, 0, S_RAILPICKUPFADE2}, // S_RAILPICKUPFADE1 - {SPR_PIKR, 2, 1, {NULL}, 0, 0, S_RAILPICKUPFADE3}, // S_RAILPICKUPFADE2 - {SPR_PIKR, 4, 1, {NULL}, 0, 0, S_RAILPICKUPFADE4}, // S_RAILPICKUPFADE3 - {SPR_PIKR, 6, 1, {NULL}, 0, 0, S_RAILPICKUPFADE5}, // S_RAILPICKUPFADE4 - {SPR_PIKR, 8, 1, {NULL}, 0, 0, S_RAILPICKUPFADE6}, // S_RAILPICKUPFADE5 - {SPR_PIKR, 10, 1, {NULL}, 0, 0, S_RAILPICKUPFADE7}, // S_RAILPICKUPFADE6 - {SPR_PIKR, 12, 1, {NULL}, 0, 0, S_RAILPICKUPFADE8}, // S_RAILPICKUPFADE7 - {SPR_PIKR, 14, 1, {NULL}, 0, 0, S_RAILPICKUPFADE1}, // S_RAILPICKUPFADE8 + STATE(SPR_PIKR, 0, 1, {NULL}, 0, 0, S_RAILPICKUPFADE2), // S_RAILPICKUPFADE1 + STATE(SPR_PIKR, 2, 1, {NULL}, 0, 0, S_RAILPICKUPFADE3), // S_RAILPICKUPFADE2 + STATE(SPR_PIKR, 4, 1, {NULL}, 0, 0, S_RAILPICKUPFADE4), // S_RAILPICKUPFADE3 + STATE(SPR_PIKR, 6, 1, {NULL}, 0, 0, S_RAILPICKUPFADE5), // S_RAILPICKUPFADE4 + STATE(SPR_PIKR, 8, 1, {NULL}, 0, 0, S_RAILPICKUPFADE6), // S_RAILPICKUPFADE5 + STATE(SPR_PIKR, 10, 1, {NULL}, 0, 0, S_RAILPICKUPFADE7), // S_RAILPICKUPFADE6 + STATE(SPR_PIKR, 12, 1, {NULL}, 0, 0, S_RAILPICKUPFADE8), // S_RAILPICKUPFADE7 + STATE(SPR_PIKR, 14, 1, {NULL}, 0, 0, S_RAILPICKUPFADE1), // S_RAILPICKUPFADE8 // Auto Ring Pickup - {SPR_PIKA, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_AUTOPICKUP}, // S_AUTOPICKUP + STATE(SPR_PIKA, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_AUTOPICKUP), // S_AUTOPICKUP - {SPR_PIKA, 0, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE2}, // S_AUTOPICKUPFADE1 - {SPR_PIKA, 2, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE3}, // S_AUTOPICKUPFADE2 - {SPR_PIKA, 4, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE4}, // S_AUTOPICKUPFADE3 - {SPR_PIKA, 6, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE5}, // S_AUTOPICKUPFADE4 - {SPR_PIKA, 8, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE6}, // S_AUTOPICKUPFADE5 - {SPR_PIKA, 10, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE7}, // S_AUTOPICKUPFADE6 - {SPR_PIKA, 12, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE8}, // S_AUTOPICKUPFADE7 - {SPR_PIKA, 14, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE1}, // S_AUTOPICKUPFADE8 + STATE(SPR_PIKA, 0, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE2), // S_AUTOPICKUPFADE1 + STATE(SPR_PIKA, 2, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE3), // S_AUTOPICKUPFADE2 + STATE(SPR_PIKA, 4, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE4), // S_AUTOPICKUPFADE3 + STATE(SPR_PIKA, 6, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE5), // S_AUTOPICKUPFADE4 + STATE(SPR_PIKA, 8, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE6), // S_AUTOPICKUPFADE5 + STATE(SPR_PIKA, 10, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE7), // S_AUTOPICKUPFADE6 + STATE(SPR_PIKA, 12, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE8), // S_AUTOPICKUPFADE7 + STATE(SPR_PIKA, 14, 1, {NULL}, 0, 0, S_AUTOPICKUPFADE1), // S_AUTOPICKUPFADE8 // Explode Ring Pickup - {SPR_PIKE, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_EXPLODEPICKUP}, // S_EXPLODEPICKUP + STATE(SPR_PIKE, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_EXPLODEPICKUP), // S_EXPLODEPICKUP - {SPR_PIKE, 0, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE2}, // S_EXPLODEPICKUPFADE1 - {SPR_PIKE, 2, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE3}, // S_EXPLODEPICKUPFADE2 - {SPR_PIKE, 4, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE4}, // S_EXPLODEPICKUPFADE3 - {SPR_PIKE, 6, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE5}, // S_EXPLODEPICKUPFADE4 - {SPR_PIKE, 8, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE6}, // S_EXPLODEPICKUPFADE5 - {SPR_PIKE, 10, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE7}, // S_EXPLODEPICKUPFADE6 - {SPR_PIKE, 12, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE8}, // S_EXPLODEPICKUPFADE7 - {SPR_PIKE, 14, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE1}, // S_EXPLODEPICKUPFADE8 + STATE(SPR_PIKE, 0, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE2), // S_EXPLODEPICKUPFADE1 + STATE(SPR_PIKE, 2, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE3), // S_EXPLODEPICKUPFADE2 + STATE(SPR_PIKE, 4, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE4), // S_EXPLODEPICKUPFADE3 + STATE(SPR_PIKE, 6, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE5), // S_EXPLODEPICKUPFADE4 + STATE(SPR_PIKE, 8, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE6), // S_EXPLODEPICKUPFADE5 + STATE(SPR_PIKE, 10, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE7), // S_EXPLODEPICKUPFADE6 + STATE(SPR_PIKE, 12, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE8), // S_EXPLODEPICKUPFADE7 + STATE(SPR_PIKE, 14, 1, {NULL}, 0, 0, S_EXPLODEPICKUPFADE1), // S_EXPLODEPICKUPFADE8 // Scatter Ring Pickup - {SPR_PIKS, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_SCATTERPICKUP}, // S_SCATTERPICKUP + STATE(SPR_PIKS, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_SCATTERPICKUP), // S_SCATTERPICKUP - {SPR_PIKS, 0, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE2}, // S_SCATTERPICKUPFADE1 - {SPR_PIKS, 2, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE3}, // S_SCATTERPICKUPFADE2 - {SPR_PIKS, 4, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE4}, // S_SCATTERPICKUPFADE3 - {SPR_PIKS, 6, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE5}, // S_SCATTERPICKUPFADE4 - {SPR_PIKS, 8, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE6}, // S_SCATTERPICKUPFADE5 - {SPR_PIKS, 10, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE7}, // S_SCATTERPICKUPFADE6 - {SPR_PIKS, 12, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE8}, // S_SCATTERPICKUPFADE7 - {SPR_PIKS, 14, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE1}, // S_SCATTERPICKUPFADE8 + STATE(SPR_PIKS, 0, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE2), // S_SCATTERPICKUPFADE1 + STATE(SPR_PIKS, 2, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE3), // S_SCATTERPICKUPFADE2 + STATE(SPR_PIKS, 4, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE4), // S_SCATTERPICKUPFADE3 + STATE(SPR_PIKS, 6, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE5), // S_SCATTERPICKUPFADE4 + STATE(SPR_PIKS, 8, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE6), // S_SCATTERPICKUPFADE5 + STATE(SPR_PIKS, 10, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE7), // S_SCATTERPICKUPFADE6 + STATE(SPR_PIKS, 12, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE8), // S_SCATTERPICKUPFADE7 + STATE(SPR_PIKS, 14, 1, {NULL}, 0, 0, S_SCATTERPICKUPFADE1), // S_SCATTERPICKUPFADE8 // Grenade Ring Pickup - {SPR_PIKG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_GRENADEPICKUP}, // S_GRENADEPICKUP + STATE(SPR_PIKG, FF_ANIMATE|FF_GLOBALANIM, -1, {NULL}, 15, 1, S_GRENADEPICKUP), // S_GRENADEPICKUP - {SPR_PIKG, 0, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE2}, // S_GRENADEPICKUPFADE1 - {SPR_PIKG, 2, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE3}, // S_GRENADEPICKUPFADE2 - {SPR_PIKG, 4, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE4}, // S_GRENADEPICKUPFADE3 - {SPR_PIKG, 6, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE5}, // S_GRENADEPICKUPFADE4 - {SPR_PIKG, 8, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE6}, // S_GRENADEPICKUPFADE5 - {SPR_PIKG, 10, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE7}, // S_GRENADEPICKUPFADE6 - {SPR_PIKG, 12, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE8}, // S_GRENADEPICKUPFADE7 - {SPR_PIKG, 14, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE1}, // S_GRENADEPICKUPFADE8 + STATE(SPR_PIKG, 0, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE2), // S_GRENADEPICKUPFADE1 + STATE(SPR_PIKG, 2, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE3), // S_GRENADEPICKUPFADE2 + STATE(SPR_PIKG, 4, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE4), // S_GRENADEPICKUPFADE3 + STATE(SPR_PIKG, 6, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE5), // S_GRENADEPICKUPFADE4 + STATE(SPR_PIKG, 8, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE6), // S_GRENADEPICKUPFADE5 + STATE(SPR_PIKG, 10, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE7), // S_GRENADEPICKUPFADE6 + STATE(SPR_PIKG, 12, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE8), // S_GRENADEPICKUPFADE7 + STATE(SPR_PIKG, 14, 1, {NULL}, 0, 0, S_GRENADEPICKUPFADE1), // S_GRENADEPICKUPFADE8 // Thrown Weapon Rings - {SPR_RNGB, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE2}, // S_THROWNBOUNCE1 - {SPR_RNGB, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE3}, // S_THROWNBOUNCE2 - {SPR_RNGB, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE4}, // S_THROWNBOUNCE3 - {SPR_RNGB, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE5}, // S_THROWNBOUNCE4 - {SPR_RNGB, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE6}, // S_THROWNBOUNCE5 - {SPR_RNGB, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE7}, // S_THROWNBOUNCE6 - {SPR_RNGB, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE1}, // S_THROWNBOUNCE7 - - {SPR_RNGI, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY2}, // S_THROWNINFINITY1 - {SPR_RNGI, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY3}, // S_THROWNINFINITY2 - {SPR_RNGI, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY4}, // S_THROWNINFINITY3 - {SPR_RNGI, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY5}, // S_THROWNINFINITY4 - {SPR_RNGI, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY6}, // S_THROWNINFINITY5 - {SPR_RNGI, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY7}, // S_THROWNINFINITY6 - {SPR_RNGI, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY1}, // S_THROWNINFINITY7 - - {SPR_TAUT, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC2}, // S_THROWNAUTOMATIC1 - {SPR_TAUT, FF_FULLBRIGHT|1, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC3}, // S_THROWNAUTOMATIC2 - {SPR_TAUT, FF_FULLBRIGHT|2, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC4}, // S_THROWNAUTOMATIC3 - {SPR_TAUT, FF_FULLBRIGHT|3, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC5}, // S_THROWNAUTOMATIC4 - {SPR_TAUT, FF_FULLBRIGHT|4, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC6}, // S_THROWNAUTOMATIC5 - {SPR_TAUT, FF_FULLBRIGHT|5, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC7}, // S_THROWNAUTOMATIC6 - {SPR_TAUT, FF_FULLBRIGHT|6, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC1}, // S_THROWNAUTOMATIC7 - - {SPR_RNGE, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION2}, // S_THROWNEXPLOSION1 - {SPR_RNGE, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION3}, // S_THROWNEXPLOSION2 - {SPR_RNGE, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION4}, // S_THROWNEXPLOSION3 - {SPR_RNGE, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION5}, // S_THROWNEXPLOSION4 - {SPR_RNGE, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION6}, // S_THROWNEXPLOSION5 - {SPR_RNGE, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION7}, // S_THROWNEXPLOSION6 - {SPR_RNGE, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION1}, // S_THROWNEXPLOSION7 - - {SPR_TGRE, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE2}, // S_THROWNGRENADE1 - {SPR_TGRE, FF_FULLBRIGHT| 1, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE3}, // S_THROWNGRENADE2 - {SPR_TGRE, FF_FULLBRIGHT| 2, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE4}, // S_THROWNGRENADE3 - {SPR_TGRE, FF_FULLBRIGHT| 3, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE5}, // S_THROWNGRENADE4 - {SPR_TGRE, FF_FULLBRIGHT| 4, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE6}, // S_THROWNGRENADE5 - {SPR_TGRE, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE7}, // S_THROWNGRENADE6 - {SPR_TGRE, FF_FULLBRIGHT| 6, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE8}, // S_THROWNGRENADE7 - {SPR_TGRE, FF_FULLBRIGHT| 7, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE9}, // S_THROWNGRENADE8 - {SPR_TGRE, FF_FULLBRIGHT| 8, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE10}, // S_THROWNGRENADE9 - {SPR_TGRE, FF_FULLBRIGHT| 9, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE11}, // S_THROWNGRENADE10 - {SPR_TGRE, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE12}, // S_THROWNGRENADE11 - {SPR_TGRE, FF_FULLBRIGHT|11, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE13}, // S_THROWNGRENADE12 - {SPR_TGRE, FF_FULLBRIGHT|12, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE14}, // S_THROWNGRENADE13 - {SPR_TGRE, FF_FULLBRIGHT|13, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE15}, // S_THROWNGRENADE14 - {SPR_TGRE, FF_FULLBRIGHT|14, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE16}, // S_THROWNGRENADE15 - {SPR_TGRE, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE17}, // S_THROWNGRENADE16 - {SPR_TGRE, FF_FULLBRIGHT|16, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE18}, // S_THROWNGRENADE17 - {SPR_TGRE, FF_FULLBRIGHT|17, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE1}, // S_THROWNGRENADE18 - - {SPR_TSCR, FF_FULLBRIGHT, 1, {A_ThrownRing}, 0, 0, S_THROWNSCATTER}, // S_THROWNSCATTER - - {SPR_NULL, 0, 1, {A_RingExplode}, 0, 0, S_XPLD1}, // S_RINGEXPLODE + STATE(SPR_RNGB, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE2), // S_THROWNBOUNCE1 + STATE(SPR_RNGB, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE3), // S_THROWNBOUNCE2 + STATE(SPR_RNGB, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE4), // S_THROWNBOUNCE3 + STATE(SPR_RNGB, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE5), // S_THROWNBOUNCE4 + STATE(SPR_RNGB, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE6), // S_THROWNBOUNCE5 + STATE(SPR_RNGB, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE7), // S_THROWNBOUNCE6 + STATE(SPR_RNGB, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNBOUNCE1), // S_THROWNBOUNCE7 + + STATE(SPR_RNGI, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY2), // S_THROWNINFINITY1 + STATE(SPR_RNGI, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY3), // S_THROWNINFINITY2 + STATE(SPR_RNGI, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY4), // S_THROWNINFINITY3 + STATE(SPR_RNGI, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY5), // S_THROWNINFINITY4 + STATE(SPR_RNGI, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY6), // S_THROWNINFINITY5 + STATE(SPR_RNGI, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY7), // S_THROWNINFINITY6 + STATE(SPR_RNGI, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNINFINITY1), // S_THROWNINFINITY7 + + STATE(SPR_TAUT, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC2), // S_THROWNAUTOMATIC1 + STATE(SPR_TAUT, FF_FULLBRIGHT|1, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC3), // S_THROWNAUTOMATIC2 + STATE(SPR_TAUT, FF_FULLBRIGHT|2, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC4), // S_THROWNAUTOMATIC3 + STATE(SPR_TAUT, FF_FULLBRIGHT|3, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC5), // S_THROWNAUTOMATIC4 + STATE(SPR_TAUT, FF_FULLBRIGHT|4, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC6), // S_THROWNAUTOMATIC5 + STATE(SPR_TAUT, FF_FULLBRIGHT|5, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC7), // S_THROWNAUTOMATIC6 + STATE(SPR_TAUT, FF_FULLBRIGHT|6, 1, {A_ThrownRing}, 0, 0, S_THROWNAUTOMATIC1), // S_THROWNAUTOMATIC7 + + STATE(SPR_RNGE, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION2), // S_THROWNEXPLOSION1 + STATE(SPR_RNGE, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION3), // S_THROWNEXPLOSION2 + STATE(SPR_RNGE, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION4), // S_THROWNEXPLOSION3 + STATE(SPR_RNGE, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION5), // S_THROWNEXPLOSION4 + STATE(SPR_RNGE, FF_FULLBRIGHT|20, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION6), // S_THROWNEXPLOSION5 + STATE(SPR_RNGE, FF_FULLBRIGHT|25, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION7), // S_THROWNEXPLOSION6 + STATE(SPR_RNGE, FF_FULLBRIGHT|30, 1, {A_ThrownRing}, 0, 0, S_THROWNEXPLOSION1), // S_THROWNEXPLOSION7 + + STATE(SPR_TGRE, FF_FULLBRIGHT , 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE2), // S_THROWNGRENADE1 + STATE(SPR_TGRE, FF_FULLBRIGHT| 1, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE3), // S_THROWNGRENADE2 + STATE(SPR_TGRE, FF_FULLBRIGHT| 2, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE4), // S_THROWNGRENADE3 + STATE(SPR_TGRE, FF_FULLBRIGHT| 3, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE5), // S_THROWNGRENADE4 + STATE(SPR_TGRE, FF_FULLBRIGHT| 4, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE6), // S_THROWNGRENADE5 + STATE(SPR_TGRE, FF_FULLBRIGHT| 5, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE7), // S_THROWNGRENADE6 + STATE(SPR_TGRE, FF_FULLBRIGHT| 6, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE8), // S_THROWNGRENADE7 + STATE(SPR_TGRE, FF_FULLBRIGHT| 7, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE9), // S_THROWNGRENADE8 + STATE(SPR_TGRE, FF_FULLBRIGHT| 8, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE10), // S_THROWNGRENADE9 + STATE(SPR_TGRE, FF_FULLBRIGHT| 9, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE11), // S_THROWNGRENADE10 + STATE(SPR_TGRE, FF_FULLBRIGHT|10, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE12), // S_THROWNGRENADE11 + STATE(SPR_TGRE, FF_FULLBRIGHT|11, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE13), // S_THROWNGRENADE12 + STATE(SPR_TGRE, FF_FULLBRIGHT|12, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE14), // S_THROWNGRENADE13 + STATE(SPR_TGRE, FF_FULLBRIGHT|13, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE15), // S_THROWNGRENADE14 + STATE(SPR_TGRE, FF_FULLBRIGHT|14, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE16), // S_THROWNGRENADE15 + STATE(SPR_TGRE, FF_FULLBRIGHT|15, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE17), // S_THROWNGRENADE16 + STATE(SPR_TGRE, FF_FULLBRIGHT|16, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE18), // S_THROWNGRENADE17 + STATE(SPR_TGRE, FF_FULLBRIGHT|17, 1, {A_ThrownRing}, 0, 0, S_THROWNGRENADE1), // S_THROWNGRENADE18 + + STATE(SPR_TSCR, FF_FULLBRIGHT, 1, {A_ThrownRing}, 0, 0, S_THROWNSCATTER), // S_THROWNSCATTER + + STATE(SPR_NULL, 0, 1, {A_RingExplode}, 0, 0, S_XPLD1), // S_RINGEXPLODE // Coin - {SPR_COIN, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_COIN2}, // S_COIN1 - {SPR_COIN, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_COIN3}, // S_COIN2 - {SPR_COIN, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_COIN1}, // S_COIN3 + STATE(SPR_COIN, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_COIN2), // S_COIN1 + STATE(SPR_COIN, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_COIN3), // S_COIN2 + STATE(SPR_COIN, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_COIN1), // S_COIN3 // Coin Sparkle - {SPR_CPRK, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_COINSPARKLE2}, // S_COINSPARKLE1 - {SPR_CPRK, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_COINSPARKLE3}, // S_COINSPARKLE2 - {SPR_CPRK, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_COINSPARKLE4}, // S_COINSPARKLE3 - {SPR_CPRK, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_NULL}, // S_COINSPARKLE4 + STATE(SPR_CPRK, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_COINSPARKLE2), // S_COINSPARKLE1 + STATE(SPR_CPRK, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_COINSPARKLE3), // S_COINSPARKLE2 + STATE(SPR_CPRK, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_COINSPARKLE4), // S_COINSPARKLE3 + STATE(SPR_CPRK, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_NULL), // S_COINSPARKLE4 // Goomba - {SPR_GOOM, 0, 6, {A_Look}, 0, 0, S_GOOMBA1B}, // S_GOOMBA1 - {SPR_GOOM, 1, 6, {A_Look}, 0, 0, S_GOOMBA1}, // S_GOOMBA1B - {SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA3}, // S_GOOMBA2 - {SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA4}, // S_GOOMBA3 - {SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA5}, // S_GOOMBA4 - {SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA6}, // S_GOOMBA5 - {SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA7}, // S_GOOMBA6 - {SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA8}, // S_GOOMBA7 - {SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA9}, // S_GOOMBA8 - {SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA2}, // S_GOOMBA9 - {SPR_GOOM, 2, 16, {A_Scream}, 0, 0, S_NULL}, // S_GOOMBA_DEAD + STATE(SPR_GOOM, 0, 6, {A_Look}, 0, 0, S_GOOMBA1B), // S_GOOMBA1 + STATE(SPR_GOOM, 1, 6, {A_Look}, 0, 0, S_GOOMBA1), // S_GOOMBA1B + STATE(SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA3), // S_GOOMBA2 + STATE(SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA4), // S_GOOMBA3 + STATE(SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA5), // S_GOOMBA4 + STATE(SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA6), // S_GOOMBA5 + STATE(SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA7), // S_GOOMBA6 + STATE(SPR_GOOM, 0, 3, {A_Chase}, 0, 0, S_GOOMBA8), // S_GOOMBA7 + STATE(SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA9), // S_GOOMBA8 + STATE(SPR_GOOM, 1, 3, {A_Chase}, 0, 0, S_GOOMBA2), // S_GOOMBA9 + STATE(SPR_GOOM, 2, 16, {A_Scream}, 0, 0, S_NULL), // S_GOOMBA_DEAD // Blue Goomba - {SPR_BGOM, 0, 6, {A_Look}, 0, 0, S_BLUEGOOMBA1B}, // BLUEGOOMBA1 - {SPR_BGOM, 1, 6, {A_Look}, 0, 0, S_BLUEGOOMBA1}, // BLUEGOOMBA1B - {SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA3}, // S_BLUEGOOMBA2 - {SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA4}, // S_BLUEGOOMBA3 - {SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA5}, // S_BLUEGOOMBA4 - {SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA6}, // S_BLUEGOOMBA5 - {SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA7}, // S_BLUEGOOMBA6 - {SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA8}, // S_BLUEGOOMBA7 - {SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA9}, // S_BLUEGOOMBA8 - {SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA2}, // S_BLUEGOOMBA9 - {SPR_BGOM, 2, 16, {A_Scream}, 0, 0, S_NULL}, // S_BLUEGOOMBA_DEAD + STATE(SPR_BGOM, 0, 6, {A_Look}, 0, 0, S_BLUEGOOMBA1B), // S_BLUEGOOMBA1 + STATE(SPR_BGOM, 1, 6, {A_Look}, 0, 0, S_BLUEGOOMBA1), // S_BLUEGOOMBA1B + STATE(SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA3), // S_BLUEGOOMBA2 + STATE(SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA4), // S_BLUEGOOMBA3 + STATE(SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA5), // S_BLUEGOOMBA4 + STATE(SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA6), // S_BLUEGOOMBA5 + STATE(SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA7), // S_BLUEGOOMBA6 + STATE(SPR_BGOM, 0, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA8), // S_BLUEGOOMBA7 + STATE(SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA9), // S_BLUEGOOMBA8 + STATE(SPR_BGOM, 1, 3, {A_Chase}, 0, 0, S_BLUEGOOMBA2), // S_BLUEGOOMBA9 + STATE(SPR_BGOM, 2, 16, {A_Scream}, 0, 0, S_NULL), // S_BLUEGOOMBA_DEAD // Fire Flower - {SPR_FFWR, 0, 3, {NULL}, 0, 0, S_FIREFLOWER2}, // S_FIREFLOWER1 - {SPR_FFWR, 1, 3, {NULL}, 0, 0, S_FIREFLOWER3}, // S_FIREFLOWER2 - {SPR_FFWR, 2, 3, {NULL}, 0, 0, S_FIREFLOWER4}, // S_FIREFLOWER3 - {SPR_FFWR, 3, 3, {NULL}, 0, 0, S_FIREFLOWER1}, // S_FIREFLOWER4 + STATE(SPR_FFWR, 0, 3, {NULL}, 0, 0, S_FIREFLOWER2), // S_FIREFLOWER1 + STATE(SPR_FFWR, 1, 3, {NULL}, 0, 0, S_FIREFLOWER3), // S_FIREFLOWER2 + STATE(SPR_FFWR, 2, 3, {NULL}, 0, 0, S_FIREFLOWER4), // S_FIREFLOWER3 + STATE(SPR_FFWR, 3, 3, {NULL}, 0, 0, S_FIREFLOWER1), // S_FIREFLOWER4 // Thrown Mario Fireball - {SPR_FBLL, FF_FULLBRIGHT, 1, {A_SpawnObjectRelative}, 0, MT_FIREBALLTRAIL, S_FIREBALL}, // S_FIREBALL - {SPR_FBLL, 1|FF_FULLBRIGHT|FF_TRANS50, 1, {A_SetScale}, FRACUNIT*3/4, 0, S_FIREBALLTRAIL2}, // S_FIREBALLTRAIL1 - {SPR_FBLL, 1|FF_FULLBRIGHT|FF_TRANS50, 8, {A_SetScale}, FRACUNIT/6, 1, S_NULL}, // S_FIREBALLTRAIL2 + STATE(SPR_FBLL, FF_FULLBRIGHT, 1, {A_SpawnObjectRelative}, 0, MT_FIREBALLTRAIL, S_FIREBALL), // S_FIREBALL + STATE(SPR_FBLL, 1|FF_FULLBRIGHT|FF_TRANS50, 1, {A_SetScale}, FRACUNIT*3/4, 0, S_FIREBALLTRAIL2), // S_FIREBALLTRAIL1 + STATE(SPR_FBLL, 1|FF_FULLBRIGHT|FF_TRANS50, 8, {A_SetScale}, FRACUNIT/6, 1, S_NULL), // S_FIREBALLTRAIL2 // Turtle Shell - {SPR_SHLL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHELL + STATE(SPR_SHLL, 0, -1, {NULL}, 0, 0, S_NULL), // S_SHELL // Puma (Mario fireball) - {SPR_PUMA, FF_FULLBRIGHT|2, 1, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_START2}, // S_PUMA_START1 - {SPR_PUMA, FF_FULLBRIGHT|2, 1, {A_PlaySound}, sfx_s3k70, 1 + (1<<16), S_PUMA_UP1}, // S_PUMA_START2 - {SPR_PUMA, FF_FULLBRIGHT , 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP2}, // S_PUMA_UP1 - {SPR_PUMA, FF_FULLBRIGHT|1, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP3}, // S_PUMA_UP2 - {SPR_PUMA, FF_FULLBRIGHT|2, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP1}, // S_PUMA_UP3 - {SPR_PUMA, FF_FULLBRIGHT|3, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN2}, // S_PUMA_DOWN1 - {SPR_PUMA, FF_FULLBRIGHT|4, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN3}, // S_PUMA_DOWN2 - {SPR_PUMA, FF_FULLBRIGHT|5, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN1}, // S_PUMA_DOWN3 - - {SPR_PUMA, FF_FULLBRIGHT|FF_TRANS20|6, 4, {NULL}, 0, 0, S_PUMATRAIL2}, // S_PUMATRAIL1 - {SPR_PUMA, FF_FULLBRIGHT|FF_TRANS40|6, 5, {A_SetScale}, FRACUNIT, 1, S_PUMATRAIL3}, // S_PUMATRAIL2 - {SPR_PUMA, FF_FULLBRIGHT|FF_TRANS50|7, 4, {NULL}, 0, 0, S_PUMATRAIL4}, // S_PUMATRAIL3 - {SPR_PUMA, FF_FULLBRIGHT|FF_TRANS60|8, 3, {NULL}, 0, 0, S_NULL}, // S_PUMATRAIL4 + STATE(SPR_PUMA, FF_FULLBRIGHT|2, 1, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_START2), // S_PUMA_START1 + STATE(SPR_PUMA, FF_FULLBRIGHT|2, 1, {A_PlaySound}, sfx_s3k70, 1 + (1<<16), S_PUMA_UP1), // S_PUMA_START2 + STATE(SPR_PUMA, FF_FULLBRIGHT , 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP2), // S_PUMA_UP1 + STATE(SPR_PUMA, FF_FULLBRIGHT|1, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP3), // S_PUMA_UP2 + STATE(SPR_PUMA, FF_FULLBRIGHT|2, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_UP1), // S_PUMA_UP3 + STATE(SPR_PUMA, FF_FULLBRIGHT|3, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN2), // S_PUMA_DOWN1 + STATE(SPR_PUMA, FF_FULLBRIGHT|4, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN3), // S_PUMA_DOWN2 + STATE(SPR_PUMA, FF_FULLBRIGHT|5, 2, {A_FishJump}, 0, MT_PUMATRAIL, S_PUMA_DOWN1), // S_PUMA_DOWN3 + + STATE(SPR_PUMA, FF_FULLBRIGHT|FF_TRANS20|6, 4, {NULL}, 0, 0, S_PUMATRAIL2), // S_PUMATRAIL1 + STATE(SPR_PUMA, FF_FULLBRIGHT|FF_TRANS40|6, 5, {A_SetScale}, FRACUNIT, 1, S_PUMATRAIL3), // S_PUMATRAIL2 + STATE(SPR_PUMA, FF_FULLBRIGHT|FF_TRANS50|7, 4, {NULL}, 0, 0, S_PUMATRAIL4), // S_PUMATRAIL3 + STATE(SPR_PUMA, FF_FULLBRIGHT|FF_TRANS60|8, 3, {NULL}, 0, 0, S_NULL), // S_PUMATRAIL4 // Hammer - {SPR_HAMM, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_HAMMER + STATE(SPR_HAMM, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL), // S_HAMMER // Koopa - {SPR_KOOP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_KOOPA1 - {SPR_KOOP, 1, 24, {NULL}, 0, 0, S_KOOPA1}, // S_KOOPA2 + STATE(SPR_KOOP, 0, -1, {NULL}, 0, 0, S_NULL), // S_KOOPA1 + STATE(SPR_KOOP, 1, 24, {NULL}, 0, 0, S_KOOPA1), // S_KOOPA2 - {SPR_BFLM, 0, 3,{NULL}, 0, 0, S_KOOPAFLAME2}, // S_KOOPAFLAME1 - {SPR_BFLM, 1, 3,{NULL}, 0, 0, S_KOOPAFLAME3}, // S_KOOPAFLAME2 - {SPR_BFLM, 2, 3,{NULL}, 0, 0, S_KOOPAFLAME1}, // S_KOOPAFLAME3 + STATE(SPR_BFLM, 0, 3,{NULL}, 0, 0, S_KOOPAFLAME2), // S_KOOPAFLAME1 + STATE(SPR_BFLM, 1, 3,{NULL}, 0, 0, S_KOOPAFLAME3), // S_KOOPAFLAME2 + STATE(SPR_BFLM, 2, 3,{NULL}, 0, 0, S_KOOPAFLAME1), // S_KOOPAFLAME3 // Axe - {SPR_MAXE, 0, 3, {NULL}, 0, 0, S_AXE2}, // S_AXE1 - {SPR_MAXE, 1, 3, {NULL}, 0, 0, S_AXE3}, // S_AXE2 - {SPR_MAXE, 2, 3, {NULL}, 0, 0, S_AXE1}, // S_AXE3 + STATE(SPR_MAXE, 0, 3, {NULL}, 0, 0, S_AXE2), // S_AXE1 + STATE(SPR_MAXE, 1, 3, {NULL}, 0, 0, S_AXE3), // S_AXE2 + STATE(SPR_MAXE, 2, 3, {NULL}, 0, 0, S_AXE1), // S_AXE3 - {SPR_MUS1, 0, -1, {NULL}, 0, 0, S_NULL}, // S_MARIOBUSH1 - {SPR_MUS2, 0, -1, {NULL}, 0, 0, S_NULL}, // S_MARIOBUSH2 - {SPR_TOAD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_TOAD + STATE(SPR_MUS1, 0, -1, {NULL}, 0, 0, S_NULL), // S_MARIOBUSH1 + STATE(SPR_MUS2, 0, -1, {NULL}, 0, 0, S_NULL), // S_MARIOBUSH2 + STATE(SPR_TOAD, 0, -1, {NULL}, 0, 0, S_NULL), // S_TOAD // Nights Drone - {SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN2}, // S_NIGHTSDRONE_MAN1 - {SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN1}, // S_NIGHTSDRONE_MAN2 + STATE(SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN2), // S_NIGHTSDRONE_MAN1 + STATE(SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN1), // S_NIGHTSDRONE_MAN2 // Sparkling point (RETURN TO THE GOAL, etc) - {SPR_IVSP, 0, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING2}, // S_NIGHTSDRONE_SPARKLING1 - {SPR_IVSP, 2, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING3}, // S_NIGHTSDRONE_SPARKLING2 - {SPR_IVSP, 4, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING4}, // S_NIGHTSDRONE_SPARKLING3 - {SPR_IVSP, 6, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING5}, // S_NIGHTSDRONE_SPARKLING4 - {SPR_IVSP, 8, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING6}, // S_NIGHTSDRONE_SPARKLING5 - {SPR_IVSP, 10, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING7}, // S_NIGHTSDRONE_SPARKLING6 - {SPR_IVSP, 12, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING8}, // S_NIGHTSDRONE_SPARKLING7 - {SPR_IVSP, 14, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING9}, // S_NIGHTSDRONE_SPARKLING8 - {SPR_IVSP, 16, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING10}, // S_NIGHTSDRONE_SPARKLING9 - {SPR_IVSP, 18, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING11}, // S_NIGHTSDRONE_SPARKLING10 - {SPR_IVSP, 20, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING12}, // S_NIGHTSDRONE_SPARKLING11 - {SPR_IVSP, 22, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING13}, // S_NIGHTSDRONE_SPARKLING12 - {SPR_IVSP, 24, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING14}, // S_NIGHTSDRONE_SPARKLING13 - {SPR_IVSP, 26, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING15}, // S_NIGHTSDRONE_SPARKLING14 - {SPR_IVSP, 28, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING16}, // S_NIGHTSDRONE_SPARKLING15 - {SPR_IVSP, 30, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING1}, // S_NIGHTSDRONE_SPARKLING16 + STATE(SPR_IVSP, 0, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING2), // S_NIGHTSDRONE_SPARKLING1 + STATE(SPR_IVSP, 2, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING3), // S_NIGHTSDRONE_SPARKLING2 + STATE(SPR_IVSP, 4, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING4), // S_NIGHTSDRONE_SPARKLING3 + STATE(SPR_IVSP, 6, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING5), // S_NIGHTSDRONE_SPARKLING4 + STATE(SPR_IVSP, 8, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING6), // S_NIGHTSDRONE_SPARKLING5 + STATE(SPR_IVSP, 10, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING7), // S_NIGHTSDRONE_SPARKLING6 + STATE(SPR_IVSP, 12, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING8), // S_NIGHTSDRONE_SPARKLING7 + STATE(SPR_IVSP, 14, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING9), // S_NIGHTSDRONE_SPARKLING8 + STATE(SPR_IVSP, 16, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING10), // S_NIGHTSDRONE_SPARKLING9 + STATE(SPR_IVSP, 18, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING11), // S_NIGHTSDRONE_SPARKLING10 + STATE(SPR_IVSP, 20, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING12), // S_NIGHTSDRONE_SPARKLING11 + STATE(SPR_IVSP, 22, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING13), // S_NIGHTSDRONE_SPARKLING12 + STATE(SPR_IVSP, 24, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING14), // S_NIGHTSDRONE_SPARKLING13 + STATE(SPR_IVSP, 26, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING15), // S_NIGHTSDRONE_SPARKLING14 + STATE(SPR_IVSP, 28, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING16), // S_NIGHTSDRONE_SPARKLING15 + STATE(SPR_IVSP, 30, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING1), // S_NIGHTSDRONE_SPARKLING16 // NiGHTS GOAL banner (inside the sparkles!) - {SPR_GOAL, 0, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL2}, // S_NIGHTSDRONE_GOAL1 - {SPR_GOAL, 1, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL3}, // S_NIGHTSDRONE_GOAL2 - {SPR_GOAL, 2, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL4}, // S_NIGHTSDRONE_GOAL3 - {SPR_GOAL, 3, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL1}, // S_NIGHTSDRONE_GOAL4 + STATE(SPR_GOAL, 0, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL2), // S_NIGHTSDRONE_GOAL1 + STATE(SPR_GOAL, 1, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL3), // S_NIGHTSDRONE_GOAL2 + STATE(SPR_GOAL, 2, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL4), // S_NIGHTSDRONE_GOAL3 + STATE(SPR_GOAL, 3, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL1), // S_NIGHTSDRONE_GOAL4 // Nights Sparkle - {SPR_NSPK, FF_FULLBRIGHT, 140, {NULL}, 0, 0, S_NIGHTSPARKLE2}, // S_NIGHTSPARKLE1 - {SPR_NSPK, FF_FULLBRIGHT|1, 7, {NULL}, 0, 0, S_NIGHTSPARKLE3}, // S_NIGHTSPARKLE2 - {SPR_NSPK, FF_FULLBRIGHT|2, 7, {NULL}, 0, 0, S_NIGHTSPARKLE4}, // S_NIGHTSPARKLE3 - {SPR_NSPK, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_NULL}, // S_NIGHTSPARKLE4 + STATE(SPR_NSPK, FF_FULLBRIGHT, 140, {NULL}, 0, 0, S_NIGHTSPARKLE2), // S_NIGHTSPARKLE1 + STATE(SPR_NSPK, FF_FULLBRIGHT|1, 7, {NULL}, 0, 0, S_NIGHTSPARKLE3), // S_NIGHTSPARKLE2 + STATE(SPR_NSPK, FF_FULLBRIGHT|2, 7, {NULL}, 0, 0, S_NIGHTSPARKLE4), // S_NIGHTSPARKLE3 + STATE(SPR_NSPK, FF_FULLBRIGHT|3, 7, {NULL}, 0, 0, S_NULL), // S_NIGHTSPARKLE4 // Red Sparkle - {SPR_NSPK, FF_FULLBRIGHT|4, 140, {NULL}, 0, 0, S_NIGHTSPARKLESUPER2}, // S_NIGHTSPARKLESUPER1 - {SPR_NSPK, FF_FULLBRIGHT|5, 7, {NULL}, 0, 0, S_NIGHTSPARKLESUPER3}, // S_NIGHTSPARKLESUPER2 - {SPR_NSPK, FF_FULLBRIGHT|6, 7, {NULL}, 0, 0, S_NIGHTSPARKLESUPER4}, // S_NIGHTSPARKLESUPER3 - {SPR_NSPK, FF_FULLBRIGHT|7, 7, {NULL}, 0, 0, S_NULL}, // S_NIGHTSPARKLESUPER4 + STATE(SPR_NSPK, FF_FULLBRIGHT|4, 140, {NULL}, 0, 0, S_NIGHTSPARKLESUPER2), // S_NIGHTSPARKLESUPER1 + STATE(SPR_NSPK, FF_FULLBRIGHT|5, 7, {NULL}, 0, 0, S_NIGHTSPARKLESUPER3), // S_NIGHTSPARKLESUPER2 + STATE(SPR_NSPK, FF_FULLBRIGHT|6, 7, {NULL}, 0, 0, S_NIGHTSPARKLESUPER4), // S_NIGHTSPARKLESUPER3 + STATE(SPR_NSPK, FF_FULLBRIGHT|7, 7, {NULL}, 0, 0, S_NULL), // S_NIGHTSPARKLESUPER4 // Paraloop helper -- THIS IS WHAT DETERMINES THE TIMER NOW - {SPR_NULL, 0, 160, {NULL}, 0, 0, S_NULL}, // S_NIGHTSLOOPHELPER + STATE(SPR_NULL, 0, 160, {NULL}, 0, 0, S_NULL), // S_NIGHTSLOOPHELPER // NiGHTS bumper - {SPR_NBMP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER1 - {SPR_NBMP, 1, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER2 - {SPR_NBMP, 2, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER3 - {SPR_NBMP, 3, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER4 - {SPR_NBMP, 4, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER5 - {SPR_NBMP, 5, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER6 - {SPR_NBMP, 6, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER7 - {SPR_NBMP, 7, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER8 - {SPR_NBMP, 8, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER9 - {SPR_NBMP, 9, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER10 - {SPR_NBMP, 10, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER11 - {SPR_NBMP, 11, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSBUMPER12 - - {SPR_HOOP, 0, -1, {NULL}, 0, 0, S_NULL}, // S_HOOP - {SPR_HOOP, 1, -1, {NULL}, 0, 0, S_NULL}, // S_HOOP_XMASA - {SPR_HOOP, 2, -1, {NULL}, 0, 0, S_NULL}, // S_HOOP_XMASB - - {SPR_NSCR, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE10 - {SPR_NSCR, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE20 - {SPR_NSCR, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE30 - {SPR_NSCR, FF_FULLBRIGHT|3, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE40 - {SPR_NSCR, FF_FULLBRIGHT|4, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE50 - {SPR_NSCR, FF_FULLBRIGHT|5, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE60 - {SPR_NSCR, FF_FULLBRIGHT|6, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE70 - {SPR_NSCR, FF_FULLBRIGHT|7, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE80 - {SPR_NSCR, FF_FULLBRIGHT|8, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE90 - {SPR_NSCR, FF_FULLBRIGHT|9, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE100 - {SPR_NSCR, FF_FULLBRIGHT|10, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE10_2 - {SPR_NSCR, FF_FULLBRIGHT|11, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE20_2 - {SPR_NSCR, FF_FULLBRIGHT|12, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE30_2 - {SPR_NSCR, FF_FULLBRIGHT|13, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE40_2 - {SPR_NSCR, FF_FULLBRIGHT|14, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE50_2 - {SPR_NSCR, FF_FULLBRIGHT|15, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE60_2 - {SPR_NSCR, FF_FULLBRIGHT|16, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE70_2 - {SPR_NSCR, FF_FULLBRIGHT|17, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE80_2 - {SPR_NSCR, FF_FULLBRIGHT|18, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE90_2 - {SPR_NSCR, FF_FULLBRIGHT|19, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSCORE100_2 + STATE(SPR_NBMP, 0, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER1 + STATE(SPR_NBMP, 1, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER2 + STATE(SPR_NBMP, 2, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER3 + STATE(SPR_NBMP, 3, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER4 + STATE(SPR_NBMP, 4, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER5 + STATE(SPR_NBMP, 5, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER6 + STATE(SPR_NBMP, 6, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER7 + STATE(SPR_NBMP, 7, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER8 + STATE(SPR_NBMP, 8, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER9 + STATE(SPR_NBMP, 9, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER10 + STATE(SPR_NBMP, 10, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER11 + STATE(SPR_NBMP, 11, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSBUMPER12 + + STATE(SPR_HOOP, 0, -1, {NULL}, 0, 0, S_NULL), // S_HOOP + STATE(SPR_HOOP, 1, -1, {NULL}, 0, 0, S_NULL), // S_HOOP_XMASA + STATE(SPR_HOOP, 2, -1, {NULL}, 0, 0, S_NULL), // S_HOOP_XMASB + + STATE(SPR_NSCR, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE10 + STATE(SPR_NSCR, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE20 + STATE(SPR_NSCR, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE30 + STATE(SPR_NSCR, FF_FULLBRIGHT|3, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE40 + STATE(SPR_NSCR, FF_FULLBRIGHT|4, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE50 + STATE(SPR_NSCR, FF_FULLBRIGHT|5, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE60 + STATE(SPR_NSCR, FF_FULLBRIGHT|6, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE70 + STATE(SPR_NSCR, FF_FULLBRIGHT|7, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE80 + STATE(SPR_NSCR, FF_FULLBRIGHT|8, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE90 + STATE(SPR_NSCR, FF_FULLBRIGHT|9, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE100 + STATE(SPR_NSCR, FF_FULLBRIGHT|10, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE10_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|11, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE20_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|12, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE30_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|13, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE40_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|14, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE50_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|15, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE60_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|16, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE70_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|17, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE80_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|18, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE90_2 + STATE(SPR_NSCR, FF_FULLBRIGHT|19, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSCORE100_2 // NiGHTS Paraloop Powerups - {SPR_NPRU, 0, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSSUPERLOOP - {SPR_NPRU, 1, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSDRILLREFILL - {SPR_NPRU, 2, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSHELPER - {SPR_NPRU, 3, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSEXTRATIME - {SPR_NPRU, 4, -1, {NULL}, 0, 0, S_NULL}, // S_NIGHTSLINKFREEZE + STATE(SPR_NPRU, 0, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSSUPERLOOP + STATE(SPR_NPRU, 1, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSDRILLREFILL + STATE(SPR_NPRU, 2, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSHELPER + STATE(SPR_NPRU, 3, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSEXTRATIME + STATE(SPR_NPRU, 4, -1, {NULL}, 0, 0, S_NULL), // S_NIGHTSLINKFREEZE - {SPR_CAPS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGCAPSULE + STATE(SPR_CAPS, 0, -1, {NULL}, 0, 0, S_NULL), // S_EGGCAPSULE // Orbiting Chaos Emeralds/Ideya for NiGHTS - {SPR_CEMG, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM1}, // S_ORBITEM1 - {SPR_CEMG, FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM2}, // S_ORBITEM2 - {SPR_CEMG, FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM3}, // S_ORBITEM3 - {SPR_CEMG, FF_FULLBRIGHT|3, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM4}, // S_ORBITEM4 - {SPR_CEMG, FF_FULLBRIGHT|4, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM5}, // S_ORBITEM5 - {SPR_CEMG, FF_FULLBRIGHT|5, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM6}, // S_ORBITEM6 - {SPR_CEMG, FF_FULLBRIGHT|6, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM7}, // S_ORBITEM7 - {SPR_CEMG, FF_FULLBRIGHT|7, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM8}, // S_ORBITEM8 - {SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA1}, // S_ORBIDYA1 - {SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA2}, // S_ORBIDYA2 - {SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA3}, // S_ORBIDYA3 - {SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|3, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA4}, // S_ORBIDYA4 - {SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|4, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA5}, // S_ORBIDYA5 + STATE(SPR_CEMG, FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM1), // S_ORBITEM1 + STATE(SPR_CEMG, FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM2), // S_ORBITEM2 + STATE(SPR_CEMG, FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM3), // S_ORBITEM3 + STATE(SPR_CEMG, FF_FULLBRIGHT|3, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM4), // S_ORBITEM4 + STATE(SPR_CEMG, FF_FULLBRIGHT|4, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM5), // S_ORBITEM5 + STATE(SPR_CEMG, FF_FULLBRIGHT|5, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM6), // S_ORBITEM6 + STATE(SPR_CEMG, FF_FULLBRIGHT|6, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM7), // S_ORBITEM7 + STATE(SPR_CEMG, FF_FULLBRIGHT|7, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBITEM8), // S_ORBITEM8 + STATE(SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA1), // S_ORBIDYA1 + STATE(SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|1, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA2), // S_ORBIDYA2 + STATE(SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|2, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA3), // S_ORBIDYA3 + STATE(SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|3, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA4), // S_ORBIDYA4 + STATE(SPR_IDYA, FF_TRANS20|FF_FULLBRIGHT|4, 1, {A_OrbitNights}, ANG2*2, 0, S_ORBIDYA5), // S_ORBIDYA5 // Flicky helper for NiGHTS - {SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER2}, // S_NIGHTOPIANHELPER1 - {SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER3}, // S_NIGHTOPIANHELPER2 - {SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER4}, // S_NIGHTOPIANHELPER3 - {SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER5}, // S_NIGHTOPIANHELPER4 - {SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER6}, // S_NIGHTOPIANHELPER5 - {SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER7}, // S_NIGHTOPIANHELPER6 - {SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER8}, // S_NIGHTOPIANHELPER7 - {SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER9}, // S_NIGHTOPIANHELPER8 - {SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER1}, // S_NIGHTOPIANHELPER9 + STATE(SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER2), // S_NIGHTOPIANHELPER1 + STATE(SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER3), // S_NIGHTOPIANHELPER2 + STATE(SPR_FL01, 1, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER4), // S_NIGHTOPIANHELPER3 + STATE(SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER5), // S_NIGHTOPIANHELPER4 + STATE(SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER6), // S_NIGHTOPIANHELPER5 + STATE(SPR_FL01, 2, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER7), // S_NIGHTOPIANHELPER6 + STATE(SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER8), // S_NIGHTOPIANHELPER7 + STATE(SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER9), // S_NIGHTOPIANHELPER8 + STATE(SPR_FL01, 3, 1, {A_OrbitNights}, ANG2*2, 180 | 0x10000, S_NIGHTOPIANHELPER1), // S_NIGHTOPIANHELPER9 // Nightopian - {SPR_NTPN, 0, 2, {A_Look}, 1, 1, S_PIAN_LOOK2}, // S_PIAN_LOOK1 - {SPR_NTPN, 1, 2, {A_Look}, 1, 1, S_PIAN_LOOK3}, // S_PIAN_LOOK2 - {SPR_NTPN, 2, 2, {A_Look}, 1, 1, S_PIAN_LOOK1}, // S_PIAN_LOOK3 - {SPR_NTPN, 0, 2, {A_JetgThink}, 0, 0, S_PIAN_FLY2}, // S_PIAN_FLY1 - {SPR_NTPN, 1, 2, {NULL}, 0, 0, S_PIAN_FLY3}, // S_PIAN_FLY2 - {SPR_NTPN, 2, 2, {NULL}, 0, 0, S_PIAN_FLY1}, // S_PIAN_FLY3 - {SPR_NTPN, 3|FF_ANIMATE, 24, {NULL}, 2, 2, S_PIAN_FLY1}, // S_PIAN_SING + STATE(SPR_NTPN, 0, 2, {A_Look}, 1, 1, S_PIAN_LOOK2), // S_PIAN_LOOK1 + STATE(SPR_NTPN, 1, 2, {A_Look}, 1, 1, S_PIAN_LOOK3), // S_PIAN_LOOK2 + STATE(SPR_NTPN, 2, 2, {A_Look}, 1, 1, S_PIAN_LOOK1), // S_PIAN_LOOK3 + STATE(SPR_NTPN, 0, 2, {A_JetgThink}, 0, 0, S_PIAN_FLY2), // S_PIAN_FLY1 + STATE(SPR_NTPN, 1, 2, {NULL}, 0, 0, S_PIAN_FLY3), // S_PIAN_FLY2 + STATE(SPR_NTPN, 2, 2, {NULL}, 0, 0, S_PIAN_FLY1), // S_PIAN_FLY3 + STATE(SPR_NTPN, 3|FF_ANIMATE, 24, {NULL}, 2, 2, S_PIAN_FLY1), // S_PIAN_SING // Shleep - {SPR_SHLP, 0, 15, {NULL}, 0, 0, S_SHLEEP2}, // S_SHLEEP1 - {SPR_SHLP, 1, 15, {NULL}, 0, 0, S_SHLEEP3}, // S_SHLEEP2 - {SPR_SHLP, 2, 15, {NULL}, 0, 0, S_SHLEEP4}, // S_SHLEEP3 - {SPR_SHLP, 1, 15, {NULL}, 0, 0, S_SHLEEP1}, // S_SHLEEP4 - {SPR_SHLP, 3, 1, {A_Scream}, 0, 0, S_SHLEEPBOUNCE2}, // S_SHLEEPBOUNCE1 - {SPR_SHLP, 3, 1, {A_ZThrust}, 9, 0, S_SHLEEPBOUNCE3}, // S_SHLEEPBOUNCE2 - {SPR_SHLP, 3, 400, {A_SetObjectFlags}, MF_SLIDEME|MF_ENEMY|MF_BOUNCE|MF_NOCLIP|MF_NOCLIPHEIGHT, 0, S_NULL}, // S_SHLEEPBOUNCE3 + STATE(SPR_SHLP, 0, 15, {NULL}, 0, 0, S_SHLEEP2), // S_SHLEEP1 + STATE(SPR_SHLP, 1, 15, {NULL}, 0, 0, S_SHLEEP3), // S_SHLEEP2 + STATE(SPR_SHLP, 2, 15, {NULL}, 0, 0, S_SHLEEP4), // S_SHLEEP3 + STATE(SPR_SHLP, 1, 15, {NULL}, 0, 0, S_SHLEEP1), // S_SHLEEP4 + STATE(SPR_SHLP, 3, 1, {A_Scream}, 0, 0, S_SHLEEPBOUNCE2), // S_SHLEEPBOUNCE1 + STATE(SPR_SHLP, 3, 1, {A_ZThrust}, 9, 0, S_SHLEEPBOUNCE3), // S_SHLEEPBOUNCE2 + STATE(SPR_SHLP, 3, 400, {A_SetObjectFlags}, MF_SLIDEME|MF_ENEMY|MF_BOUNCE|MF_NOCLIP|MF_NOCLIPHEIGHT, 0, S_NULL), // S_SHLEEPBOUNCE3 // Secret badniks and hazards, shhhh - {SPR_PENG, 0, 2, {A_Look}, 0, 0, S_PENGUINATOR_LOOK}, // S_PENGUINATOR_LOOK - {SPR_PENG, 0, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE2}, // S_PENGUINATOR_WADDLE1 - {SPR_PENG, 1, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE3}, // S_PENGUINATOR_WADDLE2 - {SPR_PENG, 0, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE4}, // S_PENGUINATOR_WADDLE3 - {SPR_PENG, 2, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE1}, // S_PENGUINATOR_WADDLE4 - {SPR_PENG, 0, 0, {A_FaceTarget}, 0, 0, S_PENGUINATOR_SLIDE2}, // S_PENGUINATOR_SLIDE1 - {SPR_PENG, 3, 5, {A_BunnyHop}, 4, 10, S_PENGUINATOR_SLIDE3}, // S_PENGUINATOR_SLIDE2 - {SPR_PENG, 4, 90, {A_PlayAttackSound}, 0, 0, S_PENGUINATOR_SLIDE4}, // S_PENGUINATOR_SLIDE3 - {SPR_PENG, 3, 5, {A_Thrust}, 0, 1, S_PENGUINATOR_SLIDE5}, // S_PENGUINATOR_SLIDE4 - {SPR_PENG, 0, 5, {A_FaceTarget}, 0, 0, S_PENGUINATOR_LOOK}, // S_PENGUINATOR_SLIDE5 - - {SPR_POPH, 0, 2, {A_Look}, (2048<<16)|1, 0, S_POPHAT_LOOK}, // S_POPHAT_LOOK - {SPR_POPH, 1, 0, {A_MultiShotDist}, (MT_SPINDUST<<16)|4, 24, S_POPHAT_SHOOT2}, // S_POPHAT_SHOOT1 - {SPR_POPH, 1, 2, {A_LobShot}, MT_POPSHOT, (70<<16)|60, S_POPHAT_SHOOT3}, // S_POPHAT_SHOOT2 - {SPR_POPH, 2, 1, {NULL}, 0, 0, S_POPHAT_SHOOT4}, // S_POPHAT_SHOOT3 - {SPR_POPH, 0, 57, {NULL}, 0, 0, S_POPHAT_LOOK}, // S_POPHAT_SHOOT4 - {SPR_POPH, 3, 3, {A_SpawnObjectRelative}, 0, MT_POPSHOT_TRAIL, S_POPSHOT}, // S_POPSHOT - {SPR_NULL, 0, 2, {NULL}, 0, 0, S_SPINDUST1}, // S_POPSHOT_TRAIL - - {SPR_HIVE, 0, 5, {A_Look}, 1, 1, S_HIVEELEMENTAL_LOOK}, // S_HIVEELEMENTAL_LOOK - {SPR_HIVE, 0, 14, {A_PlaySound}, sfx_s3k76, 1, S_HIVEELEMENTAL_PREPARE2}, // S_HIVEELEMENTAL_PREPARE1 - {SPR_HIVE, 0, 6, {A_PlaySound}, sfx_s3k8c, 1, S_HIVEELEMENTAL_SHOOT1}, // S_HIVEELEMENTAL_PREPARE2 - {SPR_HIVE, 1, 4, {A_WhoCaresIfYourSonIsABee}, (MT_BUMBLEBORE<<16)|4, (1<<16)|32, S_HIVEELEMENTAL_SHOOT2}, // S_HIVEELEMENTAL_SHOOT1 - {SPR_HIVE, 2, 2, {NULL}, 0, 0, S_HIVEELEMENTAL_DORMANT}, // S_HIVEELEMENTAL_SHOOT2 - {SPR_HIVE, 0, 5, {A_ParentTriesToSleep}, S_HIVEELEMENTAL_PREPARE1, 0, S_HIVEELEMENTAL_DORMANT}, // S_HIVEELEMENTAL_DORMANT - {SPR_HIVE, 3, 35, {A_Pain}, 0, 0, S_HIVEELEMENTAL_LOOK}, // S_HIVEELEMENTAL_PAIN - {SPR_HIVE, 3, 2, {A_BossScream}, 1, 0, S_HIVEELEMENTAL_DIE2}, // S_HIVEELEMENTAL_DIE1 - {SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_HIVEELEMENTAL_DIE3}, // S_HIVEELEMENTAL_DIE2 - {SPR_NULL, 0, 0, {A_Repeat}, 7, S_HIVEELEMENTAL_DIE1, S_XPLD_FLICKY}, // S_HIVEELEMENTAL_DIE3 - - {SPR_BUMB, 1, 10, {NULL}, 0, 0, S_BUMBLEBORE_LOOK1}, // S_BUMBLEBORE_SPAWN - {SPR_BUMB, 0, 4, {A_Look}, 1, 1, S_BUMBLEBORE_LOOK2}, // S_BUMBLEBORE_LOOK1 - {SPR_BUMB, 1, 4, {A_Look}, 1, 1, S_BUMBLEBORE_LOOK1}, // S_BUMBLEBORE_LOOK2 - {SPR_BUMB, 0, 4, {A_JetbThink}, 0, 0, S_BUMBLEBORE_FLY2}, // S_BUMBLEBORE_FLY1 - {SPR_BUMB, 1, 4, {A_JetbThink}, 0, 0, S_BUMBLEBORE_FLY1}, // S_BUMBLEBORE_FLY2 - {SPR_BUMB, 2|FF_FULLBRIGHT, 12, {A_ZThrust}, 4, (1<<16)|1, S_BUMBLEBORE_FALL1}, // S_BUMBLEBORE_RAISE - {SPR_BUMB, 2|FF_FULLBRIGHT, 0, {A_ZThrust}, -8, (1<<16)|1, S_BUMBLEBORE_FALL2}, // S_BUMBLEBORE_FALL1 - {SPR_BUMB, 2|FF_FULLBRIGHT, 300, {NULL}, 0, 0, S_BUMBLEBORE_DIE}, // S_BUMBLEBORE_FALL2 - {SPR_BUMB, 4, 3, {A_MultiShotDist}, (MT_DUST<<16)|6, -40, S_BUMBLEBORE_STUCK2}, // S_BUMBLEBORE_STUCK1 - {SPR_BUMB, 5, 120, {NULL}, 0, 0, S_BUMBLEBORE_DIE}, // S_BUMBLEBORE_STUCK2 - {SPR_BUMB, 5, 0, {A_CryingToMomma}, 0, 0, S_XPLD1}, // S_BUMBLEBORE_DIE - - {SPR_BBUZ, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BUGGLEIDLE - {SPR_BBUZ, FF_ANIMATE, -1, {NULL}, 1, 2, S_NULL}, // S_BUGGLEFLY - - {SPR_FMCE, 0, 20, {NULL}, 0, 0, S_SMASHSPIKE_EASE1}, // S_SMASHSPIKE_FLOAT - {SPR_FMCE, 0, 4, {A_ZThrust}, 4, (1<<16)|1, S_SMASHSPIKE_EASE2}, // S_SMASHSPIKE_EASE1 - {SPR_FMCE, 0, 4, {A_ZThrust}, 0, (1<<16)|1, S_SMASHSPIKE_FALL}, // S_SMASHSPIKE_EASE2 - {SPR_FMCE, 0, 2, {A_ZThrust}, -6, 1, S_SMASHSPIKE_FALL}, // S_SMASHSPIKE_FALL - {SPR_FMCE, 1, 2, {A_MultiShotDist}, (MT_DUST<<16)|10, -48, S_SMASHSPIKE_STOMP2}, // S_SMASHSPIKE_STOMP1 - {SPR_FMCE, 2, 14, {NULL}, 0, 0, S_SMASHSPIKE_RISE1}, // S_SMASHSPIKE_STOMP2 - {SPR_FMCE, 1, 2, {NULL}, 0, 0, S_SMASHSPIKE_RISE2}, // S_SMASHSPIKE_RISE1 - {SPR_FMCE, 0, 2, {A_ZThrust}, 6, (1<<16)|1, S_SMASHSPIKE_RISE2}, // S_SMASHSPIKE_RISE2 - - {SPR_CACO, 0, 5, {A_Look}, (1100<<16)|1, 0, S_CACO_LOOK}, // S_CACO_LOOK - {SPR_CACO, 1, 0, {A_MultiShotDist}, (MT_DUST<<16)|7, -48, S_CACO_WAKE2}, // S_CACO_WAKE1 - {SPR_CACO, 1, 10, {A_ZThrust}, 4, (1<<16)|1, S_CACO_WAKE3}, // S_CACO_WAKE2 - {SPR_CACO, 2, 8, {A_ZThrust}, 2, (1<<16)|1, S_CACO_WAKE4}, // S_CACO_WAKE3 - {SPR_CACO, 2, 4, {A_ZThrust}, 0, (1<<16)|1, S_CACO_ROAR}, // S_CACO_WAKE4 - {SPR_CACO, 2, 10, {A_PlayActiveSound}, 0, 0, S_CACO_CHASE}, // S_CACO_ROAR - {SPR_CACO, 2, 5, {A_JetChase}, 0, 0, S_CACO_CHASE_REPEAT}, // S_CACO_CHASE - {SPR_CACO, 2, 0, {A_Repeat}, 5, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_CHASE_REPEAT - {SPR_CACO, 2, 0, {A_RandomState}, S_CACO_PREPARE_SOUND, S_CACO_CHASE, S_CACO_RANDOM}, // S_CACO_RANDOM - {SPR_CACO, 2, 8, {A_PlaySound}, sfx_s3k95, 1, S_CACO_PREPARE1}, // S_CACO_PREPARE_SOUND - {SPR_CACO, 3, 8, {NULL}, 0, 0, S_CACO_PREPARE2}, // S_CACO_PREPARE1 - {SPR_CACO, 4|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_PREPARE3}, // S_CACO_PREPARE2 - {SPR_CACO, 5|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_SHOOT_SOUND}, // S_CACO_PREPARE3 - {SPR_CACO, 4|FF_FULLBRIGHT, 0, {A_PlaySound}, sfx_s3k4e, 1, S_CACO_SHOOT1}, // S_CACO_SHOOT_SOUND - {SPR_CACO, 4|FF_FULLBRIGHT, 0, {A_SpawnParticleRelative}, 0, S_CACOFIRE_EXPLODE1, S_CACO_SHOOT2}, // S_CACO_SHOOT1 - {SPR_CACO, 4|FF_FULLBRIGHT, 6, {A_FireShot}, MT_CACOFIRE, -24, S_CACO_CLOSE}, // S_CACO_SHOOT2 - {SPR_CACO, 3, 15, {NULL}, 0, 0, S_CACO_CHASE}, // S_CACO_CLOSE - {SPR_CACO, 10, 0, {A_SetObjectFlags}, MF_NOBLOCKMAP, 0, S_CACO_DIE_GIB1}, // S_CACO_DIE_FLAGS - {SPR_CACO, 10, 0, {A_NapalmScatter}, (7<<16)|MT_CACOSHARD, (30<<16)|20, S_CACO_DIE_GIB2}, // S_CACO_DIE_GIB1 - {SPR_CACO, 10, 0, {A_NapalmScatter}, (10<<16)|MT_CACOSHARD, (24<<16)|32, S_CACO_DIE_SCREAM}, // S_CACO_DIE_GIB2 - {SPR_CACO, 10, 0, {A_Scream}, 0, 0, S_CACO_DIE_SHATTER}, // S_CACO_DIE_SCREAM - {SPR_CACO, 10, 0, {A_PlaySound}, sfx_pumpkn, 1, S_CACO_DIE_FALL}, // S_CACO_DIE_SHATTER - {SPR_CACO, 10, 250, {A_FlickySpawn}, (1<<16), 0, S_NULL}, // S_CACO_DIE_FALL - - {SPR_CACO, 6, 0, {A_RandomState}, S_CACOSHARD1_1, S_CACOSHARD2_1, S_NULL}, // S_CACOSHARD_RANDOMIZE - {SPR_CACO, 6, 3, {NULL}, 0, 0, S_CACOSHARD1_2}, // S_CACOSHARD1_1 - {SPR_CACO, 7, 3, {NULL}, 0, 0, S_CACOSHARD1_1}, // S_CACOSHARD1_2 - {SPR_CACO, 8, 3, {NULL}, 0, 0, S_CACOSHARD2_2}, // S_CACOSHARD2_1 - {SPR_CACO, 9, 3, {NULL}, 0, 0, S_CACOSHARD2_1}, // S_CACOSHARD2_2 - {SPR_BAL2, FF_FULLBRIGHT, 2, {A_GhostMe}, 0, 0, S_CACOFIRE2}, // S_CACOFIRE1 - {SPR_BAL2, 1|FF_FULLBRIGHT, 2, {A_GhostMe}, 0, 0, S_CACOFIRE3}, // S_CACOFIRE2 - {SPR_BAL2, FF_FULLBRIGHT, 0, {A_PlayActiveSound}, 0, 0, S_CACOFIRE1}, // S_CACOFIRE3 - {SPR_BAL2, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE2}, // S_CACOFIRE_EXPLODE1 - {SPR_BAL2, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE3}, // S_CACOFIRE_EXPLODE2 - {SPR_BAL2, 4|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE4}, // S_CACOFIRE_EXPLODE3 - {SPR_BAL2, 5|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_CACOFIRE_EXPLODE4 - - {SPR_SBOB, 1, 10, {A_ZThrust}, -2, (1<<16)|1, S_SPINBOBERT_MOVE_UP}, // S_SPINBOBERT_MOVE_FLIPUP - {SPR_SBOB, 0, 45, {A_ZThrust}, 4, (1<<16)|1, S_SPINBOBERT_MOVE_FLIPDOWN}, // S_SPINBOBERT_MOVE_UP - {SPR_SBOB, 1, 10, {A_ZThrust}, 2, (1<<16)|1, S_SPINBOBERT_MOVE_DOWN}, // S_SPINBOBERT_MOVE_FLIPDOWN - {SPR_SBOB, 2, 45, {A_ZThrust}, -4, (1<<16)|1, S_SPINBOBERT_MOVE_FLIPUP}, // S_SPINBOBERT_MOVE_DOWN - {SPR_SBSK, FF_FULLBRIGHT, 1, {A_RotateSpikeBall}, 0, 0, S_SPINBOBERT_FIRE_GHOST}, // S_SPINBOBERT_FIRE_MOVE - {SPR_SBSK, FF_FULLBRIGHT, 0, {A_SpawnParticleRelative}, 0, S_SPINBOBERT_FIRE_TRAIL1, S_SPINBOBERT_FIRE_MOVE}, // S_SPINBOBERT_FIRE_GHOST - {SPR_SBFL, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINBOBERT_FIRE_TRAIL2}, // S_SPINBOBERT_FIRE_TRAIL1 - {SPR_SBFL, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINBOBERT_FIRE_TRAIL3}, // S_SPINBOBERT_FIRE_TRAIL2 - {SPR_SBFL, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_SPINBOBERT_FIRE_TRAIL3 - - {SPR_HBAT, 0, 5, {A_Look}, (900<<16)|1, 0, S_HANGSTER_LOOK}, // S_HANGSTER_LOOK - {SPR_HBAT, 1, 0, {A_MultiShotDist}, (MT_DUST<<16)|10, -34, S_HANGSTER_SWOOP2}, // S_HANGSTER_SWOOP1 - {SPR_HBAT, 1, 2, {A_ZThrust}, -8, (1<<16)|1, S_HANGSTER_SWOOP2}, // S_HANGSTER_SWOOP2 - {SPR_HBAT, 1, 6, {A_ZThrust}, -5, (1<<16), S_HANGSTER_ARC2}, // S_HANGSTER_ARC1 - {SPR_HBAT, 1, 5, {A_ZThrust}, -2, (1<<16), S_HANGSTER_ARC3}, // S_HANGSTER_ARC2 - {SPR_HBAT, 1, 1, {A_ZThrust}, 0, (1<<16), S_HANGSTER_FLY1}, // S_HANGSTER_ARC3 - {SPR_HBAT, 1, 4, {A_Thrust}, 6, 1, S_HANGSTER_FLY2}, // S_HANGSTER_FLY1 - {SPR_HBAT, 2, 1, {A_PlaySound}, sfx_s3k52, 1, S_HANGSTER_FLY3}, // S_HANGSTER_FLY2 - {SPR_HBAT, 3, 4, {A_Thrust}, 6, 1, S_HANGSTER_FLY4}, // S_HANGSTER_FLY3 - {SPR_HBAT, 2, 1, {A_Thrust}, 6, 1, S_HANGSTER_FLYREPEAT}, // S_HANGSTER_FLY4 - {SPR_HBAT, 2, 0, {A_Repeat}, 12, S_HANGSTER_FLY1, S_HANGSTER_ARCUP1}, // S_HANGSTER_FLYREPEAT - {SPR_HBAT, 1, 5, {A_ZThrust}, 2, (1<<16), S_HANGSTER_ARCUP2}, // S_HANGSTER_ARCUP1 - {SPR_HBAT, 1, 6, {A_ZThrust}, 5, (1<<16), S_HANGSTER_ARCUP3}, // S_HANGSTER_ARCUP2 - {SPR_HBAT, 1, 1, {A_ZThrust}, 0, (1<<16), S_HANGSTER_RETURN1}, // S_HANGSTER_ARCUP3 - {SPR_HBAT, 1, 1, {A_ZThrust}, 8, (1<<16), S_HANGSTER_RETURN2}, // S_HANGSTER_RETURN1 - {SPR_HBAT, 3, 1, {NULL}, 0, 0, S_HANGSTER_RETURN1}, // S_HANGSTER_RETURN2 - {SPR_HBAT, 0, 15, {NULL}, 0, 0, S_HANGSTER_LOOK}, // S_HANGSTER_RETURN3 - - {SPR_NULL, 0, 35, {NULL}, 0, 0, S_CRUMBLE2}, // S_CRUMBLE1 - {SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL}, // S_CRUMBLE2 + STATE(SPR_PENG, 0, 2, {A_Look}, 0, 0, S_PENGUINATOR_LOOK), // S_PENGUINATOR_LOOK + STATE(SPR_PENG, 0, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE2), // S_PENGUINATOR_WADDLE1 + STATE(SPR_PENG, 1, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE3), // S_PENGUINATOR_WADDLE2 + STATE(SPR_PENG, 0, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE4), // S_PENGUINATOR_WADDLE3 + STATE(SPR_PENG, 2, 2, {A_Chase}, 0, 0, S_PENGUINATOR_WADDLE1), // S_PENGUINATOR_WADDLE4 + STATE(SPR_PENG, 0, 0, {A_FaceTarget}, 0, 0, S_PENGUINATOR_SLIDE2), // S_PENGUINATOR_SLIDE1 + STATE(SPR_PENG, 3, 5, {A_BunnyHop}, 4, 10, S_PENGUINATOR_SLIDE3), // S_PENGUINATOR_SLIDE2 + STATE(SPR_PENG, 4, 90, {A_PlayAttackSound}, 0, 0, S_PENGUINATOR_SLIDE4), // S_PENGUINATOR_SLIDE3 + STATE(SPR_PENG, 3, 5, {A_Thrust}, 0, 1, S_PENGUINATOR_SLIDE5), // S_PENGUINATOR_SLIDE4 + STATE(SPR_PENG, 0, 5, {A_FaceTarget}, 0, 0, S_PENGUINATOR_LOOK), // S_PENGUINATOR_SLIDE5 + + STATE(SPR_POPH, 0, 2, {A_Look}, (2048<<16)|1, 0, S_POPHAT_LOOK), // S_POPHAT_LOOK + STATE(SPR_POPH, 1, 0, {A_MultiShotDist}, (MT_SPINDUST<<16)|4, 24, S_POPHAT_SHOOT2), // S_POPHAT_SHOOT1 + STATE(SPR_POPH, 1, 2, {A_LobShot}, MT_POPSHOT, (70<<16)|60, S_POPHAT_SHOOT3), // S_POPHAT_SHOOT2 + STATE(SPR_POPH, 2, 1, {NULL}, 0, 0, S_POPHAT_SHOOT4), // S_POPHAT_SHOOT3 + STATE(SPR_POPH, 0, 57, {NULL}, 0, 0, S_POPHAT_LOOK), // S_POPHAT_SHOOT4 + STATE(SPR_POPH, 3, 3, {A_SpawnObjectRelative}, 0, MT_POPSHOT_TRAIL, S_POPSHOT), // S_POPSHOT + STATE(SPR_NULL, 0, 2, {NULL}, 0, 0, S_SPINDUST1), // S_POPSHOT_TRAIL + + STATE(SPR_HIVE, 0, 5, {A_Look}, 1, 1, S_HIVEELEMENTAL_LOOK), // S_HIVEELEMENTAL_LOOK + STATE(SPR_HIVE, 0, 14, {A_PlaySound}, sfx_s3k76, 1, S_HIVEELEMENTAL_PREPARE2), // S_HIVEELEMENTAL_PREPARE1 + STATE(SPR_HIVE, 0, 6, {A_PlaySound}, sfx_s3k8c, 1, S_HIVEELEMENTAL_SHOOT1), // S_HIVEELEMENTAL_PREPARE2 + STATE(SPR_HIVE, 1, 4, {A_WhoCaresIfYourSonIsABee}, (MT_BUMBLEBORE<<16)|4, (1<<16)|32, S_HIVEELEMENTAL_SHOOT2), // S_HIVEELEMENTAL_SHOOT1 + STATE(SPR_HIVE, 2, 2, {NULL}, 0, 0, S_HIVEELEMENTAL_DORMANT), // S_HIVEELEMENTAL_SHOOT2 + STATE(SPR_HIVE, 0, 5, {A_ParentTriesToSleep}, S_HIVEELEMENTAL_PREPARE1, 0, S_HIVEELEMENTAL_DORMANT), // S_HIVEELEMENTAL_DORMANT + STATE(SPR_HIVE, 3, 35, {A_Pain}, 0, 0, S_HIVEELEMENTAL_LOOK), // S_HIVEELEMENTAL_PAIN + STATE(SPR_HIVE, 3, 2, {A_BossScream}, 1, 0, S_HIVEELEMENTAL_DIE2), // S_HIVEELEMENTAL_DIE1 + STATE(SPR_NULL, 0, 2, {A_BossScream}, 1, 0, S_HIVEELEMENTAL_DIE3), // S_HIVEELEMENTAL_DIE2 + STATE(SPR_NULL, 0, 0, {A_Repeat}, 7, S_HIVEELEMENTAL_DIE1, S_XPLD_FLICKY), // S_HIVEELEMENTAL_DIE3 + + STATE(SPR_BUMB, 1, 10, {NULL}, 0, 0, S_BUMBLEBORE_LOOK1), // S_BUMBLEBORE_SPAWN + STATE(SPR_BUMB, 0, 4, {A_Look}, 1, 1, S_BUMBLEBORE_LOOK2), // S_BUMBLEBORE_LOOK1 + STATE(SPR_BUMB, 1, 4, {A_Look}, 1, 1, S_BUMBLEBORE_LOOK1), // S_BUMBLEBORE_LOOK2 + STATE(SPR_BUMB, 0, 4, {A_JetbThink}, 0, 0, S_BUMBLEBORE_FLY2), // S_BUMBLEBORE_FLY1 + STATE(SPR_BUMB, 1, 4, {A_JetbThink}, 0, 0, S_BUMBLEBORE_FLY1), // S_BUMBLEBORE_FLY2 + STATE(SPR_BUMB, 2|FF_FULLBRIGHT, 12, {A_ZThrust}, 4, (1<<16)|1, S_BUMBLEBORE_FALL1), // S_BUMBLEBORE_RAISE + STATE(SPR_BUMB, 2|FF_FULLBRIGHT, 0, {A_ZThrust}, -8, (1<<16)|1, S_BUMBLEBORE_FALL2), // S_BUMBLEBORE_FALL1 + STATE(SPR_BUMB, 2|FF_FULLBRIGHT, 300, {NULL}, 0, 0, S_BUMBLEBORE_DIE), // S_BUMBLEBORE_FALL2 + STATE(SPR_BUMB, 4, 3, {A_MultiShotDist}, (MT_DUST<<16)|6, -40, S_BUMBLEBORE_STUCK2), // S_BUMBLEBORE_STUCK1 + STATE(SPR_BUMB, 5, 120, {NULL}, 0, 0, S_BUMBLEBORE_DIE), // S_BUMBLEBORE_STUCK2 + STATE(SPR_BUMB, 5, 0, {A_CryingToMomma}, 0, 0, S_XPLD1), // S_BUMBLEBORE_DIE + + STATE(SPR_BBUZ, 0, -1, {NULL}, 0, 0, S_NULL), // S_BUGGLEIDLE + STATE(SPR_BBUZ, FF_ANIMATE, -1, {NULL}, 1, 2, S_NULL), // S_BUGGLEFLY + + STATE(SPR_FMCE, 0, 20, {NULL}, 0, 0, S_SMASHSPIKE_EASE1), // S_SMASHSPIKE_FLOAT + STATE(SPR_FMCE, 0, 4, {A_ZThrust}, 4, (1<<16)|1, S_SMASHSPIKE_EASE2), // S_SMASHSPIKE_EASE1 + STATE(SPR_FMCE, 0, 4, {A_ZThrust}, 0, (1<<16)|1, S_SMASHSPIKE_FALL), // S_SMASHSPIKE_EASE2 + STATE(SPR_FMCE, 0, 2, {A_ZThrust}, -6, 1, S_SMASHSPIKE_FALL), // S_SMASHSPIKE_FALL + STATE(SPR_FMCE, 1, 2, {A_MultiShotDist}, (MT_DUST<<16)|10, -48, S_SMASHSPIKE_STOMP2), // S_SMASHSPIKE_STOMP1 + STATE(SPR_FMCE, 2, 14, {NULL}, 0, 0, S_SMASHSPIKE_RISE1), // S_SMASHSPIKE_STOMP2 + STATE(SPR_FMCE, 1, 2, {NULL}, 0, 0, S_SMASHSPIKE_RISE2), // S_SMASHSPIKE_RISE1 + STATE(SPR_FMCE, 0, 2, {A_ZThrust}, 6, (1<<16)|1, S_SMASHSPIKE_RISE2), // S_SMASHSPIKE_RISE2 + + STATE(SPR_CACO, 0, 5, {A_Look}, (1100<<16)|1, 0, S_CACO_LOOK), // S_CACO_LOOK + STATE(SPR_CACO, 1, 0, {A_MultiShotDist}, (MT_DUST<<16)|7, -48, S_CACO_WAKE2), // S_CACO_WAKE1 + STATE(SPR_CACO, 1, 10, {A_ZThrust}, 4, (1<<16)|1, S_CACO_WAKE3), // S_CACO_WAKE2 + STATE(SPR_CACO, 2, 8, {A_ZThrust}, 2, (1<<16)|1, S_CACO_WAKE4), // S_CACO_WAKE3 + STATE(SPR_CACO, 2, 4, {A_ZThrust}, 0, (1<<16)|1, S_CACO_ROAR), // S_CACO_WAKE4 + STATE(SPR_CACO, 2, 10, {A_PlayActiveSound}, 0, 0, S_CACO_CHASE), // S_CACO_ROAR + STATE(SPR_CACO, 2, 5, {A_JetChase}, 0, 0, S_CACO_CHASE_REPEAT), // S_CACO_CHASE + STATE(SPR_CACO, 2, 0, {A_Repeat}, 5, S_CACO_CHASE, S_CACO_RANDOM), // S_CACO_CHASE_REPEAT + STATE(SPR_CACO, 2, 0, {A_RandomState}, S_CACO_PREPARE_SOUND, S_CACO_CHASE, S_CACO_RANDOM), // S_CACO_RANDOM + STATE(SPR_CACO, 2, 8, {A_PlaySound}, sfx_s3k95, 1, S_CACO_PREPARE1), // S_CACO_PREPARE_SOUND + STATE(SPR_CACO, 3, 8, {NULL}, 0, 0, S_CACO_PREPARE2), // S_CACO_PREPARE1 + STATE(SPR_CACO, 4|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_PREPARE3), // S_CACO_PREPARE2 + STATE(SPR_CACO, 5|FF_FULLBRIGHT, 8, {NULL}, 0, 0, S_CACO_SHOOT_SOUND), // S_CACO_PREPARE3 + STATE(SPR_CACO, 4|FF_FULLBRIGHT, 0, {A_PlaySound}, sfx_s3k4e, 1, S_CACO_SHOOT1), // S_CACO_SHOOT_SOUND + STATE(SPR_CACO, 4|FF_FULLBRIGHT, 0, {A_SpawnParticleRelative}, 0, S_CACOFIRE_EXPLODE1, S_CACO_SHOOT2), // S_CACO_SHOOT1 + STATE(SPR_CACO, 4|FF_FULLBRIGHT, 6, {A_FireShot}, MT_CACOFIRE, -24, S_CACO_CLOSE), // S_CACO_SHOOT2 + STATE(SPR_CACO, 3, 15, {NULL}, 0, 0, S_CACO_CHASE), // S_CACO_CLOSE + STATE(SPR_CACO, 10, 0, {A_SetObjectFlags}, MF_NOBLOCKMAP, 0, S_CACO_DIE_GIB1), // S_CACO_DIE_FLAGS + STATE(SPR_CACO, 10, 0, {A_NapalmScatter}, (7<<16)|MT_CACOSHARD, (30<<16)|20, S_CACO_DIE_GIB2), // S_CACO_DIE_GIB1 + STATE(SPR_CACO, 10, 0, {A_NapalmScatter}, (10<<16)|MT_CACOSHARD, (24<<16)|32, S_CACO_DIE_SCREAM), // S_CACO_DIE_GIB2 + STATE(SPR_CACO, 10, 0, {A_Scream}, 0, 0, S_CACO_DIE_SHATTER), // S_CACO_DIE_SCREAM + STATE(SPR_CACO, 10, 0, {A_PlaySound}, sfx_pumpkn, 1, S_CACO_DIE_FALL), // S_CACO_DIE_SHATTER + STATE(SPR_CACO, 10, 250, {A_FlickySpawn}, (1<<16), 0, S_NULL), // S_CACO_DIE_FALL + + STATE(SPR_CACO, 6, 0, {A_RandomState}, S_CACOSHARD1_1, S_CACOSHARD2_1, S_NULL), // S_CACOSHARD_RANDOMIZE + STATE(SPR_CACO, 6, 3, {NULL}, 0, 0, S_CACOSHARD1_2), // S_CACOSHARD1_1 + STATE(SPR_CACO, 7, 3, {NULL}, 0, 0, S_CACOSHARD1_1), // S_CACOSHARD1_2 + STATE(SPR_CACO, 8, 3, {NULL}, 0, 0, S_CACOSHARD2_2), // S_CACOSHARD2_1 + STATE(SPR_CACO, 9, 3, {NULL}, 0, 0, S_CACOSHARD2_1), // S_CACOSHARD2_2 + STATE(SPR_BAL2, FF_FULLBRIGHT, 2, {A_GhostMe}, 0, 0, S_CACOFIRE2), // S_CACOFIRE1 + STATE(SPR_BAL2, 1|FF_FULLBRIGHT, 2, {A_GhostMe}, 0, 0, S_CACOFIRE3), // S_CACOFIRE2 + STATE(SPR_BAL2, FF_FULLBRIGHT, 0, {A_PlayActiveSound}, 0, 0, S_CACOFIRE1), // S_CACOFIRE3 + STATE(SPR_BAL2, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE2), // S_CACOFIRE_EXPLODE1 + STATE(SPR_BAL2, 3|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE3), // S_CACOFIRE_EXPLODE2 + STATE(SPR_BAL2, 4|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CACOFIRE_EXPLODE4), // S_CACOFIRE_EXPLODE3 + STATE(SPR_BAL2, 5|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_CACOFIRE_EXPLODE4 + + STATE(SPR_SBOB, 1, 10, {A_ZThrust}, -2, (1<<16)|1, S_SPINBOBERT_MOVE_UP), // S_SPINBOBERT_MOVE_FLIPUP + STATE(SPR_SBOB, 0, 45, {A_ZThrust}, 4, (1<<16)|1, S_SPINBOBERT_MOVE_FLIPDOWN), // S_SPINBOBERT_MOVE_UP + STATE(SPR_SBOB, 1, 10, {A_ZThrust}, 2, (1<<16)|1, S_SPINBOBERT_MOVE_DOWN), // S_SPINBOBERT_MOVE_FLIPDOWN + STATE(SPR_SBOB, 2, 45, {A_ZThrust}, -4, (1<<16)|1, S_SPINBOBERT_MOVE_FLIPUP), // S_SPINBOBERT_MOVE_DOWN + STATE(SPR_SBSK, FF_FULLBRIGHT, 1, {A_RotateSpikeBall}, 0, 0, S_SPINBOBERT_FIRE_GHOST), // S_SPINBOBERT_FIRE_MOVE + STATE(SPR_SBSK, FF_FULLBRIGHT, 0, {A_SpawnParticleRelative}, 0, S_SPINBOBERT_FIRE_TRAIL1, S_SPINBOBERT_FIRE_MOVE), // S_SPINBOBERT_FIRE_GHOST + STATE(SPR_SBFL, 2|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINBOBERT_FIRE_TRAIL2), // S_SPINBOBERT_FIRE_TRAIL1 + STATE(SPR_SBFL, 1|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_SPINBOBERT_FIRE_TRAIL3), // S_SPINBOBERT_FIRE_TRAIL2 + STATE(SPR_SBFL, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL), // S_SPINBOBERT_FIRE_TRAIL3 + + STATE(SPR_HBAT, 0, 5, {A_Look}, (900<<16)|1, 0, S_HANGSTER_LOOK), // S_HANGSTER_LOOK + STATE(SPR_HBAT, 1, 0, {A_MultiShotDist}, (MT_DUST<<16)|10, -34, S_HANGSTER_SWOOP2), // S_HANGSTER_SWOOP1 + STATE(SPR_HBAT, 1, 2, {A_ZThrust}, -8, (1<<16)|1, S_HANGSTER_SWOOP2), // S_HANGSTER_SWOOP2 + STATE(SPR_HBAT, 1, 6, {A_ZThrust}, -5, (1<<16), S_HANGSTER_ARC2), // S_HANGSTER_ARC1 + STATE(SPR_HBAT, 1, 5, {A_ZThrust}, -2, (1<<16), S_HANGSTER_ARC3), // S_HANGSTER_ARC2 + STATE(SPR_HBAT, 1, 1, {A_ZThrust}, 0, (1<<16), S_HANGSTER_FLY1), // S_HANGSTER_ARC3 + STATE(SPR_HBAT, 1, 4, {A_Thrust}, 6, 1, S_HANGSTER_FLY2), // S_HANGSTER_FLY1 + STATE(SPR_HBAT, 2, 1, {A_PlaySound}, sfx_s3k52, 1, S_HANGSTER_FLY3), // S_HANGSTER_FLY2 + STATE(SPR_HBAT, 3, 4, {A_Thrust}, 6, 1, S_HANGSTER_FLY4), // S_HANGSTER_FLY3 + STATE(SPR_HBAT, 2, 1, {A_Thrust}, 6, 1, S_HANGSTER_FLYREPEAT), // S_HANGSTER_FLY4 + STATE(SPR_HBAT, 2, 0, {A_Repeat}, 12, S_HANGSTER_FLY1, S_HANGSTER_ARCUP1), // S_HANGSTER_FLYREPEAT + STATE(SPR_HBAT, 1, 5, {A_ZThrust}, 2, (1<<16), S_HANGSTER_ARCUP2), // S_HANGSTER_ARCUP1 + STATE(SPR_HBAT, 1, 6, {A_ZThrust}, 5, (1<<16), S_HANGSTER_ARCUP3), // S_HANGSTER_ARCUP2 + STATE(SPR_HBAT, 1, 1, {A_ZThrust}, 0, (1<<16), S_HANGSTER_RETURN1), // S_HANGSTER_ARCUP3 + STATE(SPR_HBAT, 1, 1, {A_ZThrust}, 8, (1<<16), S_HANGSTER_RETURN2), // S_HANGSTER_RETURN1 + STATE(SPR_HBAT, 3, 1, {NULL}, 0, 0, S_HANGSTER_RETURN1), // S_HANGSTER_RETURN2 + STATE(SPR_HBAT, 0, 15, {NULL}, 0, 0, S_HANGSTER_LOOK), // S_HANGSTER_RETURN3 + + STATE(SPR_NULL, 0, 35, {NULL}, 0, 0, S_CRUMBLE2), // S_CRUMBLE1 + STATE(SPR_NULL, 0, 105, {A_Scream}, 0, 0, S_NULL), // S_CRUMBLE2 // Spark - {SPR_NULL, 0, 1, {A_ModuloToState}, 2, S_SPRK2, S_SPRK3}, // S_SPRK1 - {SPR_SPRK, FF_TRANS20|FF_ANIMATE|0, 18, {NULL}, 8, 2, S_NULL}, // S_SPRK2 - {SPR_SPRK, FF_TRANS20|FF_ANIMATE|9, 18, {NULL}, 8, 2, S_NULL}, // S_SPRK3 + STATE(SPR_NULL, 0, 1, {A_ModuloToState}, 2, S_SPRK2, S_SPRK3), // S_SPRK1 + STATE(SPR_SPRK, FF_TRANS20|FF_ANIMATE|0, 18, {NULL}, 8, 2, S_NULL), // S_SPRK2 + STATE(SPR_SPRK, FF_TRANS20|FF_ANIMATE|9, 18, {NULL}, 8, 2, S_NULL), // S_SPRK3 // Robot Explosion - {SPR_BOM1, 0, 0, {A_FlickySpawn}, 0, 0, S_XPLD1}, // S_XPLD_FLICKY - {SPR_BOM1, 0, 2, {A_ShadowScream}, 0, 0, S_XPLD2}, // S_XPLD1 - {SPR_BOM1, 1, 2, {NULL}, 0, 0, S_XPLD3}, // S_XPLD2 - {SPR_BOM1, 2, 3, {NULL}, 0, 0, S_XPLD4}, // S_XPLD3 - {SPR_BOM1, 3, 3, {NULL}, 0, 0, S_XPLD5}, // S_XPLD4 - {SPR_BOM1, 4, 4, {NULL}, 0, 0, S_XPLD6}, // S_XPLD5 - {SPR_BOM1, 5, 4, {NULL}, 0, 0, S_NULL}, // S_XPLD6 + STATE(SPR_BOM1, 0, 0, {A_FlickySpawn}, 0, 0, S_XPLD1), // S_XPLD_FLICKY + STATE(SPR_BOM1, 0, 2, {A_ShadowScream}, 0, 0, S_XPLD2), // S_XPLD1 + STATE(SPR_BOM1, 1, 2, {NULL}, 0, 0, S_XPLD3), // S_XPLD2 + STATE(SPR_BOM1, 2, 3, {NULL}, 0, 0, S_XPLD4), // S_XPLD3 + STATE(SPR_BOM1, 3, 3, {NULL}, 0, 0, S_XPLD5), // S_XPLD4 + STATE(SPR_BOM1, 4, 4, {NULL}, 0, 0, S_XPLD6), // S_XPLD5 + STATE(SPR_BOM1, 5, 4, {NULL}, 0, 0, S_NULL), // S_XPLD6 - {SPR_BOM1, FF_ANIMATE, 21, {NULL}, 5, 4, S_INVISIBLE}, // S_XPLD_EGGTRAP + STATE(SPR_BOM1, FF_ANIMATE, 21, {NULL}, 5, 4, S_INVISIBLE), // S_XPLD_EGGTRAP // Underwater Explosion - {SPR_BOM4, 0, 3, {A_ShadowScream}, 0, 0, S_WPLD2}, // S_WPLD1 - {SPR_BOM4, 1, 3, {NULL}, 0, 0, S_WPLD3}, // S_WPLD2 - {SPR_BOM4, 2, 3, {NULL}, 0, 0, S_WPLD4}, // S_WPLD3 - {SPR_BOM4, 3, 3, {NULL}, 0, 0, S_WPLD5}, // S_WPLD4 - {SPR_BOM4, 4, 3, {NULL}, 0, 0, S_WPLD6}, // S_WPLD5 - {SPR_BOM4, 5, 3, {NULL}, 0, 0, S_NULL}, // S_WPLD6 - - {SPR_DUST, FF_TRANS40, 4, {NULL}, 0, 0, S_DUST2}, // S_DUST1 - {SPR_DUST, 1|FF_TRANS50, 5, {NULL}, 0, 0, S_DUST3}, // S_DUST2 - {SPR_DUST, 2|FF_TRANS60, 3, {NULL}, 0, 0, S_DUST4}, // S_DUST3 - {SPR_DUST, 3|FF_TRANS70, 2, {NULL}, 0, 0, S_NULL}, // S_DUST4 - - {SPR_NULL, 0, 1, {A_RockSpawn}, 0, 0, S_ROCKSPAWN}, // S_ROCKSPAWN - - {SPR_ROIA, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL}, // S_ROCKCRUMBLEA - {SPR_ROIB, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEB - {SPR_ROIC, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEC - {SPR_ROID, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLED - {SPR_ROIE, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEE - {SPR_ROIF, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEF - {SPR_ROIG, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL}, // S_ROCKCRUMBLEG - {SPR_ROIH, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL}, // S_ROCKCRUMBLEH - {SPR_ROII, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEI - {SPR_ROIJ, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL}, // S_ROCKCRUMBLEJ - {SPR_ROIK, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL}, // S_ROCKCRUMBLEK - {SPR_ROIL, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEL - {SPR_ROIM, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEM - {SPR_ROIN, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEN - {SPR_ROIO, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEO - {SPR_ROIP, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_ROCKCRUMBLEP - - {SPR_GFZD, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL}, // S_GFZDEBRIS - {SPR_BRIC, FF_ANIMATE, -1, {A_DebrisRandom}, 7, 2, S_NULL}, // S_BRICKDEBRIS - {SPR_WDDB, FF_ANIMATE, -1, {A_DebrisRandom}, 7, 2, S_NULL}, // S_WOODDEBRIS - {SPR_BRIR, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL}, // S_REDBRICKDEBRIS - {SPR_BRIB, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL}, // S_BLUEBRICKDEBRIS - {SPR_BRIY, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL}, // S_YELLOWBRICKDEBRIS - - {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK + STATE(SPR_BOM4, 0, 3, {A_ShadowScream}, 0, 0, S_WPLD2), // S_WPLD1 + STATE(SPR_BOM4, 1, 3, {NULL}, 0, 0, S_WPLD3), // S_WPLD2 + STATE(SPR_BOM4, 2, 3, {NULL}, 0, 0, S_WPLD4), // S_WPLD3 + STATE(SPR_BOM4, 3, 3, {NULL}, 0, 0, S_WPLD5), // S_WPLD4 + STATE(SPR_BOM4, 4, 3, {NULL}, 0, 0, S_WPLD6), // S_WPLD5 + STATE(SPR_BOM4, 5, 3, {NULL}, 0, 0, S_NULL), // S_WPLD6 + + STATE(SPR_DUST, FF_TRANS40, 4, {NULL}, 0, 0, S_DUST2), // S_DUST1 + STATE(SPR_DUST, 1|FF_TRANS50, 5, {NULL}, 0, 0, S_DUST3), // S_DUST2 + STATE(SPR_DUST, 2|FF_TRANS60, 3, {NULL}, 0, 0, S_DUST4), // S_DUST3 + STATE(SPR_DUST, 3|FF_TRANS70, 2, {NULL}, 0, 0, S_NULL), // S_DUST4 + + STATE(SPR_NULL, 0, 1, {A_RockSpawn}, 0, 0, S_ROCKSPAWN), // S_ROCKSPAWN + + STATE(SPR_ROIA, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL), // S_ROCKCRUMBLEA + STATE(SPR_ROIB, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEB + STATE(SPR_ROIC, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEC + STATE(SPR_ROID, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLED + STATE(SPR_ROIE, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEE + STATE(SPR_ROIF, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEF + STATE(SPR_ROIG, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL), // S_ROCKCRUMBLEG + STATE(SPR_ROIH, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL), // S_ROCKCRUMBLEH + STATE(SPR_ROII, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEI + STATE(SPR_ROIJ, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL), // S_ROCKCRUMBLEJ + STATE(SPR_ROIK, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 4, 2, S_NULL), // S_ROCKCRUMBLEK + STATE(SPR_ROIL, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEL + STATE(SPR_ROIM, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEM + STATE(SPR_ROIN, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEN + STATE(SPR_ROIO, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEO + STATE(SPR_ROIP, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL), // S_ROCKCRUMBLEP + + STATE(SPR_GFZD, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL), // S_GFZDEBRIS + STATE(SPR_BRIC, FF_ANIMATE, -1, {A_DebrisRandom}, 7, 2, S_NULL), // S_BRICKDEBRIS + STATE(SPR_WDDB, FF_ANIMATE, -1, {A_DebrisRandom}, 7, 2, S_NULL), // S_WOODDEBRIS + STATE(SPR_BRIR, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL), // S_REDBRICKDEBRIS + STATE(SPR_BRIB, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL), // S_BLUEBRICKDEBRIS + STATE(SPR_BRIY, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 31, 1, S_NULL), // S_YELLOWBRICKDEBRIS + + STATE(SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL), // S_NAMECHECK }; +#undef STATE + mobjinfo_t mobjinfo[NUMMOBJTYPES] = { { // MT_NULL diff --git a/src/info.h b/src/info.h index 0ec31f77aa5b3bd27b115f1718df38f0ae0dff75..cf0460ed2b65dc93187901fa6bd9e839a579c8c9 100644 --- a/src/info.h +++ b/src/info.h @@ -4105,8 +4105,8 @@ typedef struct UINT32 frame; // we use the upper 16 bits for translucency and other shade effects INT32 tics; actionf_t action; - INT32 var1; - INT32 var2; + action_val_t var1; + action_val_t var2; statenum_t nextstate; } state_t; diff --git a/src/lua_infolib.c b/src/lua_infolib.c index 0c5660a081632a383176c37d48e907e15345f339..9a0ea33cd76a859cb73851cad8a83b8f03bcce87 100644 --- a/src/lua_infolib.c +++ b/src/lua_infolib.c @@ -620,21 +620,24 @@ static int framepivot_num(lua_State *L) // STATE INFO // //////////////// +static void PushActionValue(lua_State *L, action_val_t arg) +{ + if (ACTION_VAL_IS_INTEGER(arg)) + lua_pushinteger(L, ACTION_VAL_AS_INTEGER(arg)); + else if (ACTION_VAL_IS_DECIMAL(arg)) + lua_pushfixed(L, ACTION_VAL_AS_DECIMAL(arg)); + else if (ACTION_VAL_IS_BOOLEAN(arg)) + lua_pushboolean(L, ACTION_VAL_AS_BOOLEAN(arg)); + else if (ACTION_VAL_IS_STRING(arg)) + lua_pushlstring(L, arg.v_string.chars, arg.v_string.length); + else if (ACTION_VAL_IS_NULL(arg)) + lua_pushnil(L); +} + static void PushActionArguments(lua_State *L, action_val_t *args, unsigned argcount) { for (unsigned i = 0; i < argcount; i++) - { - if (ACTION_VAL_IS_INTEGER(args[i])) - lua_pushinteger(L, ACTION_VAL_AS_INTEGER(args[i])); - else if (ACTION_VAL_IS_DECIMAL(args[i])) - lua_pushfixed(L, ACTION_VAL_AS_DECIMAL(args[i])); - else if (ACTION_VAL_IS_BOOLEAN(args[i])) - lua_pushboolean(L, ACTION_VAL_AS_BOOLEAN(args[i])); - else if (ACTION_VAL_IS_STRING(args[i])) - lua_pushlstring(L, args[i].v_string.chars, args[i].v_string.length); - else if (ACTION_VAL_IS_NULL(args[i])) - lua_pushnil(L); - } + PushActionValue(L, args[i]); } // Uses astate to determine which state is calling it @@ -773,9 +776,9 @@ static int lib_setState(lua_State *L) return luaL_typerror(L, 3, "function"); } } else if (i == 5 || (str && fastcmp(str, "var1"))) { - state->var1 = (INT32)luaL_checkinteger(L, 3); + LUA_ValueToActionVal(L, 3, &state->var1); } else if (i == 6 || (str && fastcmp(str, "var2"))) { - state->var2 = (INT32)luaL_checkinteger(L, 3); + LUA_ValueToActionVal(L, 3, &state->var2); } else if (i == 7 || (str && fastcmp(str, "nextstate"))) { value = luaL_checkinteger(L, 3); if (value < S_NULL || value >= NUMSTATES) @@ -976,10 +979,14 @@ static int state_get(lua_State *L) // because the metatable will trigger. lua_getglobal(L, name); // actually gets from LREG_ACTIONS if applicable, and pushes a META_ACTION userdata if not. return 1; // return just the function - } else if (fastcmp(field,"var1")) - number = st->var1; - else if (fastcmp(field,"var2")) - number = st->var2; + } else if (fastcmp(field,"var1")) { + PushActionValue(L, st->var1); + return 1; + } + else if (fastcmp(field,"var2")) { + PushActionValue(L, st->var2); + return 1; + } else if (fastcmp(field,"nextstate")) number = st->nextstate; else if (devparm) @@ -1046,9 +1053,9 @@ static int state_set(lua_State *L) return luaL_typerror(L, 3, "function"); } } else if (fastcmp(field,"var1")) - st->var1 = (INT32)luaL_checknumber(L, 3); + LUA_ValueToActionVal(L, 3, &st->var1); else if (fastcmp(field,"var2")) - st->var2 = (INT32)luaL_checknumber(L, 3); + LUA_ValueToActionVal(L, 3, &st->var2); else if (fastcmp(field,"nextstate")) { value = luaL_checkinteger(L, 3); if (value < S_NULL || value >= NUMSTATES) diff --git a/src/p_action.h b/src/p_action.h index 8d8d028dfdfcd9a129852e564d92dca254f6606c..9a23cab0d2ebf2fd2b8b24823f391e4eca1759bd 100644 --- a/src/p_action.h +++ b/src/p_action.h @@ -16,6 +16,10 @@ #include "p_mobj.h" +INT32 Action_ValueToInteger(action_val_t value); + +char *Action_ValueToString(action_val_t value); + void Action_MakeString(action_string_t *out, const char *str); // IMPORTANT NOTE: If you add/remove from this list of action diff --git a/src/p_enemy.c b/src/p_enemy.c index 9ad5a8fc8a4225f7cf681591e866fe4b4d315796..61effc1432c12cc6aa3e2e733a9e05c94cbc2037 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -739,16 +739,50 @@ static const char *Action_GetTypeName(UINT8 type) #define ARGS_VALUE_EXPECTED(expectedType) \ CONS_Alert(CONS_WARNING, "%s: in argument #%d: expected value of type %s, but was of type %s\n", action_name, argnum+1, Action_GetTypeName(expectedType), Action_GetTypeName(args[argnum].type)) +INT32 Action_ValueToInteger(action_val_t value) +{ + if (ACTION_VAL_IS_INTEGER(value)) + return ACTION_VAL_AS_INTEGER(value); + else if (ACTION_VAL_IS_DECIMAL(value)) + return FixedInt(ACTION_VAL_AS_DECIMAL(value)); + else if (ACTION_VAL_IS_BOOLEAN(value)) + return ACTION_VAL_AS_BOOLEAN(value) ? 1 : 0; + + return 0; +} + +char *Action_ValueToString(action_val_t value) +{ + size_t bufsize = 128; + + if (ACTION_VAL_IS_INTEGER(value)) + { + char *buffer = Z_Malloc(bufsize, PU_STATIC, NULL); + snprintf(buffer, bufsize, "<integer> %d", Action_ValueToInteger(value)); + return buffer; + } + else if (ACTION_VAL_IS_DECIMAL(value)) + { + char *buffer = Z_Malloc(bufsize, PU_STATIC, NULL); + snprintf(buffer, bufsize, "<decimal> %f", FixedToFloat(ACTION_VAL_AS_DECIMAL(value))); + return buffer; + } + else if (ACTION_VAL_IS_BOOLEAN(value)) + return ACTION_VAL_AS_BOOLEAN(value) ? Z_StrDup("<boolean> true") : Z_StrDup("<boolean> false"); + else if (ACTION_VAL_IS_STRING(value)) + return Z_StrDup("<string>"); + else if (ACTION_VAL_IS_NULL(value)) + return Z_StrDup("<null>"); + + return Z_StrDup("<unknown>"); +} + static INT32 GetInteger(action_val_t *args, unsigned argcount, unsigned argnum, const char *action_name) { ARGS_CHECK_VALID(0); - if (ACTION_VAL_IS_INTEGER(args[argnum])) - return ACTION_VAL_AS_INTEGER(args[argnum]); - else if (ACTION_VAL_IS_DECIMAL(args[argnum])) - return FixedInt(ACTION_VAL_AS_DECIMAL(args[argnum])); - else if (ACTION_VAL_IS_BOOLEAN(args[argnum])) - return ACTION_VAL_AS_BOOLEAN(args[argnum]) ? 1 : 0; + if (ACTION_VAL_IS_INTEGER(args[argnum]) || ACTION_VAL_IS_DECIMAL(args[argnum]) || ACTION_VAL_IS_BOOLEAN(args[argnum])) + return Action_ValueToInteger(args[argnum]); ARGS_VALUE_EXPECTED(ACTION_VAL_INTEGER); @@ -7971,8 +8005,8 @@ void A_GuardChase(mobj_t *actor, action_val_t *args, unsigned argcount) && actor->tracer->state->action.acp1) { action_val_t call_args[2] = { - ACTION_INTEGER_VAL(actor->tracer->state->var1), - ACTION_INTEGER_VAL(actor->tracer->state->var2) + actor->tracer->state->var1, + actor->tracer->state->var2 }; actor->tracer->state->action.acpscr(actor->tracer, call_args, 2); } @@ -8113,8 +8147,8 @@ void A_Boss1Spikeballs(mobj_t *actor, action_val_t *args, unsigned argcount) S_StartSound(ball, ball->info->seesound); action_val_t call_args[2] = { - ACTION_INTEGER_VAL(ball->state->var1), - ACTION_INTEGER_VAL(ball->state->var2) + ball->state->var1, + ball->state->var2 }; ball->state->action.acpscr(ball, call_args, 2); } @@ -9433,15 +9467,15 @@ void A_DualAction(mobj_t *actor, action_val_t *args, unsigned argcount) action_val_t call_args[2]; - call_args[0] = ACTION_INTEGER_VAL(states[locvar1].var1); - call_args[1] = ACTION_INTEGER_VAL(states[locvar1].var2); + call_args[0] = states[locvar1].var1; + call_args[1] = states[locvar1].var2; astate = &states[locvar1]; CONS_Debug(DBG_GAMELOGIC, "A_DualAction: Calling First Action (state %d)...\n", locvar1); states[locvar1].action.acpscr(actor, call_args, 2); - call_args[0] = ACTION_INTEGER_VAL(states[locvar2].var1); - call_args[1] = ACTION_INTEGER_VAL(states[locvar2].var2); + call_args[0] = states[locvar2].var1; + call_args[1] = states[locvar2].var2; astate = &states[locvar2]; CONS_Debug(DBG_GAMELOGIC, "A_DualAction: Calling Second Action (state %d)...\n", locvar2); @@ -9523,13 +9557,20 @@ void A_RemoteAction(mobj_t *actor, action_val_t *args, unsigned argcount) { // Steal the var1 and var2 from "locvar2" action_val_t call_args[2] = { - ACTION_INTEGER_VAL(states[locvar2].var1), - ACTION_INTEGER_VAL(states[locvar2].var2) + states[locvar2].var1, + states[locvar2].var2 }; astate = &states[locvar2]; + char *var1str = Action_ValueToString(states[locvar2].var1); + char *var2str = Action_ValueToString(states[locvar2].var2); + CONS_Debug(DBG_GAMELOGIC, "A_RemoteAction: Calling action on %p\n" - "var1 is %d\nvar2 is %d\n", actor->target, states[locvar2].var1, states[locvar2].var2); + "var1 is %s\nvar2 is %s\n", actor->target, var1str, var2str); + + Z_Free(var1str); + Z_Free(var2str); + states[locvar2].action.acpscr(actor->target, call_args, 2); } @@ -10669,13 +10710,13 @@ void A_CusValAction(mobj_t *actor, action_val_t *args, unsigned argcount) if (locvar2 == 5) { - call_args[0] = ACTION_INTEGER_VAL(states[locvar1].var1); + call_args[0] = states[locvar1].var1; call_args[1] = ACTION_INTEGER_VAL((INT32)actor->cvmem); } else if (locvar2 == 4) { call_args[0] = ACTION_INTEGER_VAL((INT32)actor->cvmem); - call_args[1] = ACTION_INTEGER_VAL(states[locvar1].var2); + call_args[1] = states[locvar1].var2; } else if (locvar2 == 3) { @@ -10689,13 +10730,13 @@ void A_CusValAction(mobj_t *actor, action_val_t *args, unsigned argcount) } else if (locvar2 == 1) { - call_args[0] = ACTION_INTEGER_VAL(states[locvar1].var1); + call_args[0] = states[locvar1].var1; call_args[1] = ACTION_INTEGER_VAL((INT32)actor->cusval); } else { call_args[0] = ACTION_INTEGER_VAL((INT32)actor->cusval); - call_args[1] = ACTION_INTEGER_VAL(states[locvar1].var2); + call_args[1] = states[locvar1].var2; } astate = &states[locvar1]; diff --git a/src/p_mobj.c b/src/p_mobj.c index 8b508f5881c9ce802b812672bf469a02ad975996..901bbad7ffa8f05caa11084a4aba7348dfe27334 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -58,12 +58,12 @@ void P_RunCachedActions(void) for (ac = actioncachehead.next; ac != &actioncachehead; ac = next) { - action_val_t args[2] = { - ACTION_INTEGER_VAL(states[ac->statenum].var1), - ACTION_INTEGER_VAL(states[ac->statenum].var2) - }; if (ac->mobj && !P_MobjWasRemoved(ac->mobj)) // just in case... { + action_val_t args[2] = { + states[ac->statenum].var1, + states[ac->statenum].var2 + }; astate = &states[ac->statenum]; states[ac->statenum].action.acpscr(ac->mobj, args, 2); } @@ -90,31 +90,33 @@ static void P_SetupStateAnimation(mobj_t *mobj, state_t *st) { INT32 animlength = (mobj->sprite == SPR_PLAY && mobj->skin) ? (INT32)(((skin_t *)mobj->skin)->sprites[mobj->sprite2].numframes) - 1 - : st->var1; + : Action_ValueToInteger(st->var1); if (!(st->frame & FF_ANIMATE)) return; - if (animlength <= 0 || st->var2 == 0) + INT32 var2 = Action_ValueToInteger(st->var2); + + if (animlength <= 0 || var2 == 0) { mobj->frame &= ~FF_ANIMATE; return; // Crash/stupidity prevention } - mobj->anim_duration = (UINT16)st->var2; + mobj->anim_duration = (UINT16)var2; if (st->frame & FF_GLOBALANIM) { // Attempt to account for the pre-ticker for objects spawned on load if (!leveltime) return; - mobj->anim_duration -= (leveltime + 2) % st->var2; // Duration synced to timer - mobj->frame += ((leveltime + 2) / st->var2) % (animlength + 1); // Frame synced to timer (duration taken into account) + mobj->anim_duration -= (leveltime + 2) % var2; // Duration synced to timer + mobj->frame += ((leveltime + 2) / var2) % (animlength + 1); // Frame synced to timer (duration taken into account) } else if (st->frame & FF_RANDOMANIM) { mobj->frame += P_RandomKey(animlength + 1); // Random starting frame - mobj->anim_duration -= P_RandomKey(st->var2); // Random duration for first frame + mobj->anim_duration -= P_RandomKey(var2); // Random duration for first frame } } @@ -127,14 +129,15 @@ FUNCINLINE static ATTRINLINE void P_CycleStateAnimation(mobj_t *mobj) if (!(mobj->frame & FF_ANIMATE) || --mobj->anim_duration != 0) return; - mobj->anim_duration = (UINT16)mobj->state->var2; + mobj->anim_duration = Action_ValueToInteger(mobj->state->var2); if (mobj->sprite != SPR_PLAY) { // compare the current sprite frame to the one we started from // if more than var1 away from it, swap back to the original // else just advance by one - if (((++mobj->frame) & FF_FRAMEMASK) - (mobj->state->frame & FF_FRAMEMASK) > (UINT32)mobj->state->var1) + UINT32 var1 = Action_ValueToInteger(mobj->state->var1); + if (((++mobj->frame) & FF_FRAMEMASK) - (mobj->state->frame & FF_FRAMEMASK) > var1) mobj->frame = (mobj->state->frame & FF_FRAMEMASK) | (mobj->frame & ~FF_FRAMEMASK); return; @@ -449,13 +452,14 @@ boolean P_SetPlayerMobjState(mobj_t *mobj, statenum_t state) { if (st->frame & FF_SPR2ENDSTATE) // no frame advancement { - if (st->var1 == mobj->state-states) + INT32 var1 = Action_ValueToInteger(st->var1); + if (var1 == mobj->state-states) frame--; else { if (mobj->frame & FF_FRAMEMASK) mobj->frame--; - return P_SetPlayerMobjState(mobj, st->var1); + return P_SetPlayerMobjState(mobj, var1); } } else @@ -481,8 +485,8 @@ boolean P_SetPlayerMobjState(mobj_t *mobj, statenum_t state) if (st->action.acpscr) { action_val_t args[2] = { - ACTION_INTEGER_VAL(st->var1), - ACTION_INTEGER_VAL(st->var2) + st->var1, + st->var2 }; astate = st; st->action.acpscr(mobj, args, 2); @@ -591,13 +595,14 @@ boolean P_SetMobjState(mobj_t *mobj, statenum_t state) { if (st->frame & FF_SPR2ENDSTATE) // no frame advancement { - if (st->var1 == mobj->state-states) + INT32 var1 = Action_ValueToInteger(st->var1); + if (var1 == mobj->state-states) frame--; else { if (mobj->frame & FF_FRAMEMASK) mobj->frame--; - return P_SetMobjState(mobj, st->var1); + return P_SetMobjState(mobj, var1); } } else @@ -621,8 +626,8 @@ boolean P_SetMobjState(mobj_t *mobj, statenum_t state) if (st->action.acpscr) { action_val_t args[2] = { - ACTION_INTEGER_VAL(st->var1), - ACTION_INTEGER_VAL(st->var2) + st->var1, + st->var2 }; astate = st; st->action.acpscr(mobj, args, 2); @@ -6879,8 +6884,12 @@ void P_RunOverlays(void) else viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, camera.x, camera.y); - if (!(mo->state->frame & FF_ANIMATE) && mo->state->var1) - viewingangle += ANGLE_180; + if (!(mo->state->frame & FF_ANIMATE)) + { + INT32 var1 = Action_ValueToInteger(mo->state->var1); + if (var1) + viewingangle += ANGLE_180; + } destx = mo->target->x + P_ReturnThrustX(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale)); desty = mo->target->y + P_ReturnThrustY(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale)); } @@ -6895,7 +6904,7 @@ void P_RunOverlays(void) mo->angle = (mo->target->player ? mo->target->player->drawangle : mo->target->angle) + mo->movedir; if (!(mo->state->frame & FF_ANIMATE)) - zoffs = FixedMul(((signed)mo->state->var2)*FRACUNIT, mo->scale); + zoffs = FixedMul(Action_ValueToInteger(mo->state->var2)*FRACUNIT, mo->scale); // if you're using FF_ANIMATE on an overlay, // then you're on your own. else @@ -6910,7 +6919,7 @@ void P_RunOverlays(void) mo->z = (mo->target->z + mo->target->height - mo->height) - zoffs; else mo->z = mo->target->z + zoffs; - if (mo->state->var1) + if (Action_ValueToInteger(mo->state->var1)) P_SetUnderlayPosition(mo); else P_SetThingPosition(mo); @@ -7413,7 +7422,7 @@ static void P_RosySceneryThink(mobj_t *mobj) P_SetMobjState(mobj, stat); } else if (P_MobjFlip(mobj)*mobj->momz < 0) - mobj->frame = mobj->state->frame + mobj->state->var1; + mobj->frame = mobj->state->frame + Action_ValueToInteger(mobj->state->var1); } if (!player) @@ -7465,7 +7474,7 @@ static void P_RosySceneryThink(mobj_t *mobj) max = pdist; if ((--mobj->extravalue1) <= 0) { - if (++mobj->frame > mobj->state->frame + mobj->state->var1) + if (++mobj->frame > mobj->state->frame + Action_ValueToInteger(mobj->state->var1)) mobj->frame = mobj->state->frame; if (mom > 12*mobj->scale) mobj->extravalue1 = 2; @@ -9942,9 +9951,10 @@ static void P_FiringThink(mobj_t *mobj) { if (mobj->state->tics > 1) { + INT32 var2 = Action_ValueToInteger(mobj->state->var2); action_val_t args[2] = { - ACTION_INTEGER_VAL(mobj->state->var1), - ACTION_INTEGER_VAL(mobj->state->var2 & 65535) + mobj->state->var1, + ACTION_INTEGER_VAL(var2 & 65535) }; mobj->state->action.acpscr(mobj, args, 2); } @@ -10833,8 +10843,8 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) ball->threshold = ball->radius + mobj->radius + FixedMul(ball->info->painchance, ball->scale); action_val_t args[2] = { - ACTION_INTEGER_VAL(ball->state->var1), - ACTION_INTEGER_VAL(ball->state->var2) + ball->state->var1, + ball->state->var2 }; ball->state->action.acpscr(ball, args, 2); } @@ -11053,8 +11063,8 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) else { action_val_t args[2] = { - ACTION_INTEGER_VAL(st->var1), - ACTION_INTEGER_VAL(st->var2) + st->var1, + st->var2 }; astate = st; st->action.acpscr(mobj, args, 2); diff --git a/src/p_saveg.c b/src/p_saveg.c index 4aa2318fd2902d172c7a35a82a1c9d54dcf113ad..3681fb73c82ac3d11d10a4bf5ce0e0a3c94dfd75 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -1720,7 +1720,7 @@ static void SaveMobjThinker(const thinker_t *th, const UINT8 type) diff |= MD_SPRITE; if (mobj->frame != mobj->state->frame) diff |= MD_FRAME; - if (mobj->anim_duration != (UINT16)mobj->state->var2) + if (mobj->anim_duration != (UINT16)(Action_ValueToInteger(mobj->state->var2))) diff |= MD_FRAME; if (mobj->eflags) diff |= MD_EFLAGS; @@ -2941,7 +2941,7 @@ static thinker_t* LoadMobjThinker(actionf_p1 thinker) else { mobj->frame = mobj->state->frame; - mobj->anim_duration = (UINT16)mobj->state->var2; + mobj->anim_duration = (UINT16)(Action_ValueToInteger(mobj->state->var2)); } if (diff & MD_EFLAGS) mobj->eflags = READUINT16(save_p);