diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h index 2ae439a378..e74861edc8 100644 --- a/src/server/game/Spells/SpellScript.h +++ b/src/server/game/Spells/SpellScript.h @@ -166,7 +166,10 @@ protected: static Ret Invoke(BaseClass& script, Args... args, StorageType callImpl) { - return std::invoke(reinterpret_cast(callImpl.data())->Func, static_cast(script), args...); + if constexpr (std::is_member_function_pointer_v) + return (static_cast(script).*reinterpret_cast(callImpl.data())->Func)(args...); + else + return reinterpret_cast(callImpl.data())->Func(static_cast(script), args...); } ScriptFunc Func;