*Merge SD2.
*r1202: Added support for quest 12739(and 12742 to 12750). Patch by ckegg *And merge a grid searcher from SD2. --HG-- branch : trunk
This commit is contained in:
@@ -742,3 +742,24 @@ void LoadOverridenDBCData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Creature* GetClosestCreatureWithEntry(WorldObject* pSource, uint32 Entry, float MaxSearchRange)
|
||||
{
|
||||
Creature* pCreature = NULL;
|
||||
|
||||
CellPair pair(Trinity::ComputeCellPair(pSource->GetPositionX(), pSource->GetPositionY()));
|
||||
Cell cell(pair);
|
||||
cell.data.Part.reserved = ALL_DISTRICT;
|
||||
cell.SetNoCreate();
|
||||
|
||||
Trinity::NearestCreatureEntryWithLiveStateInObjectRangeCheck creature_check(*pSource, Entry, true, MaxSearchRange);
|
||||
Trinity::CreatureLastSearcher<Trinity::NearestCreatureEntryWithLiveStateInObjectRangeCheck> searcher(pSource, pCreature, creature_check);
|
||||
|
||||
TypeContainerVisitor<Trinity::CreatureLastSearcher<Trinity::NearestCreatureEntryWithLiveStateInObjectRangeCheck>, GridTypeMapContainer> creature_searcher(searcher);
|
||||
|
||||
CellLock<GridReadGuard> cell_lock(cell, pair);
|
||||
cell_lock->Visit(cell_lock, creature_searcher,*(pSource->GetMap()));
|
||||
|
||||
return pCreature;
|
||||
}
|
||||
|
||||
@@ -243,5 +243,11 @@ struct TRINITY_DLL_DECL BossAI : public ScriptedAI
|
||||
void TeleportCheaters();
|
||||
};
|
||||
|
||||
// SD2's grid searchers
|
||||
|
||||
//return closest creature alive in grid, with range from pSource
|
||||
Creature* GetClosestCreatureWithEntry(WorldObject* pSource, uint32 Entry, float MaxSearchRange);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user