Merge branch 'slow-degrease' into 'master'

Slower players lose springgrease faster (resolves #242)

Closes #242

See merge request KartKrew/Kart!1360
This commit is contained in:
Oni 2023-07-29 18:45:37 +00:00
commit 1325bf7afa

View file

@ -8171,7 +8171,19 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->justbumped--;
if (player->tiregrease)
player->tiregrease--;
{
// Remove grease faster if players are moving slower; players that are recovering
// from mistakes (or who got sprung purely for track traversal) need steering!
// Up to 4x degrease speed below 10FU/t (speed at which you lose drift sparks).
INT16 toDegrease = 1;
INT16 driftSpeedIncrements = player->speed / (10 * player->mo->scale); // Same breakpoints used for driftcharge stages.
toDegrease += max(3 - driftSpeedIncrements, 0);
if (player->tiregrease <= toDegrease)
player->tiregrease = 0;
else
player->tiregrease -= toDegrease;
}
if (player->spinouttimer || player->tumbleBounces)
{