mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
tiered ringdelay for autoring
This commit is contained in:
parent
633ffb6195
commit
500cfa74de
1 changed files with 24 additions and 13 deletions
31
src/k_kart.c
31
src/k_kart.c
|
|
@ -12607,25 +12607,36 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
if (player->itemflags & IF_USERINGS)
|
||||
{
|
||||
// Auto-Ring
|
||||
boolean autoring;
|
||||
UINT8 tiereddelay = 5;
|
||||
player->autoring = false;
|
||||
if (
|
||||
player->pflags & PF_AUTORING
|
||||
&& leveltime > starttime
|
||||
&& !(cmd->buttons & BT_BRAKE)
|
||||
&& K_GetKartButtons(player)
|
||||
&& P_IsObjectOnGround(player->mo)
|
||||
&& (
|
||||
player->rings > 18
|
||||
&& FixedDiv(player->speed * 100, K_GetKartSpeed(player, false, true)) < 100*FRACUNIT
|
||||
|| player->rings > 9
|
||||
&& FixedDiv(player->speed * 100, K_GetKartSpeed(player, false, true)) < 85*FRACUNIT
|
||||
||player->rings > 3
|
||||
&& FixedDiv(player->speed * 100, K_GetKartSpeed(player, false, true)) < 35*FRACUNIT
|
||||
)
|
||||
)
|
||||
{
|
||||
fixed_t pspeed = FixedDiv(player->speed * 100, K_GetKartSpeed(player, false, true));
|
||||
|
||||
if (player->rings >= 18 && pspeed < 100*FRACUNIT)
|
||||
{
|
||||
player->autoring = true;
|
||||
tiereddelay = 3;
|
||||
}
|
||||
else if (player->rings >= 10 && pspeed < 85*FRACUNIT)
|
||||
{
|
||||
player->autoring = true;
|
||||
tiereddelay = 4;
|
||||
}
|
||||
else if (player->rings >= 4 && pspeed < 35*FRACUNIT)
|
||||
{
|
||||
player->autoring = true;
|
||||
tiereddelay = 5;
|
||||
}
|
||||
else
|
||||
player->autoring = false;
|
||||
}
|
||||
|
||||
if (((cmd->buttons & BT_ATTACK) || player->autoring) && !player->ringdelay && player->rings > 0)
|
||||
{
|
||||
|
|
@ -12678,7 +12689,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
|
||||
player->rings--;
|
||||
if (player->autoring && !(cmd->buttons & BT_ATTACK))
|
||||
player->ringdelay = 6;
|
||||
player->ringdelay = tiereddelay;
|
||||
else
|
||||
player->ringdelay = 3;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue