From 89a0b216a125c51d5cb0604cb2ea89261f94fb09 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Wed, 30 Apr 2025 18:23:26 -0400 Subject: [PATCH] Report stale skincolor crash fix --- src/p_enemy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index f9901218f..35c3da2ae 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -11116,6 +11116,7 @@ void A_SSMineExplode(mobj_t *actor) INT32 d; INT32 locvar1 = var1; mobjtype_t type; + skincolornum_t color = SKINCOLOR_KETCHUP; explodedist = FixedMul((3*actor->info->painchance)/2, actor->scale); if (LUA_CallAction(A_SSMINEEXPLODE, actor)) @@ -11143,10 +11144,10 @@ void A_SSMineExplode(mobj_t *actor) for (d = 0; d < 16; d++) K_SpawnKartExplosion(actor->x, actor->y, actor->z, explodedist + 32*mapobjectscale, 32, type, d*(ANGLE_45/4), true, false, actor->target); // 32 <-> 64 - if (actor->target && actor->target->player) - K_SpawnMineExplosion(actor, actor->target->player->skincolor); - else - K_SpawnMineExplosion(actor, SKINCOLOR_KETCHUP); + if (!P_MobjWasRemoved(actor->target) && actor->target->player) + color = actor->target->player->skincolor; + + K_SpawnMineExplosion(actor, color); P_SpawnMobj(actor->x, actor->y, actor->z, MT_MINEEXPLOSIONSOUND);