feat(Core): port aggro distance from vMaNGOS (#6214)

Read detection_range values from creature_template
This commit is contained in:
Shiroe
2021-07-08 18:01:27 +02:00
committed by GitHub
parent 6fa2ad4e33
commit f8c8e98a0a
15 changed files with 89 additions and 72 deletions

View File

@@ -469,7 +469,7 @@ Player* ScriptedAI::SelectTargetFromPlayerList(float maxdist, uint32 excludeAura
std::vector<Player*> tList;
for(Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
{
if (!me->IsWithinDistInMap(itr->GetSource(), maxdist) || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
if (!me->IsWithinDistInMap(itr->GetSource(), maxdist, true, false) || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
continue;
if (excludeAura && itr->GetSource()->HasAura(excludeAura))
continue;

View File

@@ -216,10 +216,10 @@ bool npc_escortAI::IsPlayerOrGroupInRange()
{
for (GroupReference* groupRef = group->GetFirstMember(); groupRef != nullptr; groupRef = groupRef->next())
if (Player* member = groupRef->GetSource())
if (me->IsWithinDistInMap(member, GetMaxPlayerDistance()))
if (me->IsWithinDistInMap(member, GetMaxPlayerDistance(), true, false))
return true;
}
else if (me->IsWithinDistInMap(player, GetMaxPlayerDistance()))
else if (me->IsWithinDistInMap(player, GetMaxPlayerDistance(), true, false))
return true;
}

View File

@@ -197,7 +197,7 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
{
Player* member = groupRef->GetSource();
if (member && me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE))
if (member && me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE, true, false))
{
bIsMaxRangeExceeded = false;
break;
@@ -206,7 +206,7 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
}
else
{
if (me->IsWithinDistInMap(player, MAX_PLAYER_DISTANCE))
if (me->IsWithinDistInMap(player, MAX_PLAYER_DISTANCE, true, false))
bIsMaxRangeExceeded = false;
}
}