diff --git a/src/p_enemy.c b/src/p_enemy.c index 203e04af12e58ade1431aa872b5eb5785f752e87..ceacc1962c9e8dd5974e7c14ede1d955f92ebdce 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -9868,22 +9868,23 @@ void A_Custom3DRotate(mobj_t *actor) if (LUA_CallAction(A_CUSTOM3DROTATE, actor)) return; - if (actor->target->health == 0) + if (!actor->target) // Ensure we actually have a target first. { + CONS_Printf("Error: A_Custom3DRotate: Object has no target.\n"); P_RemoveMobj(actor); return; } - if (!actor->target) // This should NEVER happen. + if (actor->target->health == 0) { - if (cv_debug) - CONS_Printf("Error: Object has no target\n"); P_RemoveMobj(actor); return; } + if (hspeed==0 && vspeed==0) { - CONS_Printf("Error: A_Custom3DRotate: Object has no speed.\n"); + if (cv_debug) + CONS_Printf("Error: A_Custom3DRotate: Object has no speed.\n"); return; }