From 3d29e9770feffe3b2cbec7ae6904dde292a3485f Mon Sep 17 00:00:00 2001 From: spherallic <spherallic@gmail.com> Date: Sun, 11 Sep 2022 17:41:55 +0200 Subject: [PATCH] Re-add momz inversion on dropped emeralds --- src/p_inter.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 9412bad06d..dd3e0f9c27 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -3882,7 +3882,8 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings) if (i & 1) P_SetObjectMomZ(mo, ns, true); } - if (player->mo->eflags & MFE_VERTICALFLIP) { + if (player->mo->eflags & MFE_VERTICALFLIP) + { mo->momz *= -1; mo->flags2 |= MF2_OBJECTFLIP; } @@ -4268,12 +4269,15 @@ void P_PlayerEmeraldBurst(player_t *player, boolean toss) mo->momx = momx; mo->momy = momy; - - if (player->mo->eflags & MFE_VERTICALFLIP) - mo->flags2 |= MF2_OBJECTFLIP; P_SetObjectMomZ(mo, 3*FRACUNIT, false); + if (player->mo->eflags & MFE_VERTICALFLIP) + { + mo->momz = -mo->momz; + mo->flags2 |= MF2_OBJECTFLIP; + } + if (toss) player->tossdelay = 2*TICRATE; } @@ -4300,7 +4304,8 @@ void P_PlayerFlagBurst(player_t *player, boolean toss) flag = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, type); - if (player->mo->eflags & MFE_VERTICALFLIP) { + if (player->mo->eflags & MFE_VERTICALFLIP) + { flag->z += player->mo->height - flag->height; flag->flags2 |= MF2_OBJECTFLIP; } -- GitLab