From 39deb64e4fcf491cae46a693a0fac02e8c1b8cd8 Mon Sep 17 00:00:00 2001 From: MascaraSnake <jonassauer27@gmail.com> Date: Sat, 15 Jun 2019 21:43:36 +0200 Subject: [PATCH] Streamlined the minecart death handling --- src/p_inter.c | 2 ++ src/p_user.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 4c2d192972..956a13c2eb 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2607,6 +2607,8 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget case MT_MINECART: A_Scream(target); target->momx = target->momy = target->momz = 0; + if (target->target && target->target->health) + P_KillMobj(target->target, target, source, 0); break; case MT_PLAYER: diff --git a/src/p_user.c b/src/p_user.c index c8e5254eaf..b44a6f1182 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -10004,7 +10004,6 @@ static void P_MinecartThink(player_t *player) fa = (minecart->angle >> ANGLETOFINESHIFT) & FINEMASK; if (!P_TryMove(minecart, minecart->x + FINECOSINE(fa), minecart->y + FINESINE(fa), true)) { - P_KillMobj(player->mo, NULL, NULL, 0); P_KillMobj(minecart, NULL, NULL, 0); return; } @@ -10041,7 +10040,7 @@ static void P_MinecartThink(player_t *player) if (!axis) { - P_KillMobj(player->mo, NULL, NULL, 0); + P_KillMobj(minecart, NULL, NULL, 0); return; } @@ -10152,7 +10151,6 @@ static void P_MinecartThink(player_t *player) if ((P_IsObjectOnGround(minecart) && minecart->movefactor >= 5) // off rail || (abs(minecart->momx) < minecart->scale/2 && abs(minecart->momy) < minecart->scale/2)) // hit a wall { - P_KillMobj(player->mo, NULL, NULL, 0); P_KillMobj(minecart, NULL, NULL, 0); return; } -- GitLab