diff --git a/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h b/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h index edbc9a3ba..74b5024ba 100644 --- a/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h +++ b/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h @@ -34,4 +34,14 @@ public: virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return nullptr; } }; +template +class GenericInstanceMapScript : public InstanceMapScript +{ +public: + GenericInstanceMapScript(char const* name, uint32 mapId) : InstanceMapScript(name, mapId) { } + InstanceScript* GetInstanceScript(InstanceMap* map) const override { return new IS(map); } +}; + +#define RegisterInstanceScript(script_name, mapId) new GenericInstanceMapScript(#script_name, mapId) + #endif