TrinityCore
Loading...
Searching...
No Matches
ScriptMgr.h File Reference
#include "Common.h"
#include "ObjectGuid.h"
#include "Tuples.h"
#include "Types.h"
#include <memory>
#include <vector>
+ Include dependency graph for ScriptMgr.h:

Go to the source code of this file.

Classes

class  ScriptObject
 
class  SpellScriptLoader
 
class  ServerScript
 
class  WorldScript
 
class  FormulaScript
 
class  MapScript< TMap >
 
class  WorldMapScript
 
class  InstanceMapScript
 
class  BattlegroundMapScript
 
class  ItemScript
 
class  UnitScript
 
class  CreatureScript
 
class  GameObjectScript
 
class  AreaTriggerScript
 
class  OnlyOnceAreaTriggerScript
 
class  BattlefieldScript
 
class  BattlegroundScript
 
class  OutdoorPvPScript
 
class  CommandScript
 
class  WeatherScript
 
class  AuctionHouseScript
 
class  ConditionScript
 
class  VehicleScript
 
class  DynamicObjectScript
 
class  TransportScript
 
class  AchievementCriteriaScript
 
class  PlayerScript
 
class  AccountScript
 
class  GuildScript
 
class  GroupScript
 
class  ScriptMgr
 
class  GenericSpellAndAuraScriptLoader< Ts >
 
class  GenericCreatureScript< AI >
 
class  FactoryCreatureScript< AI, AIFactory >
 
class  GenericGameObjectScript< AI >
 
class  FactoryGameObjectScript< AI, AIFactory >
 

Namespaces

namespace  Trinity
 
namespace  Trinity::ChatCommands
 
namespace  Trinity::SpellScripts
 

Macros

#define VISIBLE_RANGE   166.0f
 
#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)
 
#define RegisterCreatureAI(ai_name)   new GenericCreatureScript<ai_name>(#ai_name)
 
#define RegisterCreatureAIWithFactory(ai_name, factory_fn)   new FactoryCreatureScript<ai_name, &factory_fn>(#ai_name)
 
#define RegisterGameObjectAI(ai_name)   new GenericGameObjectScript<ai_name>(#ai_name)
 
#define RegisterGameObjectAIWithFactory(ai_name, factory_fn)   new FactoryGameObjectScript<ai_name, &factory_fn>(#ai_name)
 
#define sScriptMgr   ScriptMgr::instance()
 

Typedefs

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

Macro Definition Documentation

◆ RegisterCreatureAI

#define RegisterCreatureAI (   ai_name)    new GenericCreatureScript<ai_name>(#ai_name)

Definition at line 1139 of file ScriptMgr.h.

◆ RegisterCreatureAIWithFactory

#define RegisterCreatureAIWithFactory (   ai_name,
  factory_fn 
)    new FactoryCreatureScript<ai_name, &factory_fn>(#ai_name)

Definition at line 1148 of file ScriptMgr.h.

◆ RegisterGameObjectAI

#define RegisterGameObjectAI (   ai_name)    new GenericGameObjectScript<ai_name>(#ai_name)

Definition at line 1157 of file ScriptMgr.h.

◆ RegisterGameObjectAIWithFactory

#define RegisterGameObjectAIWithFactory (   ai_name,
  factory_fn 
)    new FactoryGameObjectScript<ai_name, &factory_fn>(#ai_name)

Definition at line 1166 of file ScriptMgr.h.

◆ RegisterSpellAndAuraScriptPair

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

Definition at line 1130 of file ScriptMgr.h.

◆ 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__))

Definition at line 1129 of file ScriptMgr.h.

◆ RegisterSpellScript

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

Definition at line 1128 of file ScriptMgr.h.

◆ RegisterSpellScriptWithArgs

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

Definition at line 1127 of file ScriptMgr.h.

◆ sScriptMgr

#define sScriptMgr   ScriptMgr::instance()

Definition at line 1168 of file ScriptMgr.h.

◆ VISIBLE_RANGE

#define VISIBLE_RANGE   166.0f

Definition at line 91 of file ScriptMgr.h.