Revert MT_FIREBALL to vanilla, remove MT_FIRETRAIL, MT_BALLHOG added, bigger Jawz explosions

This commit is contained in:
SeventhSentinel 2018-06-25 17:12:01 -04:00
parent 11aaad1837
commit 501bfae9ac
9 changed files with 65 additions and 82 deletions

View file

@ -5807,15 +5807,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_FIREBALL2", "S_FIREBALL2",
"S_FIREBALL3", "S_FIREBALL3",
"S_FIREBALL4", "S_FIREBALL4",
"S_FIREBALL5",
"S_FIREBALL6",
"S_FIREBALL7",
"S_FIREBALLEXP1", "S_FIREBALLEXP1",
"S_FIREBALLEXP2", "S_FIREBALLEXP2",
"S_FIREBALLEXP3", "S_FIREBALLEXP3",
"S_FIREBALLEXP4",
"S_FIREBALLEXP5",
"S_FIREBALLEXP6",
"S_SHELL", "S_SHELL",
"S_SHELL1", "S_SHELL1",
"S_SHELL2", "S_SHELL2",
@ -7155,6 +7149,8 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_BOOMEXPLODE", "MT_BOOMEXPLODE",
"MT_BOOMPARTICLE", "MT_BOOMPARTICLE",
"MT_BALLHOG", // Ballhog
"MT_BLUELIGHTNING", // Grow/shrink stuff "MT_BLUELIGHTNING", // Grow/shrink stuff
"MT_BLUEEXPLOSION", "MT_BLUEEXPLOSION",
"MT_LIGHTNING", "MT_LIGHTNING",

View file

@ -2125,19 +2125,13 @@ state_t states[NUMSTATES] =
{SPR_FFWR, 3, 3, {NULL}, 0, 0, S_FIREFLOWER1}, // S_FIREFLOWER4 {SPR_FFWR, 3, 3, {NULL}, 0, 0, S_FIREFLOWER1}, // S_FIREFLOWER4
// Thrown Mario Fireball // Thrown Mario Fireball
{SPR_FBLL, FF_FULLBRIGHT, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL2}, // S_FIREBALL1 {SPR_FBLL, FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FIREBALL2}, // S_FIREBALL1
{SPR_FBLL, FF_FULLBRIGHT|1, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL3}, // S_FIREBALL2 {SPR_FBLL, FF_FULLBRIGHT|1, 3, {NULL}, 0, 0, S_FIREBALL3}, // S_FIREBALL2
{SPR_FBLL, FF_FULLBRIGHT|2, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL4}, // S_FIREBALL3 {SPR_FBLL, FF_FULLBRIGHT|2, 3, {NULL}, 0, 0, S_FIREBALL4}, // S_FIREBALL3
{SPR_FBLL, FF_FULLBRIGHT|3, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL5}, // S_FIREBALL4 {SPR_FBLL, FF_FULLBRIGHT|3, 3, {NULL}, 0, 0, S_FIREBALL1}, // S_FIREBALL4
{SPR_FBLL, FF_FULLBRIGHT|4, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL6}, // S_FIREBALL5 {SPR_FBLL, FF_FULLBRIGHT|4, 3, {NULL}, 0, 0, S_FIREBALLEXP2}, // S_FIREBALLEXP1
{SPR_FBLL, FF_FULLBRIGHT|5, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL7}, // S_FIREBALL6 {SPR_FBLL, FF_FULLBRIGHT|5, 3, {NULL}, 0, 0, S_FIREBALLEXP3}, // S_FIREBALLEXP2
{SPR_FBLL, FF_FULLBRIGHT|6, 3, {NULL}, MT_FIRETRAIL, 0, S_FIREBALL1}, // S_FIREBALL7 {SPR_FBLL, FF_FULLBRIGHT|6, 3, {NULL}, 0, 0, S_NULL}, // S_FIREBALLEXP3
{SPR_FBLL, FF_FULLBRIGHT|7, 3, {NULL}, 0, 0, S_FIREBALLEXP2}, // S_FIREBALLEXP1
{SPR_FBLL, FF_FULLBRIGHT|8, 3, {NULL}, 0, 0, S_FIREBALLEXP3}, // S_FIREBALLEXP2
{SPR_FBLL, FF_FULLBRIGHT|9, 3, {NULL}, 0, 0, S_FIREBALLEXP4}, // S_FIREBALLEXP3
{SPR_FBLL, FF_FULLBRIGHT|10, 3, {NULL}, 0, 0, S_FIREBALLEXP5}, // S_FIREBALLEXP4
{SPR_FBLL, FF_FULLBRIGHT|11, 3, {NULL}, 0, 0, S_FIREBALLEXP6}, // S_FIREBALLEXP5
{SPR_FBLL, FF_FULLBRIGHT|12, 3, {NULL}, 0, 0, S_NULL}, // S_FIREBALLEXP6
// Turtle Shell // Turtle Shell
{SPR_SHLL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHELL {SPR_SHLL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHELL
@ -12022,7 +12016,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
{ // MT_FIREBALL { // MT_FIREBALL
-1, // doomednum -1, // doomednum
S_FIREBALL1, // spawnstate S_FIREBALL1, // spawnstate
140, // spawnhealth 1000, // spawnhealth
S_FIREBALLEXP1, // seestate S_FIREBALLEXP1, // seestate
sfx_None, // seesound sfx_None, // seesound
8, // reactiontime 8, // reactiontime
@ -12034,15 +12028,15 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_FIREBALLEXP1, // missilestate S_FIREBALLEXP1, // missilestate
S_FIREBALLEXP1, // deathstate S_FIREBALLEXP1, // deathstate
S_FIREBALLEXP1, // xdeathstate S_FIREBALLEXP1, // xdeathstate
sfx_None, // deathsound sfx_mario1, // deathsound
0, // speed 10*FRACUNIT, // speed
16*FRACUNIT, // radius 4*FRACUNIT, // radius
32*FRACUNIT, // height 8*FRACUNIT, // height
0, // display offset 0, // display offset
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_BOUNCE, // flags MF_NOBLOCKMAP|MF_FIRE|MF_MISSILE, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14615,33 +14609,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_FIRETRAIL
-1, // doomednum
S_FIRETRAIL1, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
8, // speed
20*FRACUNIT, // radius
16*FRACUNIT, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_JAWZ { // MT_JAWZ
-1, // doomednum -1, // doomednum
S_JAWZ1, // spawnstate S_JAWZ1, // spawnstate
@ -14912,6 +14879,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_BALLHOG
-1, // doomednum
S_FIREBALL1, // spawnstate
140, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_FIREBALLEXP1, // deathstate
S_NULL, // xdeathstate
sfx_mario1, // deathsound
0, // speed
16*FRACUNIT, // radius
32*FRACUNIT, // height
0, // display offset
100, // mass
1, // damage
sfx_None, // activesound
MF_SHOOTABLE|MF_BOUNCE, // flags
S_NULL // raisestate
},
{ // MT_BLUELIGHTNING { // MT_BLUELIGHTNING
-1, // doomednum -1, // doomednum
S_BLUELIGHTNING1, // spawnstate S_BLUELIGHTNING1, // spawnstate

View file

@ -2649,15 +2649,9 @@ typedef enum state
S_FIREBALL2, S_FIREBALL2,
S_FIREBALL3, S_FIREBALL3,
S_FIREBALL4, S_FIREBALL4,
S_FIREBALL5,
S_FIREBALL6,
S_FIREBALL7,
S_FIREBALLEXP1, S_FIREBALLEXP1,
S_FIREBALLEXP2, S_FIREBALLEXP2,
S_FIREBALLEXP3, S_FIREBALLEXP3,
S_FIREBALLEXP4,
S_FIREBALLEXP5,
S_FIREBALLEXP6,
S_SHELL, S_SHELL,
S_SHELL1, S_SHELL1,
S_SHELL2, S_SHELL2,
@ -3999,7 +3993,6 @@ typedef enum mobj_type
MT_GREENSHIELD, // Orbinaut stuff MT_GREENSHIELD, // Orbinaut stuff
MT_GREENITEM, MT_GREENITEM,
MT_FIRETRAIL,
MT_JAWZ, // Jawz stuff MT_JAWZ, // Jawz stuff
MT_JAWZ_DUD, MT_JAWZ_DUD,
@ -4014,6 +4007,8 @@ typedef enum mobj_type
MT_BOOMEXPLODE, MT_BOOMEXPLODE,
MT_BOOMPARTICLE, MT_BOOMPARTICLE,
MT_BALLHOG, // Ballhog
MT_BLUELIGHTNING, // Grow/shrink stuff MT_BLUELIGHTNING, // Grow/shrink stuff
MT_BLUEEXPLOSION, MT_BLUEEXPLOSION,
MT_LIGHTNING, MT_LIGHTNING,

View file

@ -2128,7 +2128,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
if (missile) // Shootables if (missile) // Shootables
{ {
if (mapthing == MT_FIREBALL) // Messy if (mapthing == MT_BALLHOG) // Messy
{ {
if (dir == -1) if (dir == -1)
{ {
@ -3288,7 +3288,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO) if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO)
{ {
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
K_ThrowKartItem(player, true, MT_FIREBALL, 1, false); K_ThrowKartItem(player, true, MT_BALLHOG, 1, false);
S_StartSound(player->mo, sfx_mario7); S_StartSound(player->mo, sfx_mario7);
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
} }

View file

@ -8270,7 +8270,7 @@ void A_JawzExplode(mobj_t *actor)
#endif #endif
truc = P_SpawnMobj(actor->x, actor->y, actor->z, MT_BOOMEXPLODE); truc = P_SpawnMobj(actor->x, actor->y, actor->z, MT_BOOMEXPLODE);
truc->scale = actor->scale; truc->scale = actor->scale*2;
truc->color = SKINCOLOR_RED; truc->color = SKINCOLOR_RED;
while (shrapnel) while (shrapnel)
@ -8279,7 +8279,7 @@ void A_JawzExplode(mobj_t *actor)
truc = P_SpawnMobj(actor->x + P_RandomRange(-8, 8)*FRACUNIT, actor->y + P_RandomRange(-8, 8)*FRACUNIT, truc = P_SpawnMobj(actor->x + P_RandomRange(-8, 8)*FRACUNIT, actor->y + P_RandomRange(-8, 8)*FRACUNIT,
actor->z + P_RandomRange(0, 8)*FRACUNIT, MT_BOOMPARTICLE); actor->z + P_RandomRange(0, 8)*FRACUNIT, MT_BOOMPARTICLE);
truc->scale = actor->scale; truc->scale = actor->scale*2;
speed = FixedMul(7*FRACUNIT, actor->scale)>>FRACBITS; speed = FixedMul(7*FRACUNIT, actor->scale)>>FRACBITS;
truc->momx = P_RandomRange(-speed, speed)*FRACUNIT; truc->momx = P_RandomRange(-speed, speed)*FRACUNIT;

View file

@ -2080,7 +2080,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
|| target->type == MT_JAWZ || target->type == MT_JAWZ_DUD || target->type == MT_JAWZ_SHIELD || target->type == MT_JAWZ || target->type == MT_JAWZ_DUD || target->type == MT_JAWZ_SHIELD
|| target->type == MT_BANANA || target->type == MT_BANANA_SHIELD || target->type == MT_BANANA || target->type == MT_BANANA_SHIELD
|| target->type == MT_FAKEITEM || target->type == MT_FAKESHIELD || target->type == MT_FAKEITEM || target->type == MT_FAKESHIELD
|| target->type == MT_FIREBALL)) // kart dead items || target->type == MT_BALLHOG)) // kart dead items
target->flags |= MF_NOGRAVITY; // Don't drop Tails 03-08-2000 target->flags |= MF_NOGRAVITY; // Don't drop Tails 03-08-2000
else else
target->flags &= ~MF_NOGRAVITY; // lose it if you for whatever reason have it, I'm looking at you shields target->flags &= ~MF_NOGRAVITY; // lose it if you for whatever reason have it, I'm looking at you shields

View file

@ -702,7 +702,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD || thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|| thing->type == MT_FIREBALL) || thing->type == MT_BALLHOG)
{ {
// Other Item Damage // Other Item Damage
if (thing->eflags & MFE_VERTICALFLIP) if (thing->eflags & MFE_VERTICALFLIP)
@ -850,7 +850,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true; // This doesn't collide with anything, but we want it to effect the player anyway. return true; // This doesn't collide with anything, but we want it to effect the player anyway.
} }
else if (tmthing->type == MT_BANANA_SHIELD || tmthing->type == MT_BANANA else if (tmthing->type == MT_BANANA_SHIELD || tmthing->type == MT_BANANA
|| tmthing->type == MT_FIREBALL) || tmthing->type == MT_BALLHOG)
{ {
// see if it went over / under // see if it went over / under
if (tmthing->z > thing->z + thing->height) if (tmthing->z > thing->z + thing->height)
@ -868,7 +868,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
&& (tmthing->target == thing->target)) // Don't hit each other if you have the same target && (tmthing->target == thing->target)) // Don't hit each other if you have the same target
return true; return true;
if (tmthing->type == MT_FIREBALL && thing->type == MT_FIREBALL) if (tmthing->type == MT_BALLHOG && thing->type == MT_BALLHOG)
return true; // Fireballs don't collide with eachother return true; // Fireballs don't collide with eachother
if (thing->player && thing->player->powers[pw_flashing]) if (thing->player && thing->player->powers[pw_flashing])
@ -894,7 +894,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|| thing->type == MT_GREENITEM || thing->type == MT_GREENSHIELD || thing->type == MT_GREENITEM || thing->type == MT_GREENSHIELD
|| thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_JAWZ_SHIELD || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_FIREBALL) || thing->type == MT_BALLHOG)
{ {
// Other Item Damage // Other Item Damage
if (thing->eflags & MFE_VERTICALFLIP) if (thing->eflags & MFE_VERTICALFLIP)
@ -975,7 +975,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (thing->type == MT_GREENITEM // When these items collide with the fake item, just the fake item is destroyed if (thing->type == MT_GREENITEM // When these items collide with the fake item, just the fake item is destroyed
|| thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_SSMINE || thing->type == MT_SSMINE
|| thing->type == MT_BANANA || thing->type == MT_FIREBALL) || thing->type == MT_BANANA || thing->type == MT_BALLHOG)
{ {
// This Item Damage // This Item Damage
if (tmthing->eflags & MFE_VERTICALFLIP) if (tmthing->eflags & MFE_VERTICALFLIP)
@ -1089,7 +1089,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|| thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|| thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE || thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE
|| thing->type == MT_MINEEXPLOSION || thing->type == MT_MINEEXPLOSION
|| thing->type == MT_SINK || thing->type == MT_FIREBALL || thing->type == MT_SINK || thing->type == MT_BALLHOG
)) ))
{ {
// see if it went over / under // see if it went over / under
@ -1131,7 +1131,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
} }
else if (thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA else if (thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|| thing->type == MT_FIREBALL) || thing->type == MT_BALLHOG)
{ {
if ((thing->target == tmthing) && (thing->threshold > 0)) if ((thing->target == tmthing) && (thing->threshold > 0))
return true; return true;

View file

@ -1724,7 +1724,7 @@ void P_XYMovement(mobj_t *mo)
P_PushableCheckBustables(mo); P_PushableCheckBustables(mo);
//{ SRB2kart - Fireball //{ SRB2kart - Fireball
if (mo->type == MT_FIREBALL) if (mo->type == MT_BALLHOG)
{ {
mo->health--; mo->health--;
if (mo->health == 0) if (mo->health == 0)
@ -1862,7 +1862,7 @@ void P_XYMovement(mobj_t *mo)
// draw damage on wall // draw damage on wall
//SPLAT TEST ---------------------------------------------------------- //SPLAT TEST ----------------------------------------------------------
#ifdef WALLSPLATS #ifdef WALLSPLATS
if (blockingline && mo->type != MT_REDRING //&& mo->type != MT_FIREBALL if (blockingline && mo->type != MT_REDRING && mo->type != MT_FIREBALL
&& !(mo->flags2 & (MF2_AUTOMATIC|MF2_RAILRING|MF2_BOUNCERING|MF2_EXPLOSION|MF2_SCATTER))) && !(mo->flags2 & (MF2_AUTOMATIC|MF2_RAILRING|MF2_BOUNCERING|MF2_EXPLOSION|MF2_SCATTER)))
// set by last P_TryMove() that failed // set by last P_TryMove() that failed
{ {
@ -1998,7 +1998,7 @@ void P_XYMovement(mobj_t *mo)
#endif #endif
//{ SRB2kart stuff //{ SRB2kart stuff
if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ_DUD || mo->type == MT_JAWZ || mo->type == MT_FIREBALL) //(mo->type == MT_JAWZ && !mo->tracer)) if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ_DUD || mo->type == MT_JAWZ || mo->type == MT_BALLHOG) //(mo->type == MT_JAWZ && !mo->tracer))
return; return;
if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/2) if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/2)
@ -2333,7 +2333,7 @@ static boolean P_ZMovement(mobj_t *mo)
case MT_GREENITEM: case MT_GREENITEM:
case MT_JAWZ: case MT_JAWZ:
case MT_JAWZ_DUD: case MT_JAWZ_DUD:
case MT_FIREBALL: case MT_BALLHOG:
// Remove stuff from death pits. // Remove stuff from death pits.
if (P_CheckDeathPitCollide(mo)) if (P_CheckDeathPitCollide(mo))
{ {
@ -7324,7 +7324,7 @@ void P_MobjThinker(mobj_t *mobj)
P_PushableThinker(mobj); P_PushableThinker(mobj);
// Extinguish fire objects in water. (Yes, it's extraordinarily rare to have a pushable flame object, but Brak uses such a case.) // Extinguish fire objects in water. (Yes, it's extraordinarily rare to have a pushable flame object, but Brak uses such a case.)
if (mobj->flags & MF_FIRE && mobj->type != MT_PUMA //&& mobj->type != MT_FIREBALL if (mobj->flags & MF_FIRE && mobj->type != MT_PUMA && mobj->type != MT_FIREBALL
&& (mobj->eflags & (MFE_UNDERWATER|MFE_TOUCHWATER))) && (mobj->eflags & (MFE_UNDERWATER|MFE_TOUCHWATER)))
{ {
P_KillMobj(mobj, NULL, NULL); P_KillMobj(mobj, NULL, NULL);
@ -8119,9 +8119,7 @@ void P_MobjThinker(mobj_t *mobj)
if (mobj->threshold > 0) if (mobj->threshold > 0)
mobj->threshold--; mobj->threshold--;
break; break;
case MT_FIREBALL: case MT_BALLHOG:
var1 = MT_FIRETRAIL;
A_SmokeTrailer(mobj);
if (mobj->threshold > 0) if (mobj->threshold > 0)
mobj->threshold--; mobj->threshold--;
break; break;
@ -8348,7 +8346,7 @@ void P_MobjThinker(mobj_t *mobj)
P_MobjCheckWater(mobj); P_MobjCheckWater(mobj);
// Extinguish fire objects in water // Extinguish fire objects in water
if (mobj->flags & MF_FIRE && mobj->type != MT_PUMA //&& mobj->type != MT_FIREBALL if (mobj->flags & MF_FIRE && mobj->type != MT_PUMA && mobj->type != MT_FIREBALL
&& (mobj->eflags & (MFE_UNDERWATER|MFE_TOUCHWATER))) && (mobj->eflags & (MFE_UNDERWATER|MFE_TOUCHWATER)))
{ {
P_KillMobj(mobj, NULL, NULL); P_KillMobj(mobj, NULL, NULL);
@ -9082,7 +9080,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
case MT_GREENITEM: case MT_GREENSHIELD: case MT_GREENITEM: case MT_GREENSHIELD:
case MT_JAWZ: case MT_JAWZ_DUD: case MT_JAWZ_SHIELD: case MT_JAWZ: case MT_JAWZ_DUD: case MT_JAWZ_SHIELD:
case MT_SSMINE: case MT_SSMINE_SHIELD: case MT_SSMINE: case MT_SSMINE_SHIELD:
case MT_FIREBALL: case MT_SINK: case MT_BALLHOG: case MT_SINK:
P_SpawnShadowMobj(mobj); P_SpawnShadowMobj(mobj);
default: default:
break; break;

View file

@ -7657,7 +7657,7 @@ void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius)
|| mo->type == MT_GREENSHIELD || mo->type == MT_JAWZ_SHIELD || mo->type == MT_GREENSHIELD || mo->type == MT_JAWZ_SHIELD
|| mo->type == MT_BANANA || mo->type == MT_BANANA_SHIELD || mo->type == MT_BANANA || mo->type == MT_BANANA_SHIELD
|| mo->type == MT_FAKEITEM || mo->type == MT_FAKESHIELD || mo->type == MT_FAKEITEM || mo->type == MT_FAKESHIELD
|| mo->type == MT_FIREBALL) || mo->type == MT_BALLHOG)
{ {
if (mo->eflags & MFE_VERTICALFLIP) if (mo->eflags & MFE_VERTICALFLIP)
mo->z -= mo->height; mo->z -= mo->height;