From c1750d9359d19b1c9de7eed53def1c4d4c3905ef Mon Sep 17 00:00:00 2001 From: lachwright Date: Wed, 25 Sep 2019 22:36:48 +0800 Subject: [PATCH] Fixes shield ability usage when pressing spin on ACZ ropes (and also changes flame shield angling) --- src/p_mobj.c | 3 ++- src/p_user.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 5dfb7a5ab..8c80f1bcf 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -7311,7 +7311,8 @@ void P_MobjThinker(mobj_t *mobj) case MT_FLAMEAURA_ORB: if (!(mobj->flags2 & MF2_SHIELD)) return; - mobj->angle = mobj->target->angle; // implicitly okay because of P_AddShield + if (mobj->state-states < mobj->info->painstate) + mobj->angle = mobj->target->angle; // implicitly okay because of P_AddShield if (mobj->tracer /* && mobj->target -- the following is implicit by P_AddShield && mobj->target->player diff --git a/src/p_user.c b/src/p_user.c index 4bb01d746..98f91768d 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -8663,6 +8663,7 @@ static void P_DoRopeHang(player_t *player) if (player->cmd.buttons & BT_USE && !(player->pflags & PF_STASIS)) // Drop off of the rope { player->pflags |= P_GetJumpFlags(player); + player->pflags |= PF_USEDOWN; P_SetPlayerMobjState(player->mo, S_PLAY_JUMP); P_SetTarget(&player->mo->tracer, NULL);