From a40ff7502599f39cb9842dd3a27f4d8f5cd2af33 Mon Sep 17 00:00:00 2001 From: Latapostrophe Date: Sun, 12 May 2019 14:17:56 +0200 Subject: [PATCH] SPB intangibility --- src/p_enemy.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/p_enemy.c b/src/p_enemy.c index bf1cacdc..7963286d 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -8355,6 +8355,7 @@ void A_SPBChase(mobj_t *actor) actor->lastlook = -1; spbplace = -1; P_InstaThrust(actor, actor->angle, wspeed); + actor->flags &= ~MF_NOCLIPTHING; // just in case. return; } @@ -8384,6 +8385,10 @@ void A_SPBChase(mobj_t *actor) { if (actor->tracer && actor->tracer->health) { + + // we're tailing a player, now's a good time to regain our damage properties + actor->flags &= ~MF_NOCLIPTHING; + fixed_t defspeed = wspeed; fixed_t range = (160*actor->tracer->scale); fixed_t cx = 0, cy =0; @@ -8515,6 +8520,9 @@ void A_SPBChase(mobj_t *actor) { actor->momx = actor->momy = actor->momz = 0; // Stoooop + // don't hurt players that have nothing to do with this: + actor->flags |= MF_NOCLIPTHING; + if (actor->lastlook != -1 && playeringame[actor->lastlook] && !players[actor->lastlook].spectator @@ -8550,6 +8558,10 @@ void A_SPBChase(mobj_t *actor) } // Found someone, now get close enough to initiate the slaughter... + + // don't hurt players that have nothing to do with this: + actor->flags |= MF_NOCLIPTHING; + P_SetTarget(&actor->tracer, player->mo); spbplace = bestrank;