diff options
| author | click <click@gonnamakeyou.com> | 2011-06-28 00:56:29 +0200 |
|---|---|---|
| committer | click <click@gonnamakeyou.com> | 2011-06-28 00:56:29 +0200 |
| commit | f580cddc09c9c08d91a7b45a2999a822465e9c23 (patch) | |
| tree | 9c8ecb2f6bcb78b0c64ed44569e280e3c74e3be8 /src/server/game/Scripting | |
| parent | e2f49f63bc7d9990434c2ab59a2a662fadf73098 (diff) | |
Core: Add wintergrasp-patch to wintergrasp_cleanup branch - resurrected from an old work-repository, now over as a branch to work on.
Original patch by socolin, cand a ton of contributors :
mathman, joda, spp, silinoron, josh, malcrom, shauren, machiavelli, click, rat, leak, tobmaps, _manuel_, the tcfr team (via socolin), and tons of others for chiming in.
NOTE: THIS IS A WORKING-BRANCH, AND _NOT_ MENT FOR PUBLIC USE OR EVEN CONSIDERED STABLE!
Diffstat (limited to 'src/server/game/Scripting')
| -rwxr-xr-x | src/server/game/Scripting/ScriptLoader.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Scripting/ScriptMgr.cpp | 8 | ||||
| -rwxr-xr-x | src/server/game/Scripting/ScriptMgr.h | 5 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 0293c350649..2fa304d2d23 100755 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -45,6 +45,7 @@ void AddSC_SmartSCripts(); //Commands void AddSC_account_commandscript(); void AddSC_achievement_commandscript(); +void AddSC_bf_commandscript(); void AddSC_debug_commandscript(); void AddSC_event_commandscript(); void AddSC_gm_commandscript(); @@ -644,6 +645,7 @@ void AddCommandScripts() { AddSC_account_commandscript(); AddSC_achievement_commandscript(); + AddSC_bf_commandscript(); AddSC_debug_commandscript(); AddSC_event_commandscript(); AddSC_gm_commandscript(); diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index a14a7175522..4e92b3091c1 100755 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -753,6 +753,14 @@ CreatureAI* ScriptMgr::GetCreatureAI(Creature* creature) return tmpscript->GetAI(creature); } +GameObjectAI* ScriptMgr::GetGameObjectAI(GameObject* gameobject) +{ + ASSERT(gameobject); + + GET_SCRIPT_RET(GameObjectScript, gameobject->GetScriptId(), tmpscript, NULL); + return tmpscript->GetAI(gameobject); +} + void ScriptMgr::OnCreatureUpdate(Creature* creature, uint32 diff) { ASSERT(creature); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index fb47282e9db..75dcf161815 100755 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -37,6 +37,7 @@ class Channel; class ChatCommand; class Creature; class CreatureAI; +class GameObjectAI; class DynamicObject; class GameObject; class Guild; @@ -468,6 +469,9 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject> virtual void OnDestroyed(GameObject* /*go*/, Player* /*player*/, uint32 /*eventId*/) { } // Called when the gameobject is damaged (destructible buildings only). virtual void OnDamaged(GameObject* /*go*/, Player* /*player*/, uint32 /*eventId*/) { } + + // Called when a CreatureAI object is needed for the creature. + virtual GameObjectAI* GetAI(GameObject* /*gameobject*/) const { return NULL; } }; class AreaTriggerScript : public ScriptObject @@ -867,6 +871,7 @@ class ScriptMgr uint32 GetDialogStatus(Player* player, GameObject* go); void OnGameObjectDestroyed(GameObject* go, Player* player, uint32 eventId); void OnGameObjectDamaged(GameObject* go, Player* player, uint32 eventId); + GameObjectAI* GetGameObjectAI(GameObject* gameobject); void OnGameObjectUpdate(GameObject* go, uint32 diff); public: /* AreaTriggerScript */ |
