From 69aba5f3ea59cc5f4d3f49fe3b3a23f30bc132c9 Mon Sep 17 00:00:00 2001 From: sirlemonhead Date: Fri, 28 Feb 2020 10:17:02 +0000 Subject: [PATCH] PCExhumed: Don't modify coordinates with abs() in runlist_CheckRadialDamage(), correct to original behaviour. --- source/exhumed/src/runlist.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/source/exhumed/src/runlist.cpp b/source/exhumed/src/runlist.cpp index 5bc1ca435..d23adfe4a 100644 --- a/source/exhumed/src/runlist.cpp +++ b/source/exhumed/src/runlist.cpp @@ -1577,21 +1577,15 @@ int runlist_CheckRadialDamage(short nSprite) int y = (sprite[nSprite].y - sprite[nRadialSpr].y) >> 8; int z = (sprite[nSprite].z - sprite[nRadialSpr].z) >> 12; - x = klabs(x); - - if (x > nDamageRadius) { + if (klabs(x) > nDamageRadius) { return 0; } - y = klabs(y); - - if (y > nDamageRadius) { + if (klabs(y) > nDamageRadius) { return 0; } - z = klabs(z); - - if (z > nDamageRadius) { + if (klabs(z) > nDamageRadius) { return 0; } @@ -1622,6 +1616,7 @@ int runlist_CheckRadialDamage(short nSprite) else if (edi > 20) { int nAngle = GetMyAngle(x, y); + sprite[nSprite].xvel += (edi * Cos(nAngle)) >> 3; sprite[nSprite].yvel += (edi * Sin(nAngle)) >> 3; sprite[nSprite].zvel -= edi * 24;