Ringbox: playtest fixups

This commit is contained in:
AJ Martinez 2023-06-26 19:02:39 -07:00
parent a43744aa24
commit c495106ee5
4 changed files with 6 additions and 2 deletions

View file

@ -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();
}

View file

@ -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;

View file

@ -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...

View file

@ -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;