TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
AuraScript Class Reference

#include <SpellScript.h>

Classes

class  AuraDispelHandler
 
class  AuraProcHandler
 
class  CheckAreaTargetHandler
 
class  CheckProcHandler
 
class  EffectAbsorbHandler
 
class  EffectApplyHandler
 
class  EffectBase
 
class  EffectCalcAmountHandler
 
class  EffectCalcPeriodicHandler
 
class  EffectCalcSpellModHandler
 
class  EffectManaShieldHandler
 
class  EffectPeriodicHandler
 
class  EffectProcHandler
 
class  EffectSplitHandler
 
class  EffectUpdatePeriodicHandler
 
class  ScriptStateStore
 

Public Member Functions

 AuraScript ()
 
bool _Validate (SpellInfo const *entry) override
 
bool _Load (Aura *aura)
 
void _PrepareScriptCall (AuraScriptHookType hookType, AuraApplication const *aurApp=NULL)
 
void _FinishScriptCall ()
 
bool _IsDefaultActionPrevented ()
 
void PreventDefaultAction ()
 
SpellInfo constGetSpellInfo () const
 
uint32 GetId () const
 
ObjectGuid GetCasterGUID () const
 
UnitGetCaster () const
 
WorldObjectGetOwner () const
 
UnitGetUnitOwner () const
 
DynamicObjectGetDynobjOwner () const
 
void Remove (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
AuraGetAura () const
 
AuraObjectType GetType () const
 
int32 GetDuration () const
 
void SetDuration (int32 duration, bool withMods=false)
 
void RefreshDuration ()
 
time_t GetApplyTime () const
 
int32 GetMaxDuration () const
 
void SetMaxDuration (int32 duration)
 
int32 CalcMaxDuration () const
 
bool IsExpired () const
 
bool IsPermanent () const
 
uint8 GetCharges () const
 
void SetCharges (uint8 charges)
 
uint8 CalcMaxCharges () const
 
bool ModCharges (int8 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
bool DropCharge (AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
uint8 GetStackAmount () const
 
void SetStackAmount (uint8 num)
 
bool ModStackAmount (int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
 
bool IsPassive () const
 
bool IsDeathPersistent () const
 
bool HasEffect (uint8 effIndex) const
 
AuraEffectGetEffect (uint8 effIndex) const
 
bool HasEffectType (AuraType type) const
 
UnitGetTarget () const
 
AuraApplication constGetTargetApplication () const
 
- Public Member Functions inherited from _SpellScript
 _SpellScript ()
 
virtual ~_SpellScript ()
 
virtual void _Register ()
 
virtual void _Unload ()
 
virtual void _Init (std::string const *scriptname, uint32 spellId)
 
std::string const_GetScriptName () const
 
virtual void Register ()=0
 
virtual bool Validate (SpellInfo const *)
 
virtual bool Load ()
 
virtual void Unload ()
 

Public Attributes

HookList< CheckAreaTargetHandlerDoCheckAreaTarget
 
HookList< AuraDispelHandlerOnDispel
 
HookList< AuraDispelHandlerAfterDispel
 
HookList< EffectApplyHandlerOnEffectApply
 
HookList< EffectApplyHandlerAfterEffectApply
 
HookList< EffectApplyHandlerOnEffectRemove
 
HookList< EffectApplyHandlerAfterEffectRemove
 
HookList< EffectPeriodicHandlerOnEffectPeriodic
 
HookList
< EffectUpdatePeriodicHandler
OnEffectUpdatePeriodic
 
HookList< EffectCalcAmountHandlerDoEffectCalcAmount
 
HookList
< EffectCalcPeriodicHandler
DoEffectCalcPeriodic
 
HookList
< EffectCalcSpellModHandler
DoEffectCalcSpellMod
 
HookList< EffectAbsorbHandlerOnEffectAbsorb
 
HookList< EffectAbsorbHandlerAfterEffectAbsorb
 
HookList< EffectManaShieldHandlerOnEffectManaShield
 
HookList< EffectManaShieldHandlerAfterEffectManaShield
 
HookList< EffectSplitHandlerOnEffectSplit
 
HookList< CheckProcHandlerDoCheckProc
 
HookList< AuraProcHandlerDoPrepareProc
 
HookList< AuraProcHandlerOnProc
 
HookList< AuraProcHandlerAfterProc
 
HookList< EffectProcHandlerOnEffectProc
 
HookList< EffectProcHandlerAfterEffectProc
 

Private Types

typedef std::stack
< ScriptStateStore
ScriptStateStack
 

Private Attributes

Auram_aura
 
AuraApplication constm_auraApplication
 
bool m_defaultActionPrevented
 
ScriptStateStack m_scriptStates
 

Additional Inherited Members

- Protected Attributes inherited from _SpellScript
uint8 m_currentScriptState
 
std::string constm_scriptName
 
uint32 m_scriptSpellId
 

Member Typedef Documentation

typedef std::stack<ScriptStateStore> AuraScript::ScriptStateStack
private

Constructor & Destructor Documentation

AuraScript::AuraScript ( )
inline
639  { }
arena_t NULL
Definition: jemalloc_internal.h:624
bool m_defaultActionPrevented
Definition: SpellScript.h:648
AuraApplication const * m_auraApplication
Definition: SpellScript.h:647
_SpellScript()
Definition: SpellScript.h:63
Aura * m_aura
Definition: SpellScript.h:646

Member Function Documentation

void AuraScript::_FinishScriptCall ( )
944 {
945  ScriptStateStore stateStore = m_scriptStates.top();
946  m_currentScriptState = stateStore._currentScriptState;
947  m_auraApplication = stateStore._auraApplication;
948  m_defaultActionPrevented = stateStore._defaultActionPrevented;
949  m_scriptStates.pop();
950 }
ScriptStateStack m_scriptStates
Definition: SpellScript.h:661
uint8 m_currentScriptState
Definition: SpellScript.h:105
bool m_defaultActionPrevented
Definition: SpellScript.h:648
AuraApplication const * m_auraApplication
Definition: SpellScript.h:647

+ Here is the caller graph for this function:

bool AuraScript::_IsDefaultActionPrevented ( )
953 {
954  switch (m_currentScriptState)
955  {
965  default:
966  ASSERT(false && "AuraScript::_IsDefaultActionPrevented is called in a wrong place");
967  return false;
968  }
969 }
Definition: SpellScript.h:456
Definition: SpellScript.h:443
Definition: SpellScript.h:463
uint8 m_currentScriptState
Definition: SpellScript.h:105
Definition: SpellScript.h:452
Definition: SpellScript.h:445
Definition: SpellScript.h:447
bool m_defaultActionPrevented
Definition: SpellScript.h:648
Definition: SpellScript.h:462
#define ASSERT
Definition: Errors.h:55
Definition: SpellScript.h:464
bool AuraScript::_Load ( Aura aura)
927 {
928  m_aura = aura;
930  bool load = Load();
932  return load;
933 }
Definition: SpellScript.h:49
arena_t NULL
Definition: jemalloc_internal.h:624
Aura * m_aura
Definition: SpellScript.h:646
void _FinishScriptCall()
Definition: SpellScript.cpp:943
void _PrepareScriptCall(AuraScriptHookType hookType, AuraApplication const *aurApp=NULL)
Definition: SpellScript.cpp:935
AuraScriptHookType
Definition: SpellScript.h:441
virtual bool Load()
Definition: SpellScript.h:120

+ Here is the call graph for this function:

void AuraScript::_PrepareScriptCall ( AuraScriptHookType  hookType,
AuraApplication const aurApp = NULL 
)
936 {
938  m_currentScriptState = hookType;
939  m_defaultActionPrevented = false;
940  m_auraApplication = aurApp;
941 }
ScriptStateStack m_scriptStates
Definition: SpellScript.h:661
uint8 m_currentScriptState
Definition: SpellScript.h:105
bool m_defaultActionPrevented
Definition: SpellScript.h:648
AuraApplication const * m_auraApplication
Definition: SpellScript.h:647

+ Here is the caller graph for this function:

bool AuraScript::_Validate ( SpellInfo const entry)
overridevirtual

Reimplemented from _SpellScript.

665 {
666  for (std::list<CheckAreaTargetHandler>::iterator itr = DoCheckAreaTarget.begin(); itr != DoCheckAreaTarget.end(); ++itr)
667  if (!entry->HasAreaAuraEffect() && !entry->HasEffect(SPELL_EFFECT_PERSISTENT_AREA_AURA) && !entry->HasEffect(SPELL_EFFECT_APPLY_AURA))
668  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `DoCheckAreaTarget` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
669 
670  for (std::list<AuraDispelHandler>::iterator itr = OnDispel.begin(); itr != OnDispel.end(); ++itr)
671  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
672  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `OnDispel` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
673 
674  for (std::list<AuraDispelHandler>::iterator itr = AfterDispel.begin(); itr != AfterDispel.end(); ++itr)
675  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
676  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `AfterDispel` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
677 
678  for (std::list<EffectApplyHandler>::iterator itr = OnEffectApply.begin(); itr != OnEffectApply.end(); ++itr)
679  if (!(*itr).GetAffectedEffectsMask(entry))
680  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectApply` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
681 
682  for (std::list<EffectApplyHandler>::iterator itr = OnEffectRemove.begin(); itr != OnEffectRemove.end(); ++itr)
683  if (!(*itr).GetAffectedEffectsMask(entry))
684  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectRemove` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
685 
686  for (std::list<EffectApplyHandler>::iterator itr = AfterEffectApply.begin(); itr != AfterEffectApply.end(); ++itr)
687  if (!(*itr).GetAffectedEffectsMask(entry))
688  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `AfterEffectApply` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
689 
690  for (std::list<EffectApplyHandler>::iterator itr = AfterEffectRemove.begin(); itr != AfterEffectRemove.end(); ++itr)
691  if (!(*itr).GetAffectedEffectsMask(entry))
692  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `AfterEffectRemove` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
693 
694  for (std::list<EffectPeriodicHandler>::iterator itr = OnEffectPeriodic.begin(); itr != OnEffectPeriodic.end(); ++itr)
695  if (!(*itr).GetAffectedEffectsMask(entry))
696  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectPeriodic` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
697 
698  for (std::list<EffectUpdatePeriodicHandler>::iterator itr = OnEffectUpdatePeriodic.begin(); itr != OnEffectUpdatePeriodic.end(); ++itr)
699  if (!(*itr).GetAffectedEffectsMask(entry))
700  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectUpdatePeriodic` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
701 
702  for (std::list<EffectCalcAmountHandler>::iterator itr = DoEffectCalcAmount.begin(); itr != DoEffectCalcAmount.end(); ++itr)
703  if (!(*itr).GetAffectedEffectsMask(entry))
704  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `DoEffectCalcAmount` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
705 
706  for (std::list<EffectCalcPeriodicHandler>::iterator itr = DoEffectCalcPeriodic.begin(); itr != DoEffectCalcPeriodic.end(); ++itr)
707  if (!(*itr).GetAffectedEffectsMask(entry))
708  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `DoEffectCalcPeriodic` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
709 
710  for (std::list<EffectCalcSpellModHandler>::iterator itr = DoEffectCalcSpellMod.begin(); itr != DoEffectCalcSpellMod.end(); ++itr)
711  if (!(*itr).GetAffectedEffectsMask(entry))
712  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `DoEffectCalcSpellMod` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
713 
714  for (std::list<EffectAbsorbHandler>::iterator itr = OnEffectAbsorb.begin(); itr != OnEffectAbsorb.end(); ++itr)
715  if (!(*itr).GetAffectedEffectsMask(entry))
716  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectAbsorb` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
717 
718  for (std::list<EffectAbsorbHandler>::iterator itr = AfterEffectAbsorb.begin(); itr != AfterEffectAbsorb.end(); ++itr)
719  if (!(*itr).GetAffectedEffectsMask(entry))
720  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `AfterEffectAbsorb` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
721 
722  for (std::list<EffectManaShieldHandler>::iterator itr = OnEffectManaShield.begin(); itr != OnEffectManaShield.end(); ++itr)
723  if (!(*itr).GetAffectedEffectsMask(entry))
724  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectManaShield` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
725 
726  for (std::list<EffectManaShieldHandler>::iterator itr = AfterEffectManaShield.begin(); itr != AfterEffectManaShield.end(); ++itr)
727  if (!(*itr).GetAffectedEffectsMask(entry))
728  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `AfterEffectManaShield` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
729 
730  for (std::list<EffectSplitHandler>::iterator itr = OnEffectSplit.begin(); itr != OnEffectSplit.end(); ++itr)
731  if (!(*itr).GetAffectedEffectsMask(entry))
732  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectSplit` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
733 
734  for (std::list<CheckProcHandler>::iterator itr = DoCheckProc.begin(); itr != DoCheckProc.end(); ++itr)
735  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
736  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `DoCheckProc` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
737 
738  for (std::list<AuraProcHandler>::iterator itr = DoPrepareProc.begin(); itr != DoPrepareProc.end(); ++itr)
739  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
740  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `DoPrepareProc` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
741 
742  for (std::list<AuraProcHandler>::iterator itr = OnProc.begin(); itr != OnProc.end(); ++itr)
743  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
744  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `OnProc` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
745 
746  for (std::list<AuraProcHandler>::iterator itr = AfterProc.begin(); itr != AfterProc.end(); ++itr)
747  if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
748  TC_LOG_ERROR("scripts", "Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `AfterProc` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
749 
750  for (std::list<EffectProcHandler>::iterator itr = OnEffectProc.begin(); itr != OnEffectProc.end(); ++itr)
751  if (!(*itr).GetAffectedEffectsMask(entry))
752  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectProc` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
753 
754  for (std::list<EffectProcHandler>::iterator itr = AfterEffectProc.begin(); itr != AfterEffectProc.end(); ++itr)
755  if (!(*itr).GetAffectedEffectsMask(entry))
756  TC_LOG_ERROR("scripts", "Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `AfterEffectProc` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
757 
758  return _SpellScript::_Validate(entry);
759 }
HookList< EffectAbsorbHandler > AfterEffectAbsorb
Definition: SpellScript.h:745
virtual bool _Validate(SpellInfo const *entry)
Definition: SpellScript.cpp:24
HookList< EffectApplyHandler > AfterEffectApply
Definition: SpellScript.h:692
HookList< EffectCalcSpellModHandler > DoEffectCalcSpellMod
Definition: SpellScript.h:733
HookList< CheckAreaTargetHandler > DoCheckAreaTarget
Definition: SpellScript.h:671
HookList< EffectManaShieldHandler > OnEffectManaShield
Definition: SpellScript.h:750
Definition: SharedDefines.h:1016
HookList< AuraDispelHandler > AfterDispel
Definition: SpellScript.h:681
HookList< EffectApplyHandler > OnEffectRemove
Definition: SpellScript.h:699
HookList< EffectAbsorbHandler > OnEffectAbsorb
Definition: SpellScript.h:739
HookList< EffectSplitHandler > OnEffectSplit
Definition: SpellScript.h:761
HookList< CheckProcHandler > DoCheckProc
Definition: SpellScript.h:767
HookList< EffectApplyHandler > AfterEffectRemove
Definition: SpellScript.h:703
HookList< AuraProcHandler > DoPrepareProc
Definition: SpellScript.h:773
std::string const * m_scriptName
Definition: SpellScript.h:106
HookList< AuraProcHandler > OnProc
Definition: SpellScript.h:777
HookList< AuraDispelHandler > OnDispel
Definition: SpellScript.h:677
HookList< EffectApplyHandler > OnEffectApply
Definition: SpellScript.h:688
HookList< EffectPeriodicHandler > OnEffectPeriodic
Definition: SpellScript.h:709
HookList< EffectUpdatePeriodicHandler > OnEffectUpdatePeriodic
Definition: SpellScript.h:715
HookList< EffectProcHandler > OnEffectProc
Definition: SpellScript.h:787
HookList< EffectProcHandler > AfterEffectProc
Definition: SpellScript.h:791
#define TC_LOG_ERROR(filterType__,...)
Definition: Log.h:207
Definition: SharedDefines.h:1037
HookList< EffectManaShieldHandler > AfterEffectManaShield
Definition: SpellScript.h:756
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
Definition: SpellScript.h:721
HookList< AuraProcHandler > AfterProc
Definition: SpellScript.h:781
HookList< EffectCalcPeriodicHandler > DoEffectCalcPeriodic
Definition: SpellScript.h:727

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8 AuraScript::CalcMaxCharges ( ) const
1097 {
1098  return m_aura->CalcMaxCharges();
1099 }
Aura * m_aura
Definition: SpellScript.h:646
uint8 CalcMaxCharges(Unit *caster) const
Definition: SpellAuras.cpp:874

+ Here is the call graph for this function:

int32 AuraScript::CalcMaxDuration ( ) const
1072 {
1073  return m_aura->CalcMaxDuration();
1074 }
int32 CalcMaxDuration() const
Definition: SpellAuras.h:161
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::DropCharge ( AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT)
1107 {
1108  return m_aura->DropCharge(removeMode);
1109 }
Aura * m_aura
Definition: SpellScript.h:646
bool DropCharge(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: SpellAuras.h:175

+ Here is the call graph for this function:

time_t AuraScript::GetApplyTime ( ) const
1057 {
1058  return m_aura->GetApplyTime();
1059 }
time_t GetApplyTime() const
Definition: SpellAuras.h:158
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

Aura * AuraScript::GetAura ( ) const
1032 {
1033  return m_aura;
1034 }
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the caller graph for this function:

Unit * AuraScript::GetCaster ( ) const
1007 {
1008  return m_aura->GetCaster();
1009 }
Unit * GetCaster() const
Definition: SpellAuras.cpp:438
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

ObjectGuid AuraScript::GetCasterGUID ( ) const
1002 {
1003  return m_aura->GetCasterGUID();
1004 }
Aura * m_aura
Definition: SpellScript.h:646
ObjectGuid GetCasterGUID() const
Definition: SpellAuras.h:135

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8 AuraScript::GetCharges ( ) const
1087 {
1088  return m_aura->GetCharges();
1089 }
Aura * m_aura
Definition: SpellScript.h:646
uint8 GetCharges() const
Definition: SpellAuras.h:170

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int32 AuraScript::GetDuration ( ) const
1042 {
1043  return m_aura->GetDuration();
1044 }
int32 GetDuration() const
Definition: SpellAuras.h:163
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

DynamicObject * AuraScript::GetDynobjOwner ( ) const
1022 {
1023  return m_aura->GetDynobjOwner();
1024 }
DynamicObject * GetDynobjOwner() const
Definition: SpellAuras.h:139
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

AuraEffect * AuraScript::GetEffect ( uint8  effIndex) const
1142 {
1143  return m_aura->GetEffect(effIndex);
1144 }
AuraEffect * GetEffect(uint32 index) const
Definition: SpellAuras.cpp:448
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32 AuraScript::GetId ( void  ) const
997 {
998  return m_aura->GetId();
999 }
Aura * m_aura
Definition: SpellScript.h:646
uint32 GetId() const
Definition: SpellAuras.h:131

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int32 AuraScript::GetMaxDuration ( ) const
1062 {
1063  return m_aura->GetMaxDuration();
1064 }
int32 GetMaxDuration() const
Definition: SpellAuras.h:159
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WorldObject * AuraScript::GetOwner ( ) const
1012 {
1013  return m_aura->GetOwner();
1014 }
WorldObject * GetOwner() const
Definition: SpellAuras.h:137
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

SpellInfo const * AuraScript::GetSpellInfo ( ) const
992 {
993  return m_aura->GetSpellInfo();
994 }
SpellInfo const * GetSpellInfo() const
Definition: SpellAuras.h:130
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

uint8 AuraScript::GetStackAmount ( ) const
1112 {
1113  return m_aura->GetStackAmount();
1114 }
Aura * m_aura
Definition: SpellScript.h:646
uint8 GetStackAmount() const
Definition: SpellAuras.h:179

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Unit * AuraScript::GetTarget ( ) const
1152 {
1153  switch (m_currentScriptState)
1154  {
1167  case AURA_SCRIPT_HOOK_PROC:
1171  return m_auraApplication->GetTarget();
1172  default:
1173  TC_LOG_ERROR("scripts", "Script: `%s` Spell: `%u` AuraScript::GetTarget called in a hook in which the call won't have effect!", m_scriptName->c_str(), m_scriptSpellId);
1174  }
1175 
1176  return NULL;
1177 }
Definition: SpellScript.h:456
Definition: SpellScript.h:443
Unit * GetTarget() const
Definition: SpellAuras.h:74
Definition: SpellScript.h:461
Definition: SpellScript.h:453
Definition: SpellScript.h:463
uint8 m_currentScriptState
Definition: SpellScript.h:105
Definition: SpellScript.h:452
arena_t NULL
Definition: jemalloc_internal.h:624
Definition: SpellScript.h:444
Definition: SpellScript.h:445
Definition: SpellScript.h:447
Definition: SpellScript.h:446
uint32 m_scriptSpellId
Definition: SpellScript.h:107
Definition: SpellScript.h:465
Definition: SpellScript.h:466
AuraApplication const * m_auraApplication
Definition: SpellScript.h:647
std::string const * m_scriptName
Definition: SpellScript.h:106
Definition: SpellScript.h:462
Definition: SpellScript.h:454
#define TC_LOG_ERROR(filterType__,...)
Definition: Log.h:207
Definition: SpellScript.h:464
Definition: SpellScript.h:455

+ Here is the call graph for this function:

AuraApplication const * AuraScript::GetTargetApplication ( ) const
1180 {
1181  return m_auraApplication;
1182 }
AuraApplication const * m_auraApplication
Definition: SpellScript.h:647

+ Here is the caller graph for this function:

AuraObjectType AuraScript::GetType ( ) const
1037 {
1038  return m_aura->GetType();
1039 }
Aura * m_aura
Definition: SpellScript.h:646
AuraObjectType GetType() const
Definition: SpellAuras.cpp:456

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Unit * AuraScript::GetUnitOwner ( ) const
1017 {
1018  return m_aura->GetUnitOwner();
1019 }
Unit * GetUnitOwner() const
Definition: SpellAuras.h:138
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::HasEffect ( uint8  effIndex) const
1137 {
1138  return m_aura->HasEffect(effIndex);
1139 }
bool HasEffect(uint8 effIndex) const
Definition: SpellAuras.h:223
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::HasEffectType ( AuraType  type) const
1147 {
1148  return m_aura->HasEffectType(type);
1149 }
bool HasEffectType(AuraType type) const
Definition: SpellAuras.cpp:1186
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::IsDeathPersistent ( ) const
1132 {
1133  return m_aura->IsDeathPersistent();
1134 }
bool IsDeathPersistent() const
Definition: SpellAuras.cpp:1031
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::IsExpired ( ) const
1077 {
1078  return m_aura->IsExpired();
1079 }
bool IsExpired() const
Definition: SpellAuras.h:167
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool AuraScript::IsPassive ( ) const
1127 {
1128  return m_aura->IsPassive();
1129 }
bool IsPassive() const
Definition: SpellAuras.cpp:1026
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::IsPermanent ( ) const
1082 {
1083  return m_aura->IsPermanent();
1084 }
bool IsPermanent() const
Definition: SpellAuras.h:168
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::ModCharges ( int8  num,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT 
)
1102 {
1103  return m_aura->ModCharges(num, removeMode);
1104 }
bool ModCharges(int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: SpellAuras.cpp:887
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

bool AuraScript::ModStackAmount ( int32  num,
AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT 
)
1122 {
1123  return m_aura->ModStackAmount(num, removeMode);
1124 }
bool ModStackAmount(int32 num, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: SpellAuras.cpp:956
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AuraScript::PreventDefaultAction ( )
972 {
973  switch (m_currentScriptState)
974  {
984  break;
985  default:
986  TC_LOG_ERROR("scripts", "Script: `%s` Spell: `%u` AuraScript::PreventDefaultAction called in a hook in which the call won't have effect!", m_scriptName->c_str(), m_scriptSpellId);
987  break;
988  }
989 }
Definition: SpellScript.h:456
Definition: SpellScript.h:443
Definition: SpellScript.h:463
uint8 m_currentScriptState
Definition: SpellScript.h:105
Definition: SpellScript.h:452
Definition: SpellScript.h:445
Definition: SpellScript.h:447
uint32 m_scriptSpellId
Definition: SpellScript.h:107
bool m_defaultActionPrevented
Definition: SpellScript.h:648
std::string const * m_scriptName
Definition: SpellScript.h:106
Definition: SpellScript.h:462
#define TC_LOG_ERROR(filterType__,...)
Definition: Log.h:207
Definition: SpellScript.h:464
void AuraScript::RefreshDuration ( )
1052 {
1054 }
void RefreshDuration(bool withMods=false)
Definition: SpellAuras.cpp:817
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

void AuraScript::Remove ( AuraRemoveMode  removeMode = AURA_REMOVE_BY_DEFAULT)
1027 {
1028  m_aura->Remove(removeMode);
1029 }
virtual void Remove(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)=0
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AuraScript::SetCharges ( uint8  charges)
1092 {
1093  m_aura->SetCharges(charges);
1094 }
void SetCharges(uint8 charges)
Definition: SpellAuras.cpp:864
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

void AuraScript::SetDuration ( int32  duration,
bool  withMods = false 
)
1047 {
1048  m_aura->SetDuration(duration, withMods);
1049 }
Aura * m_aura
Definition: SpellScript.h:646
void SetDuration(int32 duration, bool withMods=false)
Definition: SpellAuras.cpp:806

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AuraScript::SetMaxDuration ( int32  duration)
1067 {
1068  m_aura->SetMaxDuration(duration);
1069 }
void SetMaxDuration(int32 duration)
Definition: SpellAuras.h:160
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

void AuraScript::SetStackAmount ( uint8  num)
1117 {
1118  m_aura->SetStackAmount(num);
1119 }
void SetStackAmount(uint8 num)
Definition: SpellAuras.cpp:930
Aura * m_aura
Definition: SpellScript.h:646

+ Here is the call graph for this function:

Member Data Documentation

HookList<AuraDispelHandler> AuraScript::AfterDispel
HookList<EffectAbsorbHandler> AuraScript::AfterEffectAbsorb
HookList<EffectApplyHandler> AuraScript::AfterEffectApply
HookList<EffectManaShieldHandler> AuraScript::AfterEffectManaShield
HookList<EffectProcHandler> AuraScript::AfterEffectProc
HookList<EffectApplyHandler> AuraScript::AfterEffectRemove
HookList<AuraProcHandler> AuraScript::AfterProc
HookList<CheckAreaTargetHandler> AuraScript::DoCheckAreaTarget
HookList<CheckProcHandler> AuraScript::DoCheckProc
HookList<EffectCalcAmountHandler> AuraScript::DoEffectCalcAmount
HookList<EffectCalcPeriodicHandler> AuraScript::DoEffectCalcPeriodic
HookList<EffectCalcSpellModHandler> AuraScript::DoEffectCalcSpellMod
HookList<AuraProcHandler> AuraScript::DoPrepareProc
Aura* AuraScript::m_aura
private
AuraApplication const* AuraScript::m_auraApplication
private
bool AuraScript::m_defaultActionPrevented
private
ScriptStateStack AuraScript::m_scriptStates
private
HookList<AuraDispelHandler> AuraScript::OnDispel
HookList<EffectAbsorbHandler> AuraScript::OnEffectAbsorb
HookList<EffectApplyHandler> AuraScript::OnEffectApply
HookList<EffectManaShieldHandler> AuraScript::OnEffectManaShield
HookList<EffectPeriodicHandler> AuraScript::OnEffectPeriodic
HookList<EffectProcHandler> AuraScript::OnEffectProc
HookList<EffectApplyHandler> AuraScript::OnEffectRemove
HookList<EffectSplitHandler> AuraScript::OnEffectSplit
HookList<EffectUpdatePeriodicHandler> AuraScript::OnEffectUpdatePeriodic
HookList<AuraProcHandler> AuraScript::OnProc

The documentation for this class was generated from the following files: