Fix stiffness feeling of airdrop inputs and fix landingboost timer
This commit is contained in:
parent
74338f1996
commit
cc146b5021
2 changed files with 8 additions and 7 deletions
|
|
@ -684,8 +684,8 @@ struct player_t
|
|||
UINT8 ringvolume; // When consuming lots of rings, lower the sound a little.
|
||||
UINT8 ringtransparency; // When consuming lots of rings, fade out the rings again.
|
||||
|
||||
tic_t airdroptime; // Tracks how long the player has been in airdrop. In light airdrop, handles the delay before it kicks in.
|
||||
tic_t airdropbuffer; // Time during which heavy air drop will instantly trigger upon going airborne.
|
||||
INT32 airdroptime; // Tracks how long the player has been in airdrop. In light airdrop, handles the delay before it kicks in.
|
||||
INT32 airdropbuffer; // Time during which heavy air drop will instantly trigger upon going airborne.
|
||||
p_airdropflags_t airdropflags; // Airdrop-exclusive bitflags.
|
||||
|
||||
mobj_t *shieldtracer; // Blankart: Shield mobj
|
||||
|
|
|
|||
11
src/k_kart.c
11
src/k_kart.c
|
|
@ -6978,7 +6978,7 @@ static void K_SpawnFallLines(player_t *player, boolean ringdrop)
|
|||
|
||||
static void K_AirDrop(player_t *player, ticcmd_t *cmd)
|
||||
{
|
||||
const tic_t airbrakedelay = TICRATE/3;
|
||||
const INT32 airbrakedelay = TICRATE/3;
|
||||
|
||||
if (player->airdropbuffer > 0)
|
||||
{
|
||||
|
|
@ -7030,7 +7030,7 @@ static void K_AirDrop(player_t *player, ticcmd_t *cmd)
|
|||
}
|
||||
if (player->airdroptime > 1)
|
||||
{
|
||||
player->dropdash = TICRATE/4 + min(TICRATE, ((FixedDiv(player->airdroptime, TICRATE) * TICRATE) / FRACUNIT));
|
||||
player->startboost = TICRATE/4 + min(TICRATE, ((FixedDiv(player->airdroptime, TICRATE) * TICRATE) / FRACUNIT));
|
||||
|
||||
// Take off!
|
||||
S_StartSound(player->mo, sfx_shrpgo);
|
||||
|
|
@ -7097,20 +7097,21 @@ static void K_AirDrop(player_t *player, ticcmd_t *cmd)
|
|||
player->mo->momz -= FixedMul(2*gravity, mapobjectscale)*P_MobjFlip(player->mo);
|
||||
}
|
||||
|
||||
player->airdroptime++;
|
||||
if (player->karthud[khud_heavydropcam] < TICRATE)
|
||||
player->karthud[khud_heavydropcam]++;
|
||||
}
|
||||
else if (player->airdropflags & PAF_AIRDROP_LIGHT)
|
||||
{
|
||||
K_SpawnFallLines(player, false);
|
||||
if (player->airdroptime >= airbrakedelay)
|
||||
{
|
||||
player->mo->momz -= FixedMul(gravity, mapobjectscale)*P_MobjFlip(player->mo);
|
||||
K_SpawnFallLines(player, false);
|
||||
K_SpawnAirdropTrail(player);
|
||||
}
|
||||
player->airdroptime++;
|
||||
}
|
||||
|
||||
if (K_AirDropActive() && !P_IsObjectOnGround(player->mo))
|
||||
player->airdroptime++;
|
||||
}
|
||||
|
||||
// Returns the bumpspark value as an enum.
|
||||
|
|
|
|||
Loading…
Reference in a new issue