Core/SAI: properly validate stored targets when using SmartTrigger and fix a related crash

(cherry picked from commit 866074b689)
This commit is contained in:
ariel-
2017-06-04 16:43:36 -03:00
committed by Carbenium
parent 87c5ddeab6
commit 960bfcabc3
4 changed files with 26 additions and 16 deletions

View File

@@ -236,7 +236,7 @@ void SmartAI::EndPath(bool fail)
else
GetScript()->SetPathId(0);
ObjectVector const* targets = GetScript()->GetStoredTargetVector(SMART_ESCORT_TARGETS);
ObjectVector const* targets = GetScript()->GetStoredTargetVector(SMART_ESCORT_TARGETS, *me);
if (targets && mEscortQuestID)
{
if (targets->size() == 1 && GetScript()->IsPlayer((*targets->begin())))
@@ -410,7 +410,7 @@ void SmartAI::UpdateAI(uint32 diff)
bool SmartAI::IsEscortInvokerInRange()
{
if (ObjectVector const* targets = GetScript()->GetStoredTargetVector(SMART_ESCORT_TARGETS))
if (ObjectVector const* targets = GetScript()->GetStoredTargetVector(SMART_ESCORT_TARGETS, *me))
{
float checkDist = me->GetInstanceScript() ? SMART_ESCORT_MAX_PLAYER_DIST * 2 : SMART_ESCORT_MAX_PLAYER_DIST;
if (targets->size() == 1 && GetScript()->IsPlayer((*targets->begin())))