diff --git a/source/games/blood/src/aighost.cpp b/source/games/blood/src/aighost.cpp index 6c167d6d8..5c158e3a2 100644 --- a/source/games/blood/src/aighost.cpp +++ b/source/games/blood/src/aighost.cpp @@ -180,21 +180,21 @@ static void ghostThinkTarget(DBloodActor* actor) auto ppos = pPlayer->actor->spr.pos; auto dvect = ppos.XY() - actor->spr.pos; auto pSector = pPlayer->actor->sector(); - int nDist = approxDist(dvect); - if (nDist > pDudeInfo->seeDist && nDist > pDudeInfo->hearDist) + double nDist = dvect.Length(); + if (nDist > pDudeInfo->SeeDist() && nDist > pDudeInfo->Heardist()) continue; double height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) * REPEAT_SCALE; if (!cansee(ppos, pSector, actor->spr.pos.plusZ(-height), actor->sector())) continue; - int nDeltaAngle = getincangle(actor->int_ang(), getangle(dvect)); - if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) + DAngle nDeltaAngle = absangle(actor->spr.angle, VecToAngle(dvect)); + if (nDist < pDudeInfo->SeeDist() && nDeltaAngle <= pDudeInfo->Periphery()) { pDudeExtraE->thinkTime = 0; aiSetTarget(actor, pPlayer->actor); aiActivateDude(actor); return; } - else if (nDist < pDudeInfo->hearDist) + else if (nDist < pDudeInfo->Heardist()) { pDudeExtraE->thinkTime = 0; aiSetTarget(actor, ppos);