"Delete items" sector type

This commit is contained in:
Sally Cochenour 2020-03-21 19:54:24 -04:00
parent 58df481cd3
commit 22702f88bc
2 changed files with 39 additions and 5 deletions

View file

@ -8014,6 +8014,13 @@ void P_MobjThinker(mobj_t *mobj)
case MT_ORBINAUT: case MT_ORBINAUT:
{ {
boolean grounded = P_IsObjectOnGround(mobj); boolean grounded = P_IsObjectOnGround(mobj);
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->flags2 & MF2_AMBUSH) if (mobj->flags2 & MF2_AMBUSH)
{ {
if (grounded && (mobj->flags & MF_NOCLIPTHING)) if (grounded && (mobj->flags & MF_NOCLIPTHING))
@ -8084,6 +8091,12 @@ void P_MobjThinker(mobj_t *mobj)
{ {
mobj_t *ghost = P_SpawnGhostMobj(mobj); mobj_t *ghost = P_SpawnGhostMobj(mobj);
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->target && !P_MobjWasRemoved(mobj->target) && mobj->target->player) if (mobj->target && !P_MobjWasRemoved(mobj->target) && mobj->target->player)
{ {
ghost->color = mobj->target->player->skincolor; ghost->color = mobj->target->player->skincolor;
@ -8107,6 +8120,13 @@ void P_MobjThinker(mobj_t *mobj)
case MT_JAWZ_DUD: case MT_JAWZ_DUD:
{ {
boolean grounded = P_IsObjectOnGround(mobj); boolean grounded = P_IsObjectOnGround(mobj);
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->flags2 & MF2_AMBUSH) if (mobj->flags2 & MF2_AMBUSH)
{ {
if (grounded && (mobj->flags & MF_NOCLIPTHING)) if (grounded && (mobj->flags & MF_NOCLIPTHING))
@ -8167,6 +8187,12 @@ void P_MobjThinker(mobj_t *mobj)
case MT_EGGMANITEM: case MT_EGGMANITEM:
mobj->friction = ORIG_FRICTION/4; mobj->friction = ORIG_FRICTION/4;
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->momx || mobj->momy) if (mobj->momx || mobj->momy)
{ {
mobj_t *ghost = P_SpawnGhostMobj(mobj); mobj_t *ghost = P_SpawnGhostMobj(mobj);
@ -8196,6 +8222,12 @@ void P_MobjThinker(mobj_t *mobj)
mobj_t *ghost = P_SpawnGhostMobj(mobj); mobj_t *ghost = P_SpawnGhostMobj(mobj);
ghost->fuse = 3; ghost->fuse = 3;
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->target && !P_MobjWasRemoved(mobj->target) && mobj->target->player) if (mobj->target && !P_MobjWasRemoved(mobj->target) && mobj->target->player)
{ {
ghost->color = mobj->target->player->skincolor; ghost->color = mobj->target->player->skincolor;
@ -8228,6 +8260,12 @@ void P_MobjThinker(mobj_t *mobj)
mobj->threshold--; mobj->threshold--;
break; break;
case MT_SSMINE: case MT_SSMINE:
if (P_MobjTouchingSectorSpecial(mobj, 4, 7, true))
{
P_RemoveMobj(mobj);
return;
}
if (mobj->target && mobj->target->player) if (mobj->target && mobj->target->player)
mobj->color = mobj->target->player->skincolor; mobj->color = mobj->target->player->skincolor;
else else

View file

@ -4055,11 +4055,7 @@ DoneSection2:
} }
break; break;
case 7: // SRB2kart 190117 - Oil Slick (deprecated) case 7: // SRB2Kart: Destroy items
if (roversector || P_MobjReadyToTrigger(player->mo, sector))
{
K_SpinPlayer(player, NULL, 0, NULL, false);
}
break; break;
case 8: // Zoom Tube Start case 8: // Zoom Tube Start