Merge branch 'really-genuinely-unfuck-buffered-instawhip' into 'master'

Fix 1 tic of instawhip charge spamming new Reject visuals

See merge request KartKrew/Kart!2294
This commit is contained in:
toaster 2024-04-15 13:41:51 +00:00
commit ebd946983c

View file

@ -12351,12 +12351,15 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->instaWhipCharge = 0;
}
// OOPSIES PIXME pt.4: There's some really specific circumstance where a held Item input won't cancel an
// ongoing roulette, which allows you enough time to charge a whip, except the animation is fucking
// invisible. Great! Just hack this for release, sorry.
// OOPSIES FIXME pt.4: This one is kind of esoteric and only theoretically abusable, but
// if a player picks up an item during the instawhip input safety window—the one that triggers
// after you burn to 0 rings—they can continue to hold the input, then charge a usable whip
// without stopping the roulette and acquiring an item, which cancels it.
//
// No ghosts use this technique, but your least favorite tournament player might.
if (player->itemRoulette.active)
{
player->instaWhipCharge = min(player->instaWhipCharge, INSTAWHIP_CHARGETIME - 1);
player->instaWhipCharge = min(player->instaWhipCharge, INSTAWHIP_CHARGETIME - 2);
}
if (player && player->mo && player->mo->health > 0 && !player->spectator && !P_PlayerInPain(player) && !mapreset && leveltime > introtime)