K_KartSpindash: reorganize so fastfallBase doesn't need to be reset on landing

Makes resetting fastfall due to special conditions more
straightforward, because you don't need to reset
fastfallBase also.
This commit is contained in:
James R 2023-08-27 04:36:07 -07:00
parent 92bc946d60
commit 652792ddd3
3 changed files with 5 additions and 7 deletions

View file

@ -10437,16 +10437,17 @@ static void K_KartSpindash(player_t *player)
{
if (player->pflags & PF_NOFASTFALL)
return;
// Update fastfall.
player->fastfall = player->mo->momz;
player->spindash = 0;
if (player->fastfallBase == 0)
if (player->fastfall == 0)
{
// Factors 3D momentum.
player->fastfallBase = FixedHypot(player->speed, player->mo->momz);
}
// Update fastfall.
player->fastfall = player->mo->momz;
player->spindash = 0;
return;
}
else if (player->fastfall != 0)
@ -10574,7 +10575,6 @@ boolean K_FastFallBounce(player_t *player)
player->mo->momz = bounce * P_MobjFlip(player->mo);
player->fastfall = 0;
player->fastfallBase = 0;
return true;
}

View file

@ -2578,7 +2578,6 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
player->driftboost = player->strongdriftboost = 0;
player->gateBoost = 0;
player->fastfall = 0;
player->fastfallBase = 0;
player->ringboost = 0;
player->glanceDir = 0;
player->pflags &= ~PF_GAINAX;

View file

@ -484,7 +484,6 @@ void P_ResetPlayer(player_t *player)
player->trickpanel = 0;
player->glanceDir = 0;
player->fastfall = 0;
player->fastfallBase = 0;
if (player->mo != NULL && P_MobjWasRemoved(player->mo) == false)
{