TrinityCore
ScriptMgr.h File Reference
#include "Common.h"
#include "ObjectGuid.h"
#include "Tuples.h"
#include "Types.h"
#include <boost/preprocessor/punctuation/remove_parens.hpp>
#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  AchievementScript
 
class  AchievementCriteriaScript
 
class  PlayerScript
 
class  AccountScript
 
class  GuildScript
 
class  GroupScript
 
class  AreaTriggerEntityScript
 
class  ConversationScript
 
class  SceneScript
 
class  QuestScript
 
class  WorldStateScript
 
class  EventScript
 
class  ScriptMgr
 
class  GenericSpellAndAuraScriptLoader< Ts >
 
class  GenericCreatureScript< AI >
 
class  FactoryCreatureScript< AI, AIFactory >
 
class  GenericGameObjectScript< AI >
 
class  FactoryGameObjectScript< AI, AIFactory >
 
class  GenericAreaTriggerEntityScript< AI >
 

Namespaces

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

Macros

#define VISIBLE_RANGE   166.0f
 
#define RegisterSpellScriptWithArgs(spell_script, script_name, ...)   new GenericSpellAndAuraScriptLoader<BOOST_PP_REMOVE_PARENS(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<BOOST_PP_REMOVE_PARENS(script_1), BOOST_PP_REMOVE_PARENS(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 RegisterAreaTriggerAI(ai_name)   new GenericAreaTriggerEntityScript<ai_name>(#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

◆ RegisterAreaTriggerAI

#define RegisterAreaTriggerAI (   ai_name)    new GenericAreaTriggerEntityScript<ai_name>(#ai_name)

Definition at line 1416 of file ScriptMgr.h.

◆ RegisterCreatureAI

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

Definition at line 1380 of file ScriptMgr.h.

◆ RegisterCreatureAIWithFactory

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

Definition at line 1389 of file ScriptMgr.h.

◆ RegisterGameObjectAI

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

Definition at line 1398 of file ScriptMgr.h.

◆ RegisterGameObjectAIWithFactory

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

Definition at line 1407 of file ScriptMgr.h.

◆ RegisterSpellAndAuraScriptPair

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

Definition at line 1371 of file ScriptMgr.h.

◆ RegisterSpellAndAuraScriptPairWithArgs

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

Definition at line 1370 of file ScriptMgr.h.

◆ RegisterSpellScript

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

Definition at line 1369 of file ScriptMgr.h.

◆ RegisterSpellScriptWithArgs

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

Definition at line 1368 of file ScriptMgr.h.

◆ sScriptMgr

#define sScriptMgr   ScriptMgr::instance()

Definition at line 1418 of file ScriptMgr.h.

◆ VISIBLE_RANGE

#define VISIBLE_RANGE   166.0f

Definition at line 97 of file ScriptMgr.h.