diff --git a/src/k_hud.c b/src/k_hud.c index a15f24409..d03ffed89 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -1278,7 +1278,8 @@ static void K_drawKartItem(void) localpatch = kp_sadface[offset]; break; default: - return; + localpatch = kp_nodraw; // diagnose underflows + break; } if ((stplyr->pflags & PF_ITEMOUT) && !(leveltime & 1)) diff --git a/src/k_kart.c b/src/k_kart.c index bf63ad04e..bf993b7fb 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -9252,8 +9252,16 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO) { K_DoThunderShield(player); - player->itemamount--; - K_PlayAttackTaunt(player->mo); + if (player->itemamount > 0) + { + // Why is this a conditional? + // Thunder shield: the only item that allows you to + // activate a mine while you're out of its radius, + // the SAME tic it sets your itemamount to 0 + // ...:dumbestass: + player->itemamount--; + K_PlayAttackTaunt(player->mo); + } } break; case KITEM_BUBBLESHIELD: