aboutsummaryrefslogtreecommitdiff
path: root/src/bindings/scripts/include
diff options
context:
space:
mode:
authorAnubisss <none@none>2009-07-12 01:17:04 +0200
committerAnubisss <none@none>2009-07-12 01:17:04 +0200
commit87213301e7f363abe4ae17c0988fd7262a5feb19 (patch)
treefa14c38d9c29b3e3a4c3398d015655b303549676 /src/bindings/scripts/include
parent692c927e75c6c9a32d53da8d7f6319508d9b6fb9 (diff)
*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
Diffstat (limited to 'src/bindings/scripts/include')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp21
-rw-r--r--src/bindings/scripts/include/sc_creature.h6
2 files changed, 27 insertions, 0 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index 361385c85a9..159fc4419ba 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -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;
+}
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h
index f145ff09942..13713a56100 100644
--- a/src/bindings/scripts/include/sc_creature.h
+++ b/src/bindings/scripts/include/sc_creature.h
@@ -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