mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[11995] Fix following for guid linked npcs on evade
Thanks to grz3s for pointing Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
parent
d41974b38b
commit
41072c5455
2 changed files with 20 additions and 7 deletions
|
|
@ -644,16 +644,29 @@ bool CreatureLinkingHolder::TryFollowMaster(Creature* pCreature)
|
|||
if (!pInfo || !(pInfo->linkingFlag & FLAG_FOLLOW))
|
||||
return false;
|
||||
|
||||
Creature* pMaster = NULL;
|
||||
if (pInfo->mapId != INVALID_MAP_ID) // entry case
|
||||
{
|
||||
BossGuidMapBounds finds = m_masterGuid.equal_range(pInfo->masterId);
|
||||
for (BossGuidMap::iterator itr = finds.first; itr != finds.second; ++itr)
|
||||
{
|
||||
Creature* pMaster = pCreature->GetMap()->GetCreature(itr->second);
|
||||
if (pMaster && pMaster->isAlive() && IsSlaveInRangeOfBoss(pCreature, pMaster, pInfo->searchRange))
|
||||
pMaster = pCreature->GetMap()->GetCreature(itr->second);
|
||||
if (pMaster && IsSlaveInRangeOfBoss(pCreature, pMaster, pInfo->searchRange))
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // guid case
|
||||
{
|
||||
CreatureData const* masterData = sObjectMgr.GetCreatureData(pInfo->masterDBGuid);
|
||||
CreatureInfo const* cInfo = ObjectMgr::GetCreatureTemplate(masterData->id);
|
||||
pMaster = pCreature->GetMap()->GetCreature(ObjectGuid(cInfo->GetHighGuid(), cInfo->Entry, pInfo->masterDBGuid));
|
||||
}
|
||||
|
||||
if (pMaster && pMaster->isAlive())
|
||||
{
|
||||
SetFollowing(pCreature, pMaster);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "11994"
|
||||
#define REVISION_NR "11995"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue