mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
New leniency values
This commit is contained in:
parent
97903b00c3
commit
25fcad6e5f
1 changed files with 7 additions and 4 deletions
11
src/k_kart.c
11
src/k_kart.c
|
|
@ -1653,7 +1653,7 @@ static void K_UpdateDraft(player_t *player)
|
||||||
{
|
{
|
||||||
fixed_t topspd = K_GetKartSpeed(player, false);
|
fixed_t topspd = K_GetKartSpeed(player, false);
|
||||||
fixed_t draftdistance;
|
fixed_t draftdistance;
|
||||||
UINT8 leniency = (3*TICRATE)/4;
|
UINT8 leniency;
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
||||||
// Distance you have to be to draft. If you're still accelerating, then this distance is lessened.
|
// 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));
|
draftdistance = FixedMul(draftdistance, K_GetKartGameSpeedScalar(gamespeed));
|
||||||
|
|
||||||
// On the contrary, the leniency period biases toward high weight.
|
// 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.
|
// Not enough speed to draft.
|
||||||
if (player->speed >= 20*player->mo->scale)
|
if (player->speed >= 20*player->mo->scale)
|
||||||
|
|
@ -1727,7 +1728,7 @@ static void K_UpdateDraft(player_t *player)
|
||||||
|
|
||||||
olddraft = player->kartstuff[k_draftpower];
|
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;
|
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.
|
// 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)
|
if (mo->player)
|
||||||
{
|
{
|
||||||
|
UINT8 leniency = (3*TICRATE)/4 + ((mo->player->kartweight-1) * (TICRATE/4));
|
||||||
|
|
||||||
ang = mo->player->frameangle;
|
ang = mo->player->frameangle;
|
||||||
|
|
||||||
if (mo->player->kartstuff[k_drift] != 0)
|
if (mo->player->kartstuff[k_drift] != 0)
|
||||||
|
|
@ -3420,7 +3423,7 @@ void K_SpawnDraftDust(mobj_t *mo)
|
||||||
sign = -1;
|
sign = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
foff = ((2*TICRATE) - mo->player->kartstuff[k_draftleeway]) / 8;
|
foff = 5 - ((mo->player->kartstuff[k_draftleeway] * 5) / leniency);
|
||||||
|
|
||||||
// this shouldn't happen
|
// this shouldn't happen
|
||||||
if (foff > 4)
|
if (foff > 4)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue