From dcdbf911a5f1f9a363e9a624ad070f02f5ad5302 Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 3 Oct 2018 20:56:43 +0100 Subject: [PATCH] Don't have all of your mines disappear into the aether if you have to shield-drop ONE, because they're not all out at once. (This is only really relevant to debug testing, given picking up additional HUD-dropped mines isn't very likely. --- src/k_kart.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index db317803..823cbf97 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3140,7 +3140,7 @@ void K_DropHnextList(player_t *player) mobj_t *work = player->mo, *nextwork, *dropwork; INT32 flip; mobjtype_t type; - boolean orbit, ponground; + boolean orbit, ponground, dropall = true; if (!work) return; @@ -3180,6 +3180,7 @@ void K_DropHnextList(player_t *player) break; case MT_SSMINE_SHIELD: orbit = false; + dropall = false; type = MT_SSMINE; break; case MT_FAKESHIELD: @@ -3258,7 +3259,8 @@ void K_DropHnextList(player_t *player) player->kartstuff[k_bananadrag] = 0; if (player->kartstuff[k_eggmanheld]) player->kartstuff[k_eggmanheld] = 0; - else if (player->kartstuff[k_itemheld]) + else if (player->kartstuff[k_itemheld] + && (dropall || (--player->kartstuff[k_itemamount] <= 0))) { player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0; player->kartstuff[k_itemtype] = KITEM_NONE;