From e8ce92d3efd9fbfaf64a60a7f0456e51f03c3cb3 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Mon, 10 Feb 2025 05:36:24 -0500 Subject: [PATCH] Make goo like v1 kart --- src/p_mobj.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 82fe4e12f..14e50f7d1 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1248,7 +1248,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo) // Goop has slower, reversed gravity if (goopgravity) - gravityadd = -((gravityadd/5) + (gravityadd/8)); + gravityadd = -gravityadd/5; gravityadd = FixedMul(gravityadd, mo->scale); @@ -3303,20 +3303,10 @@ void P_MobjCheckWater(mobj_t *mobj) return; } - if (mobj->eflags & MFE_GOOWATER || wasingoo) + if (!wasgroundpounding && (mobj->eflags & MFE_GOOWATER || wasingoo)) // Decide what happens to your momentum when you enter/leave goopy water. { - // Decide what happens to your momentum when you enter/leave goopy water. - if (P_MobjFlip(mobj) * mobj->momz > 0) - { - mobj->momz -= (mobj->momz/8); // cut momentum a little bit to prevent multiple bobs - //CONS_Printf("leaving\n"); - } - else - { - if (!wasgroundpounding) - mobj->momz >>= 1; // kill momentum significantly, to make the goo feel thick. - //CONS_Printf("entering\n"); - } + if (P_MobjFlip(mobj)*mobj->momz < 0) // You are entering the goo? + mobj->momz = FixedMul(mobj->momz, FixedDiv(2*FRACUNIT, 5*FRACUNIT)); // kill momentum significantly, to make the goo feel thick. } else if (wasinwater && P_MobjFlip(mobj) * mobj->momz > 0) {