Merge branch 'tumbltweaks' into 'master'

Tumbltweaks

See merge request KartKrew/Kart!448
This commit is contained in:
SteelT 2021-10-19 03:57:13 +00:00
commit 5d17081d14
3 changed files with 9 additions and 6 deletions

View file

@ -375,7 +375,7 @@ typedef struct player_s
UINT8 wipeoutslow; // Timer before you slowdown when getting wiped out
UINT8 justbumped; // Prevent players from endlessly bumping into each other
UINT8 tumbleBounces;
UINT16 tumbleHeight;
UINT16 tumbleHeight; // In *mobjscaled* fracunits, or mfu, not raw fu
SINT8 drift; // (-5 to 5) - Drifting Left or Right, plus a bigger counter = sharper turn
fixed_t driftcharge; // Charge your drift so you can release a burst of speed

View file

@ -3215,14 +3215,14 @@ void K_TumblePlayer(player_t *player, mobj_t *inflictor, mobj_t *source)
static boolean K_LastTumbleBounceCondition(player_t *player)
{
return (player->tumbleBounces > TUMBLEBOUNCES && player->tumbleHeight < 40);
return (player->tumbleBounces > TUMBLEBOUNCES && player->tumbleHeight < 60);
}
static void K_HandleTumbleBounce(player_t *player)
{
fixed_t gravityadjust;
player->tumbleBounces++;
player->tumbleHeight = (player->tumbleHeight * 4) / 5;
player->tumbleHeight = (player->tumbleHeight * ((player->tumbleHeight > 100) ? 3 : 4)) / 5;
player->pflags &= ~PF_TUMBLESOUND;
if (player->tumbleHeight < 10)

View file

@ -155,9 +155,12 @@ void K_DoIngameRespawn(player_t *player)
// If player was tumbling, set variables so that they don't tumble like crazy after they're done respawning
if (player->tumbleBounces > 0)
{
player->tumbleBounces = TUMBLEBOUNCES-1; // Max # of bounces-1 (so you still tumble once)
player->pflags &= ~PF_TUMBLELASTBOUNCE; // Still force them to bounce at least once for the funny
players->tumbleHeight = 20; // force tumble height
player->tumbleBounces = 0; // MAXBOUNCES-1;
player->pflags &= ~PF_TUMBLELASTBOUNCE;
//players->tumbleHeight = 20;
players->mo->rollangle = 0;
player->spinouttype = KSPIN_WIPEOUT;
player->spinouttimer = player->wipeoutslow = (3*TICRATE/2)+2;
}
P_ResetPlayer(player);