From c495106ee5af9adba3872bf5c34cc0e60db5ff77 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Mon, 26 Jun 2023 19:02:39 -0700 Subject: [PATCH] Ringbox: playtest fixups --- src/k_hud.c | 2 +- src/k_kart.c | 2 +- src/objects/random-item.c | 3 +++ src/p_inter.c | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/k_hud.c b/src/k_hud.c index e5541f8bc..0824a2c61 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -5352,7 +5352,7 @@ void K_drawKartHUD(void) // Draw the item window if (LUA_HudEnabled(hud_item) && !freecam) { - if (stplyr->itemRoulette.ringbox) + if (stplyr->itemRoulette.ringbox && stplyr->itemamount == 0 && stplyr->itemtype == 0) { K_drawKartSlotMachine(); } diff --git a/src/k_kart.c b/src/k_kart.c index 81f5ad07d..dc64d067d 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -10746,7 +10746,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) UINT32 award = 5*player->ringboxaward + 10; if (player->ringboxaward > 2) // not a BAR award = 3 * award / 2; - award = award * (behind / 1000 + 10) / 10; + award = award * (behindMulti + 10) / 10; K_AwardPlayerRings(player, award, true); player->ringboxaward = 0; diff --git a/src/objects/random-item.c b/src/objects/random-item.c index f26d81807..7c19a4228 100644 --- a/src/objects/random-item.c +++ b/src/objects/random-item.c @@ -103,6 +103,9 @@ void Obj_RandomItemVisuals(mobj_t *mobj) ItemBoxScaling(mobj); item_vfxtimer(mobj)++; + if (mobj->type != MT_RANDOMITEM) + return; + // Respawn flow, documented by a dumb asshole: // P_TouchSpecialThing -> P_ItemPop sets fuse, NOCLIPTHING and DONTDRAW. // P_FuseThink does visual flicker, and when fuse is 0, unsets NOCLIPTHING/DONTDRAW/etc... diff --git a/src/p_inter.c b/src/p_inter.c index 999345841..7da79bf31 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -140,6 +140,7 @@ boolean P_CanPickupItem(player_t *player, UINT8 weapon) // Item slot already taken up if (player->itemRoulette.active == true + || player->ringboxdelay > 0 || (weapon != 3 && player->itemamount) || (player->pflags & PF_ITEMOUT)) return false;