From 4db78ba88afa6651d6a24644e655a1da38c0c172 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 6 Oct 2019 16:04:19 +0100 Subject: [PATCH] Fix Minus causing crashes if it picks up a Snapper. --- src/p_enemy.c | 5 +++-- src/p_inter.c | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index f2ea9f867..1c044191e 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -5359,7 +5359,6 @@ static boolean PIT_MinusCarry(mobj_t *thing) return true; P_SetTarget(&minus->tracer, thing); - P_SetTarget(&thing->tracer, minus); if (thing->flags & MF_PUSHABLE) { minus->flags2 |= MF2_STRONGBOX; @@ -5428,6 +5427,9 @@ void A_MinusDigging(mobj_t *actor) A_Chase(actor); // Carry over shit, maybe + if (P_MobjWasRemoved(actor->tracer) || !actor->tracer->health) + P_SetTarget(&actor->tracer, NULL); + if (!actor->tracer) { fixed_t radius = 3*actor->radius; @@ -5456,7 +5458,6 @@ void A_MinusDigging(mobj_t *actor) actor->flags2 &= ~MF2_STRONGBOX; actor->tracer->flags |= MF_PUSHABLE; } - P_SetTarget(&actor->tracer->tracer, NULL); P_SetTarget(&actor->tracer, NULL); } } diff --git a/src/p_inter.c b/src/p_inter.c index 3ece610e7..7f65d2d7a 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2689,7 +2689,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget target->flags2 &= ~MF2_STRONGBOX; target->tracer->flags |= MF_PUSHABLE; } - P_SetTarget(&target->tracer->tracer, NULL); P_SetTarget(&target->tracer, NULL); } break;