From c11a3010d9769c99e7d23b3cd286d8b7e0f3c29a Mon Sep 17 00:00:00 2001 From: MascaraSnake <jonassauer27@gmail.com> Date: Tue, 18 Jun 2019 19:29:53 +0200 Subject: [PATCH] Fixed the Canarivore gas slowdown being much too weak --- src/p_inter.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 0c81d78332..e3e36cf70c 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1701,9 +1701,13 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) case MT_CANARIVORE_GAS: // if player and gas touch, attach gas to player (overriding any gas that already attached) and apply slowdown effect - P_TeleportMove(special, toucher->x - toucher->momx / 2, toucher->y - toucher->momy / 2, toucher->z - toucher->momz / 2); - toucher->momx = FixedMul(toucher->momx, 50 * FRACUNIT / 51); - toucher->momy = FixedMul(toucher->momy, 50 * FRACUNIT / 51); + P_UnsetThingPosition(special); + special->x = toucher->x - toucher->momx/2; + special->y = toucher->y - toucher->momy/2; + special->z = toucher->z - toucher->momz/2; + P_SetThingPosition(special); + toucher->momx = FixedMul(toucher->momx, 50*FRACUNIT/51); + toucher->momy = FixedMul(toucher->momy, 50*FRACUNIT/51); special->momx = toucher->momx; special->momy = toucher->momy; special->momz = toucher->momz; -- GitLab