From c2b790d14add560e73a5976994ba66c6d862a104 Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 5 Nov 2018 19:58:20 +0000 Subject: [PATCH 1/2] Blank out the fancharacters as requested, but don't remove them from the info lists... a fun thing for TCRF to look at eventually, maybe, and I don't want to have to do a from-scratch build at this stage in the game or risk any instability that could arise from sweeping info cleanups. In fact, the only reason I even considered doing this is that the sprites had to be removed, leaving these actively causing errors when placed. --- src/info.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/info.c b/src/info.c index 69cc2ad2e..f5406e2e5 100644 --- a/src/info.c +++ b/src/info.c @@ -184,12 +184,12 @@ state_t states[NUMSTATES] = {SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY}, //S_OBJPLACE_DUMMY // 1-Up Box Sprites (uses player sprite) - // Kart: default to signpost just to ensure there are no missing sprite errors... - {SPR_PLAY, 18, 2, {NULL}, 0, 16, S_PLAY_BOX2}, // S_PLAY_BOX1 + // Kart: hide for now, fix for R2 + {SPR_NULL, 0, 2, {NULL}, 0, 16, S_PLAY_BOX2}, // S_PLAY_BOX1 {SPR_NULL, 0, 1, {NULL}, 0, 0, S_PLAY_BOX1}, // S_PLAY_BOX2 - {SPR_PLAY, 18, 4, {NULL}, 0, 4, S_PLAY_ICON2}, // S_PLAY_ICON1 + {SPR_NULL, 0, 4, {NULL}, 0, 4, S_PLAY_ICON2}, // S_PLAY_ICON1 {SPR_NULL, 0, 12, {NULL}, 0, 0, S_PLAY_ICON3}, // S_PLAY_ICON2 - {SPR_PLAY, 18, 18, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3 + {SPR_NULL, 0, 18, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3 // Level end sign (uses player sprite) {SPR_PLAY, 18, 1, {NULL}, 0, 24, S_PLAY_SIGN}, // S_PLAY_SIGN S @@ -2870,14 +2870,14 @@ state_t states[NUMSTATES] = {SPR_AUDI, 4|FF_ANIMATE, -1, {NULL}, 1, 17, S_NULL}, // S_AUDIENCE_CHAO_LOSE - {SPR_AUDI, 10, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_KOTE - {SPR_AUDI, 11, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_RYAN - {SPR_AUDI, 12, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_WENDY - {SPR_AUDI, 13, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_FREEZOR - {SPR_AUDI, 14, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_METALKO - {SPR_AUDI, 15, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLACKOUT - {SPR_AUDI, 16, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLADE - {SPR_AUDI, 17, -1, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_HINOTE + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_KOTE + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_RYAN + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_WENDY + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_FREEZOR + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_METALKO + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLACKOUT + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLADE + {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_HINOTE {SPR_FLAM, 0, 3, {NULL}, 0, 0, S_FLAYM2}, // S_FLAYM1, {SPR_FLAM, 1, 3, {NULL}, 0, 0, S_FLAYM3}, // S_FLAYM2, @@ -16154,7 +16154,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_KOTE - 1994, // doomednum + -1, // doomednum S_FANCHAR_KOTE, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16181,7 +16181,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_RYAN - 1995, // doomednum + -1, // doomednum S_FANCHAR_RYAN, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16208,7 +16208,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_WENDY - 1996, // doomednum + -1, // doomednum S_FANCHAR_WENDY, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16235,7 +16235,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_FREEZOR - 1997, // doomednum + -1, // doomednum S_FANCHAR_FREEZOR, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16262,7 +16262,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_METALKO - 1998, // doomednum + -1, // doomednum S_FANCHAR_METALKO, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16289,7 +16289,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_BLACKOUT - 1999, // doomednum + -1, // doomednum S_FANCHAR_BLACKOUT, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16316,7 +16316,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_BLADE - 1993, // doomednum + -1, // doomednum S_FANCHAR_BLADE, // spawnstate -1, // spawnhealth S_NULL, // seestate @@ -16343,7 +16343,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FANCHAR_HINOTE - 1992, // doomednum + -1, // doomednum S_FANCHAR_HINOTE, // spawnstate -1, // spawnhealth S_NULL, // seestate From 886613164f12583237ac6fa674d2bdf250e92a9b Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 5 Nov 2018 23:06:28 +0000 Subject: [PATCH 2/2] MT_POKEY, MT_ENEMYFLIP and the fancharacters - and the associated states/thinker modifications - gone. --- src/dehacked.c | 31 ------ src/info.c | 289 ------------------------------------------------- src/info.h | 31 ------ src/p_inter.c | 7 -- src/p_map.c | 23 +--- 5 files changed, 2 insertions(+), 379 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index 1e03c8652..846eba0ec 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6553,17 +6553,6 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit // DEZ respawn laser "S_DEZLASER", - // Pokey - "S_POKEY1", - "S_POKEY2", - "S_POKEY3", - "S_POKEY4", - "S_POKEY5", - "S_POKEY6", - "S_POKEY7", - "S_POKEY8", - "S_POKEYIDLE", - // Audience Members "S_RANDOMAUDIENCE", "S_AUDIENCE_CHAO_CHEER1", @@ -6572,15 +6561,6 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_AUDIENCE_CHAO_WIN2", "S_AUDIENCE_CHAO_LOSE", - "S_FANCHAR_KOTE", - "S_FANCHAR_RYAN", - "S_FANCHAR_WENDY", - "S_FANCHAR_FREEZOR", - "S_FANCHAR_METALKO", - "S_FANCHAR_BLACKOUT", - "S_FANCHAR_BLADE", - "S_FANCHAR_HINOTE", - // 1.0 Kart Decoratives "S_FLAYM1", "S_FLAYM2", @@ -7671,20 +7651,9 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_DEZLASER", - "MT_POKEY", // Huh, thought this was a default asset for some reason, guess not. - - "MT_ENEMYFLIP", "MT_WAYPOINT", "MT_RANDOMAUDIENCE", - "MT_FANCHAR_KOTE", - "MT_FANCHAR_RYAN", - "MT_FANCHAR_WENDY", - "MT_FANCHAR_FREEZOR", - "MT_FANCHAR_METALKO", - "MT_FANCHAR_BLACKOUT", - "MT_FANCHAR_BLADE", - "MT_FANCHAR_HINOTE", "MT_FLAYM", "MT_DEVIL", diff --git a/src/info.c b/src/info.c index f5406e2e5..345308a21 100644 --- a/src/info.c +++ b/src/info.c @@ -2850,16 +2850,6 @@ state_t states[NUMSTATES] = {SPR_DEZL, FF_FULLBRIGHT|FF_PAPERSPRITE, 8, {NULL}, 0, 0, S_NULL}, // S_DEZLASER - {SPR_POKE, 0, 2, {A_MoveAbsolute}, 0, 2, S_POKEY2}, // S_POKEY1 - {SPR_POKE, 1, 2, {A_MoveAbsolute}, 0, 2, S_POKEY3}, // S_POKEY2 - {SPR_POKE, 2, 2, {A_MoveAbsolute}, 0, 2, S_POKEY4}, // S_POKEY3 - {SPR_POKE, 3, 2, {A_MoveAbsolute}, 0, 2, S_POKEY1}, // S_POKEY4 - {SPR_POKE, 0, 2, {A_MoveAbsolute}, 180, 2, S_POKEY6}, // S_POKEY5 - {SPR_POKE, 1, 2, {A_MoveAbsolute}, 180, 2, S_POKEY7}, // S_POKEY6 - {SPR_POKE, 2, 2, {A_MoveAbsolute}, 180, 2, S_POKEY8}, // S_POKEY7 - {SPR_POKE, 3, 2, {A_MoveAbsolute}, 180, 2, S_POKEY5}, // S_POKEY8 - {SPR_NULL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_POKEYIDLE - {SPR_NULL, 0, 1, {A_RandomStateRange}, S_AUDIENCE_CHAO_CHEER1, S_AUDIENCE_CHAO_CHEER2, S_RANDOMAUDIENCE}, // S_RANDOMAUDIENCE {SPR_AUDI, 0, 5, {NULL}, 0, 0, S_AUDIENCE_CHAO_CHEER2}, // S_AUDIENCE_CHAO_CHEER1 @@ -2870,15 +2860,6 @@ state_t states[NUMSTATES] = {SPR_AUDI, 4|FF_ANIMATE, -1, {NULL}, 1, 17, S_NULL}, // S_AUDIENCE_CHAO_LOSE - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_KOTE - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_RYAN - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_WENDY - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_FREEZOR - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_METALKO - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLACKOUT - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_BLADE - {SPR_NULL, 0, 0, {NULL}, 0, 0, S_NULL}, // S_FANCHAR_HINOTE - {SPR_FLAM, 0, 3, {NULL}, 0, 0, S_FLAYM2}, // S_FLAYM1, {SPR_FLAM, 1, 3, {NULL}, 0, 0, S_FLAYM3}, // S_FLAYM2, {SPR_FLAM, 2, 3, {NULL}, 0, 0, S_FLAYM4}, // S_FLAYM3, @@ -16045,60 +16026,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_POKEY - 2100, // doomednum - S_POKEY1, // spawnstate - 1000, // spawnhealth - S_POKEY1, // seestate - sfx_None, // seesound - 32, // reactiontime - sfx_None, // attacksound - S_NULL, // painstate - 100, // painchance - sfx_None, // painsound - S_NULL, // meleestate - S_NULL, // missilestate - S_NULL, // deathstate - S_NULL, // xdeathstate - sfx_None, // deathsound - 3, // speed - 21*FRACUNIT, // radius - 69*FRACUNIT, // height - 0, // display offset - 100, // mass - 0, // damage - sfx_None, // activesound - MF_SPECIAL|MF_SHOOTABLE, // flags - S_NULL // raisestate - }, - - { // MT_ENEMYFLIP - 2101, // doomednum - S_NULL, // spawnstate - 1000, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 8, // reactiontime - sfx_None, // attacksound - S_NULL, // painstate - 100, // painchance - sfx_None, // painsound - S_NULL, // meleestate - S_NULL, // missilestate - S_NULL, // deathstate - S_NULL, // xdeathstate - sfx_None, // deathsound - 8, // speed - 32*FRACUNIT, // radius - 64*FRACUNIT, // height - 0, // display offset - 100, // mass - 0, // damage - sfx_None, // activesound - MF_SCENERY, // flags - S_NULL // raisestate - }, - { // MT_WAYPOINT 2001, // doomednum S_NULL, // spawnstate @@ -16153,222 +16080,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_FANCHAR_KOTE - -1, // doomednum - S_FANCHAR_KOTE, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_RYAN - -1, // doomednum - S_FANCHAR_RYAN, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_WENDY - -1, // doomednum - S_FANCHAR_WENDY, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_FREEZOR - -1, // doomednum - S_FANCHAR_FREEZOR, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_METALKO - -1, // doomednum - S_FANCHAR_METALKO, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_BLACKOUT - -1, // doomednum - S_FANCHAR_BLACKOUT, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_BLADE - -1, // doomednum - S_FANCHAR_BLADE, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - - { // MT_FANCHAR_HINOTE - -1, // doomednum - S_FANCHAR_HINOTE, // spawnstate - -1, // spawnhealth - S_NULL, // seestate - sfx_None, // seesound - 0, // 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 - 0, // speed - 1048576, // radius - 3670016, // height - 0, // display offset - 1000, // mass - 0, // damage - sfx_None, // activesound - MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags - S_NULL // raisestate - }, - { // MT_FLAYM 1479, // doomednum S_FLAYM1, // spawnstate diff --git a/src/info.h b/src/info.h index 2176219dd..0db544aab 100644 --- a/src/info.h +++ b/src/info.h @@ -3517,17 +3517,6 @@ typedef enum state // DEZ Laser respawn S_DEZLASER, - // Pokey - S_POKEY1, - S_POKEY2, - S_POKEY3, - S_POKEY4, - S_POKEY5, - S_POKEY6, - S_POKEY7, - S_POKEY8, - S_POKEYIDLE, - // Audience Members S_RANDOMAUDIENCE, S_AUDIENCE_CHAO_CHEER1, @@ -3536,15 +3525,6 @@ typedef enum state S_AUDIENCE_CHAO_WIN2, S_AUDIENCE_CHAO_LOSE, - S_FANCHAR_KOTE, - S_FANCHAR_RYAN, - S_FANCHAR_WENDY, - S_FANCHAR_FREEZOR, - S_FANCHAR_METALKO, - S_FANCHAR_BLACKOUT, - S_FANCHAR_BLADE, - S_FANCHAR_HINOTE, - // 1.0 Kart Decoratives S_FLAYM1, S_FLAYM2, @@ -4668,20 +4648,9 @@ typedef enum mobj_type MT_DEZLASER, - MT_POKEY, // Huh, thought this was a default asset for some reason, guess not. - - MT_ENEMYFLIP, MT_WAYPOINT, MT_RANDOMAUDIENCE, - MT_FANCHAR_KOTE, - MT_FANCHAR_RYAN, - MT_FANCHAR_WENDY, - MT_FANCHAR_FREEZOR, - MT_FANCHAR_METALKO, - MT_FANCHAR_BLACKOUT, - MT_FANCHAR_BLADE, - MT_FANCHAR_HINOTE, MT_FLAYM, MT_DEVIL, diff --git a/src/p_inter.c b/src/p_inter.c index 0529c0d59..781442e27 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -3150,13 +3150,6 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da return false; } - // SRB2kart 011617 - Special Case for Pokey so it doesn't die. - if (target->type == MT_POKEY) - { - target->threshold = 1; - return false; - } - // Special case for Crawla Commander if (target->type == MT_CRAWLACOMMANDER) { diff --git a/src/p_map.c b/src/p_map.c index f9eb8bc2c..aec6a036b 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -1112,25 +1112,6 @@ static boolean PIT_CheckThing(mobj_t *thing) return true; } - if (thing->type == MT_POKEY) - { - // see if it went over / under - if (tmthing->z > thing->z + thing->height) - return true; // overhead - if (tmthing->z + tmthing->height < thing->z) - return true; // underneath - - if (tmthing->type == MT_ENEMYFLIP) - { - if (tmthing->angle) - P_SetMobjState(thing, S_POKEY5); - else - P_SetMobjState(thing, S_POKEY1); - } - if (tmthing->type == MT_PLAYER && !thing->threshold) - P_DamageMobj(tmthing, thing, thing->target, 1); - } - //} if ((thing->type == MT_FALLINGROCK && (tmthing->player || tmthing->type == MT_FALLINGROCK)) @@ -1380,13 +1361,13 @@ static boolean PIT_CheckThing(mobj_t *thing) }*/ // check for special pickup - if (thing->flags & MF_SPECIAL && tmthing->player && thing->type != MT_POKEY) + if (thing->flags & MF_SPECIAL && tmthing->player) { P_TouchSpecialThing(thing, tmthing, true); // can remove thing return true; } // check again for special pickup - if (tmthing->flags & MF_SPECIAL && thing->player && tmthing->type != MT_POKEY) + if (tmthing->flags & MF_SPECIAL && thing->player) { P_TouchSpecialThing(tmthing, thing, true); // can remove thing return true;