From 06c6b30ed484850228c57313dc2c024c38e2055f Mon Sep 17 00:00:00 2001 From: ccrs Date: Sat, 26 Oct 2019 23:33:30 +0200 Subject: Scripts/ScarletMonastery: instance script cleanup (#23889) Adapt InstanceScript into newer structure and style Adapt existing boss scripts into newer structure and style Improve existing boss related definitions Should make each boss more functionally reliable, but nothing new has been added --- src/server/game/Scripting/ScriptMgr.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/server/game/Scripting/ScriptMgr.h') diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index b9677ff70b4..b0dea1e36b6 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -1108,7 +1108,7 @@ class GenericCreatureScript : public CreatureScript }; #define RegisterCreatureAI(ai_name) new GenericCreatureScript(#ai_name) -template +template class FactoryCreatureScript : public CreatureScript { public: @@ -1126,6 +1126,15 @@ class GenericGameObjectScript : public GameObjectScript }; #define RegisterGameObjectAI(ai_name) new GenericGameObjectScript(#ai_name) +template +class FactoryGameObjectScript : public GameObjectScript +{ + public: + FactoryGameObjectScript(char const* name) : GameObjectScript(name) { } + GameObjectAI* GetAI(GameObject* me) const override { return AIFactory(me); } +}; +#define RegisterGameObjectAIWithFactory(ai_name, factory_fn) new FactoryGameObjectScript(#ai_name) + #define sScriptMgr ScriptMgr::instance() #endif -- cgit v1.2.3