From e832cf5963c61b9cd84656dd153b97fe6ae19e48 Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 16 Feb 2023 16:52:55 +0000 Subject: [PATCH] p_enemy.c: All object gravity arc calculations now collaborate with mapobjectscale again. --- src/p_enemy.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/p_enemy.c b/src/p_enemy.c index 784a0ed9a..1ae1d5bf4 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -10178,6 +10178,9 @@ void A_BrakLobShot(mobj_t *actor) else g = gravity; + // Scale with map + g = FixedMul(g, mapobjectscale); + // Look up distance between actor and its target x = P_AproxDistance(actor->target->x - actor->x, actor->target->y - actor->y); if (!aimDirect) @@ -10293,6 +10296,9 @@ void A_NapalmScatter(mobj_t *actor) else g = gravity; + // Scale with map + g = FixedMul(g, mapobjectscale); + // vy = (g*(airtime-1))/2 vy = FixedMul(g,(airtime-(1<>1; // vx = distance/airtime @@ -11002,7 +11008,11 @@ void A_Boss5Jump(mobj_t *actor) if (!actor->tracer) return; // Don't even bother if we've got nothing to aim at. - g = FixedMul(gravity, mapobjectscale); + // Look up actor's current gravity situation + g = FixedMul(gravity, P_GetSectorGravityFactor(actor->subsector->sector)); + + // Scale with map + g = FixedMul(g, mapobjectscale); // Look up distance between actor and its tracer x = FixedHypot(actor->tracer->x - actor->x, actor->tracer->y - actor->y);