From f5aa3024755375b0b270354bef1bef398365441d Mon Sep 17 00:00:00 2001 From: "Richard C. Gobeille" Date: Mon, 8 Jun 2020 09:39:33 -0700 Subject: [PATCH] Duke3d: fix issue with player movement not being locked when crushing shrunken enemies Fixes terminx/eduke32#59. --- source/duke3d/src/player.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/duke3d/src/player.cpp b/source/duke3d/src/player.cpp index e08f40ac8..ad5484927 100644 --- a/source/duke3d/src/player.cpp +++ b/source/duke3d/src/player.cpp @@ -3020,6 +3020,12 @@ static int P_CheckLockedMovement(int const playerNum) auto &thisPlayer = g_player[playerNum]; auto const pPlayer = thisPlayer.ps; + if ((pPlayer->dead_flag && !ud.god) || pPlayer->fist_incs || pPlayer->transporter_hold > 2 || pPlayer->hard_landing || pPlayer->access_incs > 0 + || pPlayer->knee_incs > 0 + || (PWEAPON(playerNum, pPlayer->curr_weapon, WorksLike) == TRIPBOMB_WEAPON && pPlayer->kickback_pic > 1 + && pPlayer->kickback_pic < PWEAPON(playerNum, pPlayer->curr_weapon, FireDelay))) + return IL_NOTHING; + if (pPlayer->on_crane >= 0) return IL_NOMOVE|IL_NOANGLE; @@ -3029,12 +3035,6 @@ static int P_CheckLockedMovement(int const playerNum) if (pPlayer->return_to_center > 0 || thisPlayer.horizRecenter) return IL_NOHORIZ; - if ((pPlayer->dead_flag && !ud.god) || pPlayer->fist_incs || pPlayer->transporter_hold > 2 || pPlayer->hard_landing || pPlayer->access_incs > 0 - || pPlayer->knee_incs > 0 - || (PWEAPON(playerNum, pPlayer->curr_weapon, WorksLike) == TRIPBOMB_WEAPON && pPlayer->kickback_pic > 1 - && pPlayer->kickback_pic < PWEAPON(playerNum, pPlayer->curr_weapon, FireDelay))) - return IL_NOTHING; - return 0; }