diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-07-24 00:27:25 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-07-24 00:27:25 +0200 |
commit | 228c56f3c5e23345cf2b5a391c614e52f61fe7f9 (patch) | |
tree | b08e9b0079045ec551d1bbb041fdfd9e49656004 /src/server/game/Scripting/ScriptMgr.cpp | |
parent | 576ca241ecaea6f357a13f022fb297976aa967ca (diff) |
Scripts/Spells: Modernize spell script internals a bit - this makes Prepare macros unneccessary
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.cpp')
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 1dfaa9aeb67..76a51e0795f 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1350,8 +1350,8 @@ void ScriptMgr::FillSpellSummary() UnitAI::FillAISpellInfo(); } -template<typename T, typename F, typename O> -void CreateSpellOrAuraScripts(uint32 spellId, std::vector<T*>& scriptVector, F&& extractor, O* objectInvoker) +template<typename T, typename O> +void CreateSpellOrAuraScripts(uint32 spellId, std::vector<T*>& scriptVector, T*(SpellScriptLoader::*extractor)() const, O* objectInvoker) { SpellScriptsBounds bounds = sObjectMgr->GetSpellScriptsBounds(spellId); for (auto itr = bounds.first; itr != bounds.second; ++itr) @@ -1364,11 +1364,11 @@ void CreateSpellOrAuraScripts(uint32 spellId, std::vector<T*>& scriptVector, F&& if (!tmpscript) continue; - T* script = (*tmpscript.*extractor)(); + T* script = (tmpscript->*extractor)(); if (!script) continue; - script->_Init(&tmpscript->GetName(), spellId); + script->_Init(tmpscript->GetName(), spellId); if (!script->_Load(objectInvoker)) { delete script; |