diff --git a/src/info.c b/src/info.c index 1089cdd65..110879741 100644 --- a/src/info.c +++ b/src/info.c @@ -13777,7 +13777,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_01_CENTER - 570, // doomednum + 2200, // doomednum S_FLICKY_01_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -13799,7 +13799,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -13831,7 +13831,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_02_CENTER - 571, // doomednum + 2201, // doomednum S_FLICKY_02_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -13853,7 +13853,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -13885,7 +13885,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_03_CENTER - 572, // doomednum + 2202, // doomednum S_FLICKY_03_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -13907,7 +13907,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -13939,7 +13939,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_04_CENTER - 573, // doomednum + 2203, // doomednum S_FLICKY_04_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -13961,7 +13961,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -13993,7 +13993,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_05_CENTER - 574, // doomednum + 2204, // doomednum S_FLICKY_05_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14015,7 +14015,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14047,7 +14047,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_06_CENTER - 575, // doomednum + 2205, // doomednum S_FLICKY_06_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14069,7 +14069,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14101,7 +14101,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_07_CENTER - 576, // doomednum + 2206, // doomednum S_FLICKY_07_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14123,7 +14123,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14155,7 +14155,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_08_CENTER - 577, // doomednum + 2207, // doomednum S_FLICKY_08_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14177,7 +14177,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14209,7 +14209,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_09_CENTER - 578, // doomednum + 2208, // doomednum S_FLICKY_09_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14231,7 +14231,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14263,7 +14263,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_10_CENTER - 579, // doomednum + 2209, // doomednum S_FLICKY_10_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14285,7 +14285,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14317,7 +14317,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_11_CENTER - 580, // doomednum + 2210, // doomednum S_FLICKY_11_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14339,7 +14339,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14371,7 +14371,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_12_CENTER - 581, // doomednum + 2211, // doomednum S_FLICKY_12_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14393,7 +14393,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14425,7 +14425,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_13_CENTER - 582, // doomednum + 2212, // doomednum S_FLICKY_13_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14447,7 +14447,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14479,7 +14479,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_14_CENTER - 583, // doomednum + 2213, // doomednum S_FLICKY_14_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14501,7 +14501,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14533,7 +14533,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_15_CENTER - 584, // doomednum + 2214, // doomednum S_FLICKY_15_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14555,7 +14555,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14587,7 +14587,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_FLICKY_16_CENTER - 585, // doomednum + 2215, // doomednum S_FLICKY_16_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14609,7 +14609,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14641,7 +14641,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_SECRETFLICKY_01_CENTER - 586, // doomednum + 2216, // doomednum S_SECRETFLICKY_01_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14663,7 +14663,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, @@ -14695,7 +14695,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = }, { // MT_SECRETFLICKY_02_CENTER - 587, // doomednum + 2217, // doomednum S_SECRETFLICKY_02_CENTER, // spawnstate 1000, // spawnhealth S_NULL, // seestate @@ -14717,7 +14717,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = 16, // mass 0, // damage sfx_None, // activesound - MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags S_NULL // raisestate }, diff --git a/src/p_enemy.c b/src/p_enemy.c index f1705d8dd..44cb23cdd 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -10845,7 +10845,7 @@ void A_FlickyCenter(mobj_t *actor) | ((actor->spawnpoint->options & MTF_OBJECTSPECIAL) ? MF_GRENADEBOUNCE : 0) | ((actor->spawnpoint->options & MTF_AMBUSH) ? MF_NOCLIPTHING : 0) ); - actor->extravalue1 = actor->spawnpoint->angle; + actor->extravalue1 = abs(actor->spawnpoint->angle) * FRACUNIT; actor->extravalue2 = actor->spawnpoint->extrainfo; actor->friction = actor->spawnpoint->x*FRACUNIT; actor->movefactor = actor->spawnpoint->y*FRACUNIT; @@ -10859,7 +10859,7 @@ void A_FlickyCenter(mobj_t *actor) | ((flickyflags & 2) ? MF_GRENADEBOUNCE : 0) | ((flickyflags & 4) ? MF_NOCLIPTHING : 0) ); - actor->extravalue1 = 0; // move sign from var1 bit 24, distance from var2 + actor->extravalue1 = locvar2; // don't abs() yet, for movedir actor->extravalue2 = flickycolor; actor->friction = actor->x; actor->movefactor = actor->y; @@ -10895,6 +10895,10 @@ void A_FlickyCenter(mobj_t *actor) P_InternalFlickySetColor(actor->tracer, actor->extravalue2); actor->extravalue2 = 0; + + // Now abs() extravalue1 (home radius) + if (!actor->spawnpoint) + actor->extravalue1 = abs(actor->extravalue1); } if (!(actor->flags & MF_SLIDEME) && !(actor->flags & MF_NOCLIPTHING)) @@ -10905,12 +10909,9 @@ void A_FlickyCenter(mobj_t *actor) actor->tracer->fuse = FRACUNIT; - if (actor->extravalue1) - locvar2 = abs(actor->extravalue1)*FRACUNIT; - P_LookForPlayers(actor, true, false, locvar2); - if (actor->target && P_AproxDistance(actor->target->x - originx, actor->target->y - originy) < locvar2) + if (actor->target && P_AproxDistance(actor->target->x - originx, actor->target->y - originy) < actor->extravalue1) { actor->extravalue2 = 1; P_TeleportMove(actor, actor->target->x, actor->target->y, actor->target->z);