Check for removed target of MT_DROPTARGET_SHIELD

This commit is contained in:
AJ Martinez 2024-02-22 03:11:00 -07:00
parent 3d512c9787
commit 71b352cd67

View file

@ -520,6 +520,9 @@ boolean K_DropTargetCollide(mobj_t *t1, mobj_t *t2)
if (t2->player && (t2->player->hyudorotimer || t2->player->justbumped)) if (t2->player && (t2->player->hyudorotimer || t2->player->justbumped))
return true; return true;
if (draggeddroptarget && P_MobjWasRemoved(draggeddroptarget))
draggeddroptarget = NULL; // Beware order-of-execution on crushers, I guess?!
if (t1->health > 3) // forward thrown if (t1->health > 3) // forward thrown
{ {
strength = 0; strength = 0;
@ -650,7 +653,7 @@ boolean K_DropTargetCollide(mobj_t *t1, mobj_t *t2)
S_StartSound(t2, sfx_kdtrg1); S_StartSound(t2, sfx_kdtrg1);
} }
if (draggeddroptarget && draggeddroptarget->player) if (draggeddroptarget && !P_MobjWasRemoved(draggeddroptarget) && draggeddroptarget->player)
{ {
// The following removes t1, be warned // The following removes t1, be warned
// (its newly assigned properties are moved across) // (its newly assigned properties are moved across)