mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-05 07:51:42 +00:00
Remove PF_SPINNING upon use of any jump ability, so that directionchar works properly
This commit is contained in:
parent
91c9d667e1
commit
4f18f6d3cf
1 changed files with 177 additions and 174 deletions
13
src/p_user.c
13
src/p_user.c
|
@ -5012,7 +5012,7 @@ void P_Telekinesis(player_t *player, fixed_t thrust, fixed_t range)
|
|||
|
||||
static void P_DoTwinSpin(player_t *player)
|
||||
{
|
||||
player->pflags &= ~PF_NOJUMPDAMAGE;
|
||||
player->pflags &= ~(PF_NOJUMPDAMAGE|PF_SPINNING);
|
||||
player->pflags |= P_GetJumpFlags(player) | PF_THOKKED;
|
||||
S_StartSound(player->mo, sfx_s3k42);
|
||||
player->mo->frame = 0;
|
||||
|
@ -5286,6 +5286,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
else if (player->pflags & PF_JUMPED)
|
||||
{
|
||||
if (!LUAh_AbilitySpecial(player))
|
||||
{
|
||||
switch (player->charability)
|
||||
{
|
||||
case CA_THOK:
|
||||
|
@ -5348,7 +5349,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
P_SpawnThokMobj(player);
|
||||
|
||||
player->pflags &= ~(PF_SPINNING|PF_STARTDASH);
|
||||
player->pflags &= ~(PF_STARTDASH);
|
||||
player->pflags |= PF_THOKKED;
|
||||
|
||||
// Change localangle to match for simple controls? (P.S. chalupa)
|
||||
|
@ -5375,7 +5376,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
|
||||
player->powers[pw_tailsfly] = tailsflytics + 1; // Set the fly timer
|
||||
|
||||
player->pflags &= ~(PF_JUMPED|PF_NOJUMPDAMAGE|PF_SPINNING|PF_STARTDASH);
|
||||
player->pflags &= ~(PF_JUMPED|PF_NOJUMPDAMAGE|PF_STARTDASH);
|
||||
if (player->bot == 1)
|
||||
player->pflags |= PF_THOKKED;
|
||||
else
|
||||
|
@ -5406,7 +5407,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
P_SetPlayerMobjState(player->mo, S_PLAY_GLIDE);
|
||||
if (playerspeed < glidespeed)
|
||||
P_Thrust(player->mo, player->mo->angle, glidespeed - playerspeed);
|
||||
player->pflags &= ~(PF_SPINNING|PF_STARTDASH);
|
||||
player->pflags &= ~(PF_STARTDASH);
|
||||
}
|
||||
break;
|
||||
case CA_DOUBLEJUMP: // Double-Jump
|
||||
|
@ -5429,7 +5430,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
else
|
||||
P_SetPlayerMobjState(player->mo, S_PLAY_FLOAT);
|
||||
player->pflags |= PF_THOKKED;
|
||||
player->pflags &= ~(PF_JUMPED|PF_NOJUMPDAMAGE|PF_SPINNING);
|
||||
player->pflags &= ~(PF_JUMPED|PF_NOJUMPDAMAGE);
|
||||
player->secondjump = 1;
|
||||
}
|
||||
break;
|
||||
|
@ -5475,6 +5476,8 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
player->pflags &= ~PF_SPINNING;
|
||||
}
|
||||
}
|
||||
else if (player->pflags & PF_THOKKED)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue