New leniency values

This commit is contained in:
TehRealSalt 2019-05-07 12:33:33 -04:00
parent 97903b00c3
commit 25fcad6e5f

View file

@ -1653,7 +1653,7 @@ static void K_UpdateDraft(player_t *player)
{
fixed_t topspd = K_GetKartSpeed(player, false);
fixed_t draftdistance;
UINT8 leniency = (3*TICRATE)/4;
UINT8 leniency;
UINT8 i;
// Distance you have to be to draft. If you're still accelerating, then this distance is lessened.
@ -1665,7 +1665,8 @@ static void K_UpdateDraft(player_t *player)
draftdistance = FixedMul(draftdistance, K_GetKartGameSpeedScalar(gamespeed));
// On the contrary, the leniency period biases toward high weight.
leniency += (player->kartweight-1) * (TICRATE/4);
// (See also: the leniency variable in K_SpawnDraftDust)
leniency = (3*TICRATE)/4 + ((player->kartweight-1) * (TICRATE/4));
// Not enough speed to draft.
if (player->speed >= 20*player->mo->scale)
@ -1727,7 +1728,7 @@ static void K_UpdateDraft(player_t *player)
olddraft = player->kartstuff[k_draftpower];
player->kartstuff[k_draftleeway] = max(TICRATE/4, (player->kartstuff[k_draftpower] * leniency) / FRACUNIT);
player->kartstuff[k_draftleeway] = leniency;
player->kartstuff[k_lastdraft] = i;
// Draft power is used later in K_GetKartBoostPower, ranging from 0 for normal speed and FRACUNIT for max draft speed.
@ -3408,6 +3409,8 @@ void K_SpawnDraftDust(mobj_t *mo)
if (mo->player)
{
UINT8 leniency = (3*TICRATE)/4 + ((mo->player->kartweight-1) * (TICRATE/4));
ang = mo->player->frameangle;
if (mo->player->kartstuff[k_drift] != 0)
@ -3420,7 +3423,7 @@ void K_SpawnDraftDust(mobj_t *mo)
sign = -1;
}
foff = ((2*TICRATE) - mo->player->kartstuff[k_draftleeway]) / 8;
foff = 5 - ((mo->player->kartstuff[k_draftleeway] * 5) / leniency);
// this shouldn't happen
if (foff > 4)