From e65fa4624bc483107e01a3edc5dbe1bff42188eb Mon Sep 17 00:00:00 2001
From: Yukita Mayako <catgirl@goddess.moe>
Date: Fri, 11 Mar 2016 17:19:36 -0500
Subject: [PATCH] Fan, Gas Jet, gravity adjustment for players

---
 src/p_map.c  | 2 ++
 src/p_mobj.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/p_map.c b/src/p_map.c
index e603aaa759..be008339fe 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -261,6 +261,7 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object)
 
 			if (p && !p->powers[pw_tailsfly]) // doesn't reset anim for Tails' flight
 			{
+				object->momz = FixedMul(object->momz, FixedSqrt(FixedDiv(FRACUNIT, NEWTICRATERATIO << FRACBITS)));
 				P_ResetPlayer(p);
 				if (p->panim != PA_FALL)
 					P_SetPlayerMobjState(object, S_PLAY_FALL);
@@ -276,6 +277,7 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object)
 
 			if (p)
 			{
+				object->momz = FixedMul(object->momz, FixedSqrt(FixedDiv(FRACUNIT, NEWTICRATERATIO << FRACBITS)));
 				P_ResetPlayer(p);
 				if (p->panim != PA_FALL)
 					P_SetPlayerMobjState(object, S_PLAY_FALL);
diff --git a/src/p_mobj.c b/src/p_mobj.c
index 2d1a5ed5ec..1f001913c0 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -1476,6 +1476,8 @@ void P_CheckGravity(mobj_t *mo, boolean affect)
 				mo->eflags ^= MFE_VERTICALFLIP;
 			}
 		}
+
+		gravityadd /= NEWTICRATERATIO;
 	}
 	else
 	{
-- 
GitLab