TrinityCore
Loading...
Searching...
No Matches
ScriptMgr.cpp File Reference
#include "ScriptMgr.h"
#include "ChatCommand.h"
#include "Config.h"
#include "Creature.h"
#include "CreatureAIImpl.h"
#include "DatabaseEnv.h"
#include "DBCStores.h"
#include "GossipDef.h"
#include "InstanceScript.h"
#include "Item.h"
#include "LFGScripts.h"
#include "Log.h"
#include "MapManager.h"
#include "ObjectMgr.h"
#include "OutdoorPvPMgr.h"
#include "Player.h"
#include "ScriptReloadMgr.h"
#include "ScriptSystem.h"
#include "SmartAI.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "Transport.h"
#include "Vehicle.h"
#include "Weather.h"
#include "WorldPacket.h"
#include "WorldSession.h"
+ Include dependency graph for ScriptMgr.cpp:

Go to the source code of this file.

Classes

struct  is_script_database_bound< typename >
 
struct  is_script_database_bound< SpellScriptLoader >
 
struct  is_script_database_bound< InstanceMapScript >
 
struct  is_script_database_bound< ItemScript >
 
struct  is_script_database_bound< CreatureScript >
 
struct  is_script_database_bound< GameObjectScript >
 
struct  is_script_database_bound< VehicleScript >
 
struct  is_script_database_bound< AreaTriggerScript >
 
struct  is_script_database_bound< BattlefieldScript >
 
struct  is_script_database_bound< BattlegroundScript >
 
struct  is_script_database_bound< OutdoorPvPScript >
 
struct  is_script_database_bound< WeatherScript >
 
struct  is_script_database_bound< ConditionScript >
 
struct  is_script_database_bound< TransportScript >
 
struct  is_script_database_bound< AchievementCriteriaScript >
 
class  ScriptRegistryInterface
 
class  ScriptRegistryCompositum
 
class  ScriptRegistryCompositum::DeleteableObjectBase
 Type erasure wrapper for objects. More...
 
class  ScriptRegistryCompositum::DeleteableObject< T >
 
class  ScriptRegistry< ScriptType >
 
class  ScriptRegistrySwapHookBase
 
class  ScriptRegistrySwapHooks< ScriptType, Base >
 
class  UnsupportedScriptRegistrySwapHooks< Base >
 This hook is responsible for swapping OutdoorPvP's. More...
 
class  CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >
 This hook is responsible for swapping Creature and GameObject AI's. More...
 
class  CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::AIFunctionMapWorker< W >
 
class  CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::AsyncCastHotswapEffectEvent
 
class  ScriptRegistrySwapHooks< CreatureScript, Base >
 
class  ScriptRegistrySwapHooks< GameObjectScript, Base >
 
class  ScriptRegistrySwapHooks< BattlefieldScript, Base >
 This hook is responsible for swapping BattlefieldScripts. More...
 
class  ScriptRegistrySwapHooks< BattlegroundScript, Base >
 This hook is responsible for swapping BattlegroundScript's. More...
 
class  ScriptRegistrySwapHooks< OutdoorPvPScript, Base >
 This hook is responsible for swapping OutdoorPvP's. More...
 
class  ScriptRegistrySwapHooks< InstanceMapScript, Base >
 This hook is responsible for swapping InstanceMapScript's. More...
 
class  ScriptRegistrySwapHooks< SpellScriptLoader, Base >
 This hook is responsible for swapping SpellScriptLoader's. More...
 
class  SpecializedScriptRegistry< ScriptType, true >
 
class  ScriptRegistrySwapHooks< CommandScript, Base >
 This hook is responsible for swapping CommandScript's. More...
 
class  SpecializedScriptRegistry< ScriptType, false >
 
struct  TSpellSummary
 

Macros

#define sScriptRegistryCompositum   ScriptRegistryCompositum::Instance()
 
#define SCR_REG_MAP(T)   ScriptRegistry<T>::ScriptStoreType
 
#define SCR_REG_ITR(T)   ScriptRegistry<T>::ScriptStoreIteratorType
 
#define SCR_REG_LST(T)   ScriptRegistry<T>::Instance()->GetScripts()
 
#define FOR_SCRIPTS(T, C, E)
 
#define FOR_SCRIPTS_RET(T, C, E, R)
 
#define FOREACH_SCRIPT(T)
 
#define GET_SCRIPT(T, I, V)
 
#define GET_SCRIPT_RET(T, I, V, R)
 
#define SCR_MAP_BGN(M, V, I, E, C, T)
 
#define SCR_MAP_END
 

Enumerations

enum  Spells { SPELL_HOTSWAP_VISUAL_SPELL_EFFECT = 40162 }
 

Functions

template<typename T , typename F , typename O >
void CreateSpellOrAuraScripts (uint32 spellId, std::vector< T * > &scriptVector, F &&extractor, O *objectInvoker)
 

Variables

struct TSpellSummarySpellSummary
 
template class TC_GAME_API MapScript< Map >
 
template class TC_GAME_API MapScript< InstanceMap >
 
template class TC_GAME_API MapScript< BattlegroundMap >
 
template class TC_GAME_API ScriptRegistry< SpellScriptLoader >
 
template class TC_GAME_API ScriptRegistry< ServerScript >
 
template class TC_GAME_API ScriptRegistry< WorldScript >
 
template class TC_GAME_API ScriptRegistry< FormulaScript >
 
template class TC_GAME_API ScriptRegistry< WorldMapScript >
 
template class TC_GAME_API ScriptRegistry< InstanceMapScript >
 
template class TC_GAME_API ScriptRegistry< BattlegroundMapScript >
 
template class TC_GAME_API ScriptRegistry< ItemScript >
 
template class TC_GAME_API ScriptRegistry< CreatureScript >
 
template class TC_GAME_API ScriptRegistry< GameObjectScript >
 
template class TC_GAME_API ScriptRegistry< AreaTriggerScript >
 
template class TC_GAME_API ScriptRegistry< BattlefieldScript >
 
template class TC_GAME_API ScriptRegistry< BattlegroundScript >
 
template class TC_GAME_API ScriptRegistry< OutdoorPvPScript >
 
template class TC_GAME_API ScriptRegistry< CommandScript >
 
template class TC_GAME_API ScriptRegistry< WeatherScript >
 
template class TC_GAME_API ScriptRegistry< AuctionHouseScript >
 
template class TC_GAME_API ScriptRegistry< ConditionScript >
 
template class TC_GAME_API ScriptRegistry< VehicleScript >
 
template class TC_GAME_API ScriptRegistry< DynamicObjectScript >
 
template class TC_GAME_API ScriptRegistry< TransportScript >
 
template class TC_GAME_API ScriptRegistry< AchievementCriteriaScript >
 
template class TC_GAME_API ScriptRegistry< PlayerScript >
 
template class TC_GAME_API ScriptRegistry< GuildScript >
 
template class TC_GAME_API ScriptRegistry< GroupScript >
 
template class TC_GAME_API ScriptRegistry< UnitScript >
 
template class TC_GAME_API ScriptRegistry< AccountScript >
 

Macro Definition Documentation

◆ FOR_SCRIPTS

#define FOR_SCRIPTS (   T,
  C,
 
)
Value:
if (!SCR_REG_LST(T).empty()) \
for (SCR_REG_ITR(T) C = SCR_REG_LST(T).begin(); \
C != SCR_REG_LST(T).end(); ++C)
#define SCR_REG_LST(T)
#define SCR_REG_ITR(T)

Definition at line 972 of file ScriptMgr.cpp.

◆ FOR_SCRIPTS_RET

#define FOR_SCRIPTS_RET (   T,
  C,
  E,
 
)
Value:
if (SCR_REG_LST(T).empty()) \
return R; \
\
for (SCR_REG_ITR(T) C = SCR_REG_LST(T).begin(); \
C != SCR_REG_LST(T).end(); ++C)

Definition at line 977 of file ScriptMgr.cpp.

◆ FOREACH_SCRIPT

#define FOREACH_SCRIPT (   T)
Value:
FOR_SCRIPTS(T, itr, end) \
itr->second
#define FOR_SCRIPTS(T, C, E)

Definition at line 984 of file ScriptMgr.cpp.

◆ GET_SCRIPT

#define GET_SCRIPT (   T,
  I,
 
)
Value:
T* V = ScriptRegistry<T>::Instance()->GetScriptById(I); \
if (!V) \
return;
static ScriptRegistry * Instance()

Definition at line 989 of file ScriptMgr.cpp.

◆ GET_SCRIPT_RET

#define GET_SCRIPT_RET (   T,
  I,
  V,
 
)
Value:
T* V = ScriptRegistry<T>::Instance()->GetScriptById(I); \
if (!V) \
return R;

Definition at line 994 of file ScriptMgr.cpp.

◆ SCR_MAP_BGN

#define SCR_MAP_BGN (   M,
  V,
  I,
  E,
  C,
 
)
Value:
if (V->GetEntry() && V->GetEntry()->T()) \
{ \
FOR_SCRIPTS(M, I, E) \
{ \
MapEntry const* C = I->second->GetEntry(); \
if (!C) \
continue; \
if (C->ID == V->GetId()) \
{

Definition at line 1383 of file ScriptMgr.cpp.

◆ SCR_MAP_END

#define SCR_MAP_END
Value:
return; \
} \
} \
}

Definition at line 1394 of file ScriptMgr.cpp.

◆ SCR_REG_ITR

#define SCR_REG_ITR (   T)    ScriptRegistry<T>::ScriptStoreIteratorType

Definition at line 968 of file ScriptMgr.cpp.

◆ SCR_REG_LST

#define SCR_REG_LST (   T)    ScriptRegistry<T>::Instance()->GetScripts()

Definition at line 969 of file ScriptMgr.cpp.

◆ SCR_REG_MAP

#define SCR_REG_MAP (   T)    ScriptRegistry<T>::ScriptStoreType

Definition at line 967 of file ScriptMgr.cpp.

◆ sScriptRegistryCompositum

#define sScriptRegistryCompositum   ScriptRegistryCompositum::Instance()

Definition at line 263 of file ScriptMgr.cpp.

Enumeration Type Documentation

◆ Spells

enum Spells
Enumerator
SPELL_HOTSWAP_VISUAL_SPELL_EFFECT 

Definition at line 108 of file ScriptMgr.cpp.

Function Documentation

◆ CreateSpellOrAuraScripts()

template<typename T , typename F , typename O >
void CreateSpellOrAuraScripts ( uint32  spellId,
std::vector< T * > &  scriptVector,
F &&  extractor,
O *  objectInvoker 
)

Definition at line 1228 of file ScriptMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ MapScript< BattlegroundMap >

Definition at line 2290 of file ScriptMgr.cpp.

◆ MapScript< InstanceMap >

template class TC_GAME_API MapScript< InstanceMap >

Definition at line 2289 of file ScriptMgr.cpp.

◆ MapScript< Map >

template class TC_GAME_API MapScript< Map >

Definition at line 2288 of file ScriptMgr.cpp.

◆ ScriptRegistry< AccountScript >

Definition at line 2844 of file ScriptMgr.cpp.

◆ ScriptRegistry< AchievementCriteriaScript >

Definition at line 2839 of file ScriptMgr.cpp.

◆ ScriptRegistry< AreaTriggerScript >

Definition at line 2828 of file ScriptMgr.cpp.

◆ ScriptRegistry< AuctionHouseScript >

Definition at line 2834 of file ScriptMgr.cpp.

◆ ScriptRegistry< BattlefieldScript >

Definition at line 2829 of file ScriptMgr.cpp.

◆ ScriptRegistry< BattlegroundMapScript >

Definition at line 2824 of file ScriptMgr.cpp.

◆ ScriptRegistry< BattlegroundScript >

Definition at line 2830 of file ScriptMgr.cpp.

◆ ScriptRegistry< CommandScript >

Definition at line 2832 of file ScriptMgr.cpp.

◆ ScriptRegistry< ConditionScript >

Definition at line 2835 of file ScriptMgr.cpp.

◆ ScriptRegistry< CreatureScript >

Definition at line 2826 of file ScriptMgr.cpp.

◆ ScriptRegistry< DynamicObjectScript >

Definition at line 2837 of file ScriptMgr.cpp.

◆ ScriptRegistry< FormulaScript >

Definition at line 2821 of file ScriptMgr.cpp.

◆ ScriptRegistry< GameObjectScript >

Definition at line 2827 of file ScriptMgr.cpp.

◆ ScriptRegistry< GroupScript >

Definition at line 2842 of file ScriptMgr.cpp.

◆ ScriptRegistry< GuildScript >

Definition at line 2841 of file ScriptMgr.cpp.

◆ ScriptRegistry< InstanceMapScript >

Definition at line 2823 of file ScriptMgr.cpp.

◆ ScriptRegistry< ItemScript >

Definition at line 2825 of file ScriptMgr.cpp.

◆ ScriptRegistry< OutdoorPvPScript >

Definition at line 2831 of file ScriptMgr.cpp.

◆ ScriptRegistry< PlayerScript >

Definition at line 2840 of file ScriptMgr.cpp.

◆ ScriptRegistry< ServerScript >

Definition at line 2819 of file ScriptMgr.cpp.

◆ ScriptRegistry< SpellScriptLoader >

Definition at line 2818 of file ScriptMgr.cpp.

◆ ScriptRegistry< TransportScript >

Definition at line 2838 of file ScriptMgr.cpp.

◆ ScriptRegistry< UnitScript >

Definition at line 2843 of file ScriptMgr.cpp.

◆ ScriptRegistry< VehicleScript >

Definition at line 2836 of file ScriptMgr.cpp.

◆ ScriptRegistry< WeatherScript >

Definition at line 2833 of file ScriptMgr.cpp.

◆ ScriptRegistry< WorldMapScript >

Definition at line 2822 of file ScriptMgr.cpp.

◆ ScriptRegistry< WorldScript >

Definition at line 2820 of file ScriptMgr.cpp.

◆ SpellSummary

struct TSpellSummary * SpellSummary