From cf79bc8382c414ae6973636b92cecb1403cd36c9 Mon Sep 17 00:00:00 2001
From: SMS Alfredo <msriofan3629@gmail.com>
Date: Fri, 26 Nov 2021 14:11:09 +0000
Subject: [PATCH] Fix #214 (Crushstacean + Fireball Player Removal)

---
 src/p_enemy.c | 4 +---
 src/p_inter.c | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/p_enemy.c b/src/p_enemy.c
index 49907bdcca..8329b4f57f 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -3518,9 +3518,7 @@ void A_Scream(mobj_t *actor)
 	if (LUA_CallAction(A_SCREAM, actor))
 		return;
 
-	if (actor->tracer && (actor->tracer->type == MT_SHELL || actor->tracer->type == MT_FIREBALL))
-		S_StartScreamSound(actor, sfx_mario2);
-	else if (actor->info->deathsound)
+	if (actor->info->deathsound && !S_SoundPlaying(actor, sfx_mario2))
 		S_StartScreamSound(actor, actor->info->deathsound);
 }
 
diff --git a/src/p_inter.c b/src/p_inter.c
index 21e3bfa3de..4b958fb893 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -2391,7 +2391,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
 	mobj_t *mo;
 
 	if (inflictor && (inflictor->type == MT_SHELL || inflictor->type == MT_FIREBALL))
-		P_SetTarget(&target->tracer, inflictor);
+		S_StartScreamSound(target, sfx_mario2);
 
 	if (!(maptol & TOL_NIGHTS) && G_IsSpecialStage(gamemap) && target->player && target->player->nightstime > 6)
 		target->player->nightstime = 6; // Just let P_Ticker take care of the rest.
-- 
GitLab