AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
SpellScriptLoader.h File Reference
#include "ScriptObject.h"
#include "Tuples.h"
#include "Types.h"

Go to the source code of this file.

Classes

class  SpellScriptLoader
 
class  GenericSpellAndAuraScriptLoader< Ts >
 

Namespaces

namespace  Acore
 
namespace  Acore::SpellScripts
 

Macros

#define RegisterSpellScriptWithArgs(spell_script, script_name, ...)   new GenericSpellAndAuraScriptLoader<spell_script, decltype(std::make_tuple(__VA_ARGS__))>(script_name, std::make_tuple(__VA_ARGS__))
 
#define RegisterSpellScript(spell_script)   RegisterSpellScriptWithArgs(spell_script, #spell_script)
 
#define RegisterSpellAndAuraScriptPairWithArgs(script_1, script_2, script_name, ...)   new GenericSpellAndAuraScriptLoader<script_1, script_2, decltype(std::make_tuple(__VA_ARGS__))>(script_name, std::make_tuple(__VA_ARGS__))
 
#define RegisterSpellAndAuraScriptPair(script_1, script_2)   RegisterSpellAndAuraScriptPairWithArgs(script_1, script_2, #script_1)
 

Typedefs

template<typename T >
using Acore::SpellScripts::is_SpellScript = std::is_base_of< SpellScript, T >
 
template<typename T >
using Acore::SpellScripts::is_AuraScript = std::is_base_of< AuraScript, T >
 

Macro Definition Documentation

◆ RegisterSpellAndAuraScriptPair

#define RegisterSpellAndAuraScriptPair (   script_1,
  script_2 
)    RegisterSpellAndAuraScriptPairWithArgs(script_1, script_2, #script_1)

◆ RegisterSpellAndAuraScriptPairWithArgs

#define RegisterSpellAndAuraScriptPairWithArgs (   script_1,
  script_2,
  script_name,
  ... 
)    new GenericSpellAndAuraScriptLoader<script_1, script_2, decltype(std::make_tuple(__VA_ARGS__))>(script_name, std::make_tuple(__VA_ARGS__))

◆ RegisterSpellScript

#define RegisterSpellScript (   spell_script)    RegisterSpellScriptWithArgs(spell_script, #spell_script)

◆ RegisterSpellScriptWithArgs

#define RegisterSpellScriptWithArgs (   spell_script,
  script_name,
  ... 
)    new GenericSpellAndAuraScriptLoader<spell_script, decltype(std::make_tuple(__VA_ARGS__))>(script_name, std::make_tuple(__VA_ARGS__))