From 3814dfcf0e81d2ede6e517429d377f2aa8018d6c Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 28 Sep 2022 17:27:33 +0200 Subject: [PATCH] - floatified distance in AltFireVoodoo --- source/games/blood/src/weapon.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/games/blood/src/weapon.cpp b/source/games/blood/src/weapon.cpp index 380b532c7..c59366271 100644 --- a/source/games/blood/src/weapon.cpp +++ b/source/games/blood/src/weapon.cpp @@ -1727,13 +1727,13 @@ void AltFireVoodoo(int nTrigger, PLAYER* pPlayer) if (!targetactor) continue; if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, targetactor)) continue; - int nDist = approxDist(targetactor->spr.pos.XY() - pPlayer->actor->spr.pos.XY()); - if (nDist > 0 && nDist < 51200) + double nDist = (targetactor->spr.pos.XY() - pPlayer->actor->spr.pos.XY()).Length(); + if (nDist > 0 && nDist < 3200) { int vc = pPlayer->ammoCount[9] >> 3; int v8 = pPlayer->ammoCount[9] << 1; int nDamage = (v8 + Random(vc)) << 4; - nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200; + nDamage = int((nDamage * ((3200 - nDist) + 1/16.)) / 3200); nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, nDamage); if (targetactor->IsPlayerActor()) @@ -1765,13 +1765,13 @@ void AltFireVoodoo(int nTrigger, PLAYER* pPlayer) continue; if (v4 > 0) v4--; - int nDist = approxDist(targetactor->spr.pos.XY() - pPlayer->actor->spr.pos.XY()); - if (nDist > 0 && nDist < 51200) + double nDist = (targetactor->spr.pos.XY() - pPlayer->actor->spr.pos.XY()).Length(); + if (nDist > 0 && nDist < 3200) { int vc = pPlayer->ammoCount[9] >> 3; int v8 = pPlayer->ammoCount[9] << 1; int nDamage = (v8 + Random2(vc)) << 4; - nDamage = (nDamage * ((51200 - nDist) + 1)) / 51200; + nDamage = int((nDamage * ((3200 - nDist) + 1/16.)) / 3200); nDamage = actDamageSprite(actor, targetactor, kDamageSpirit, nDamage); UseAmmo(pPlayer, 9, nDamage); if (targetactor->IsPlayerActor())