TrinityCore
Loading...
Searching...
No Matches
ScriptMgr.h File Reference
#include "Common.h"
#include "ObjectGuid.h"
#include "Tuples.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  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  PlayerChoiceScript
 
class  ScriptMgr
 
class  GenericSpellAndAuraScriptLoader< Script1, Script2, ArgsType >
 
class  GenericCreatureScript< AI >
 
class  FactoryCreatureScript< AI, AIFactory >
 
class  GenericGameObjectScript< AI >
 
class  FactoryGameObjectScript< AI, AIFactory >
 
class  GenericAreaTriggerEntityScript< AI >
 
class  GenericConversationScript< AI >
 
class  GenericBattlegroundMapScript< Script >
 

Namespaces

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

Concepts

concept  Trinity::SpellScripts::IsSpellScript
 
concept  Trinity::SpellScripts::IsAuraScript
 
concept  Trinity::SpellScripts::IsSpellOrAuraScript
 
concept  Trinity::SpellScripts::ComplementScriptFor
 
concept  Trinity::SpellScripts::ArgsTuple
 

Macros

#define VISIBLE_RANGE   166.0f
 
#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 RegisterSpellScriptWithArgs(spell_script, script_name, ...)   RegisterSpellAndAuraScriptPairWithArgs(spell_script, void, script_name, __VA_ARGS__)
 
#define RegisterSpellScript(spell_script)   RegisterSpellAndAuraScriptPairWithArgs(spell_script, void, #spell_script)
 
#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 RegisterConversationAI(ai_name)   new GenericConversationScript<ai_name>(#ai_name)
 
#define RegisterBattlegroundMapScript(script_name, mapId)   new GenericBattlegroundMapScript<script_name>(#script_name, mapId)
 
#define sScriptMgr   ScriptMgr::instance()
 

Macro Definition Documentation

◆ RegisterAreaTriggerAI

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

Definition at line 1428 of file ScriptMgr.h.

◆ RegisterBattlegroundMapScript

#define RegisterBattlegroundMapScript (   script_name,
  mapId 
)    new GenericBattlegroundMapScript<script_name>(#script_name, mapId)

Definition at line 1447 of file ScriptMgr.h.

◆ RegisterConversationAI

#define RegisterConversationAI (   ai_name)    new GenericConversationScript<ai_name>(#ai_name)

Definition at line 1437 of file ScriptMgr.h.

◆ RegisterCreatureAI

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

Definition at line 1392 of file ScriptMgr.h.

◆ RegisterCreatureAIWithFactory

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

Definition at line 1401 of file ScriptMgr.h.

◆ RegisterGameObjectAI

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

Definition at line 1410 of file ScriptMgr.h.

◆ RegisterGameObjectAIWithFactory

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

Definition at line 1419 of file ScriptMgr.h.

◆ RegisterSpellAndAuraScriptPair

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

Definition at line 1381 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 1380 of file ScriptMgr.h.

◆ RegisterSpellScript

#define RegisterSpellScript (   spell_script)    RegisterSpellAndAuraScriptPairWithArgs(spell_script, void, #spell_script)

Definition at line 1383 of file ScriptMgr.h.

◆ RegisterSpellScriptWithArgs

#define RegisterSpellScriptWithArgs (   spell_script,
  script_name,
  ... 
)    RegisterSpellAndAuraScriptPairWithArgs(spell_script, void, script_name, __VA_ARGS__)

Definition at line 1382 of file ScriptMgr.h.

◆ sScriptMgr

#define sScriptMgr   ScriptMgr::instance()

Definition at line 1449 of file ScriptMgr.h.

◆ VISIBLE_RANGE

#define VISIBLE_RANGE   166.0f

Definition at line 100 of file ScriptMgr.h.