From 33ed2924e97d6a44e387d52af852737abf1bcec3 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sat, 15 Jun 2019 14:21:27 +0200
Subject: [PATCH] Fixed minecart not exploding on death

---
 src/p_inter.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/p_inter.c b/src/p_inter.c
index 7a670e9f64..a92cde9f0b 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -2604,13 +2604,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
 			target->fuse = TICRATE*2;
 			break;
 
-		case MT_MINECART:
-			A_KillSegments(target); // found in green snapper's code - the minecart segments need hardcode-side support to flash while they have a nonzero fuse
-			A_Scream(target);
-			P_SetMobjState(target, S_TNTBARREL_EXPL3);
-			target->momx = target->momy = target->momz = 0;
-			break;
-
 		case MT_PLAYER:
 			{
 				target->fuse = TICRATE*3; // timer before mobj disappears from view (even if not an actual player)
@@ -2640,7 +2633,14 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
 	}
 
 	// Final state setting - do something instead of P_SetMobjState;
-	if (target->type == MT_SPIKE && target->info->deathstate != S_NULL)
+	if (target->type == MT_MINECART)
+	{
+		A_KillSegments(target); // found in green snapper's code - the minecart segments need hardcode-side support to flash while they have a nonzero fuse
+		A_Scream(target);
+		P_SetMobjState(target, S_TNTBARREL_EXPL3);
+		target->momx = target->momy = target->momz = 0;
+	}
+	else if (target->type == MT_SPIKE && target->info->deathstate != S_NULL)
 	{
 		const angle_t ang = ((inflictor) ? inflictor->angle : 0) + ANGLE_90;
 		const fixed_t scale = target->scale;
-- 
GitLab