aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2012-08-21 23:01:24 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2012-08-21 23:03:30 +0200
commit6891fe6248ca0016fdb520bc8db2a1929c299c67 (patch)
tree3dff4b417413dd547f9bef364db86d137713c1f8 /src/server/game/AI
parent984493108bf27b2be76d72efea6c3926aec8dc05 (diff)
Core/Battlefield: Add missing stuff for wintergrasp
Diffstat (limited to 'src/server/game/AI')
-rw-r--r--src/server/game/AI/CoreAI/GameObjectAI.h5
-rwxr-xr-xsrc/server/game/AI/CreatureAISelector.cpp5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/AI/CoreAI/GameObjectAI.h b/src/server/game/AI/CoreAI/GameObjectAI.h
index fbc8675cc47..6dfea9ac158 100644
--- a/src/server/game/AI/CoreAI/GameObjectAI.h
+++ b/src/server/game/AI/CoreAI/GameObjectAI.h
@@ -39,6 +39,11 @@ class GameObjectAI
virtual void Reset() {};
+ // Pass parameters between AI
+ virtual void DoAction(const int32 /*param = 0 */) {}
+ virtual void SetGUID(const uint64& /*guid*/, int32 /*id = 0 */) {}
+ virtual uint64 GetGUID(int32 /*id = 0 */) { return 0; }
+
static int Permissible(GameObject const* go);
virtual bool GossipHello(Player* /*player*/) { return false; }
diff --git a/src/server/game/AI/CreatureAISelector.cpp b/src/server/game/AI/CreatureAISelector.cpp
index 2d69f1e0243..4ccaa174e67 100755
--- a/src/server/game/AI/CreatureAISelector.cpp
+++ b/src/server/game/AI/CreatureAISelector.cpp
@@ -137,6 +137,11 @@ namespace FactorySelector
ai_factory = ai_registry.GetRegistryItem(go->GetAIName());
+ // scriptname in db
+ if (!ai_factory)
+ if (GameObjectAI* scriptedAI = sScriptMgr->GetGameObjectAI(go))
+ return scriptedAI;
+
//future goAI types go here
std::string ainame = (ai_factory == NULL || go->GetScriptId()) ? "NullGameObjectAI" : ai_factory->key();