mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-03 07:22:10 +00:00
Slow glide down underwater
This commit is contained in:
parent
95e8ea0f8a
commit
3a97e7b807
1 changed files with 12 additions and 3 deletions
15
src/p_user.c
15
src/p_user.c
|
|
@ -5303,14 +5303,23 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
||||||
// Now Knuckles-type abilities are checked.
|
// Now Knuckles-type abilities are checked.
|
||||||
if (!(player->pflags & PF_THOKKED) || player->charflags & SF_MULTIABILITY)
|
if (!(player->pflags & PF_THOKKED) || player->charflags & SF_MULTIABILITY)
|
||||||
{
|
{
|
||||||
INT32 glidespeed = player->actionspd;
|
fixed_t glidespeed = FixedMul(player->actionspd, player->mo->scale);
|
||||||
|
fixed_t playerspeed = player->speed;
|
||||||
|
|
||||||
|
if (player->mo->eflags & MFE_UNDERWATER)
|
||||||
|
{
|
||||||
|
glidespeed >>= 1;
|
||||||
|
playerspeed >>= 1;
|
||||||
|
player->mo->momx = ((player->mo->momx - player->cmomx) >> 1) + player->cmomx;
|
||||||
|
player->mo->momy = ((player->mo->momy - player->cmomy) >> 1) + player->cmomy;
|
||||||
|
}
|
||||||
|
|
||||||
player->pflags |= PF_GLIDING|PF_THOKKED;
|
player->pflags |= PF_GLIDING|PF_THOKKED;
|
||||||
player->glidetime = 0;
|
player->glidetime = 0;
|
||||||
|
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_GLIDE);
|
P_SetPlayerMobjState(player->mo, S_PLAY_GLIDE);
|
||||||
if (player->speed < glidespeed)
|
if (playerspeed < glidespeed)
|
||||||
P_Thrust(player->mo, player->mo->angle, glidespeed - player->speed);
|
P_Thrust(player->mo, player->mo->angle, glidespeed - playerspeed);
|
||||||
player->pflags &= ~(PF_SPINNING|PF_STARTDASH);
|
player->pflags &= ~(PF_SPINNING|PF_STARTDASH);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue