greatly improve performance

This commit is contained in:
Yunfan Li
2023-07-28 23:27:28 +08:00
parent 74293912ec
commit 7bd7c46088
6 changed files with 19 additions and 17 deletions

View File

@@ -113,8 +113,8 @@ Unit* EnemyPlayerValue::Calculate()
continue;
if (Unit* pAttacker = pMember->getAttackerForHelper())
if (bot->IsWithinDist(pAttacker, maxAggroDistance * 2.0f) && bot->IsWithinLOSInMap(pAttacker) && pAttacker != pVictim
&& pAttacker->CanSeeOrDetect(bot) && pAttacker->IsPlayer())
if (pAttacker->IsPlayer() && bot->IsWithinDist(pAttacker, maxAggroDistance * 2.0f) && bot->IsWithinLOSInMap(pAttacker) && pAttacker != pVictim
&& pAttacker->CanSeeOrDetect(bot))
return pAttacker;
}
}

View File

@@ -13,7 +13,7 @@ GuidVector NearestUnitsValue::Calculate()
GuidVector results;
for (Unit* unit : targets)
{
if ((ignoreLos || bot->IsWithinLOSInMap(unit)) && AcceptUnit(unit))
if (AcceptUnit(unit) && (ignoreLos || bot->IsWithinLOSInMap(unit)))
results.push_back(unit->GetGUID());
}

View File

@@ -74,7 +74,7 @@ bool PartyMemberToHeal::Check(Unit* player)
{
// return player && player != bot && player->GetMapId() == bot->GetMapId() && player->IsInWorld() &&
// sServerFacade->GetDistance2d(bot, player) < (player->IsPlayer() && botAI->IsTank((Player*)player) ? 50.0f : 40.0f);
return player && player->GetMapId() == bot->GetMapId() &&
return player->GetMapId() == bot->GetMapId() &&
bot->GetDistance2d(player) < sPlayerbotAIConfig->healDistance * 2 &&
bot->IsWithinLOS(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
}