TrinityCore
Loading...
Searching...
No Matches
Spell Class Reference

#include <Spell.h>

Classes

struct  CorpseTargetInfo
 
struct  GOTargetInfo
 
struct  HitTriggerSpell
 
struct  ItemTargetInfo
 
struct  TargetInfo
 
struct  TargetInfoBase
 

Public Types

typedef std::unordered_set< Aura * > UsedSpellMods
 

Public Member Functions

void EffectNULL ()
 
void EffectUnused ()
 
void EffectDistract ()
 
void EffectPull ()
 
void EffectSchoolDMG ()
 
void EffectEnvironmentalDMG ()
 
void EffectInstaKill ()
 
void EffectDummy ()
 
void EffectTeleportUnits ()
 
void EffectApplyAura ()
 
void EffectSendEvent ()
 
void EffectPowerBurn ()
 
void EffectPowerDrain ()
 
void EffectHeal ()
 
void EffectBind ()
 
void EffectHealthLeech ()
 
void EffectQuestComplete ()
 
void EffectCreateItem ()
 
void EffectCreateItem2 ()
 
void EffectCreateRandomItem ()
 
void EffectPersistentAA ()
 
void EffectEnergize ()
 
void EffectOpenLock ()
 
void EffectSummonChangeItem ()
 
void EffectProficiency ()
 
void EffectSummonType ()
 
void EffectLearnSpell ()
 
void EffectDispel ()
 
void EffectDualWield ()
 
void EffectPickPocket ()
 
void EffectAddFarsight ()
 
void EffectUntrainTalents ()
 
void EffectHealMechanical ()
 
void EffectJump ()
 
void EffectJumpDest ()
 
void EffectLeapBack ()
 
void EffectQuestClear ()
 
void EffectTeleUnitsFaceCaster ()
 
void EffectLearnSkill ()
 
void EffectAddHonor ()
 
void EffectTradeSkill ()
 
void EffectEnchantItemPerm ()
 
void EffectEnchantItemTmp ()
 
void EffectTameCreature ()
 
void EffectSummonPet ()
 
void EffectLearnPetSpell ()
 
void EffectWeaponDmg ()
 
void EffectForceCast ()
 
void EffectTriggerSpell ()
 
void EffectTriggerMissileSpell ()
 
void EffectThreat ()
 
void EffectHealMaxHealth ()
 
void EffectInterruptCast ()
 
void EffectSummonObjectWild ()
 
void EffectScriptEffect ()
 
void EffectSanctuary ()
 
void EffectAddComboPoints ()
 
void EffectDuel ()
 
void EffectStuck ()
 
void EffectSummonPlayer ()
 
void EffectActivateObject ()
 
void EffectApplyGlyph ()
 
void EffectEnchantHeldItem ()
 
void EffectSummonObject ()
 
void EffectResurrect ()
 
void EffectParry ()
 
void EffectBlock ()
 
void EffectLeap ()
 
void EffectTransmitted ()
 
void EffectDisEnchant ()
 
void EffectInebriate ()
 
void EffectFeedPet ()
 
void EffectDismissPet ()
 
void EffectReputation ()
 
void EffectForceDeselect ()
 
void EffectSelfResurrect ()
 
void EffectSkinning ()
 
void EffectCharge ()
 
void EffectChargeDest ()
 
void EffectProspecting ()
 
void EffectMilling ()
 
void EffectRenamePet ()
 
void EffectSendTaxi ()
 
void EffectKnockBack ()
 
void EffectPullTowards ()
 
void EffectPullTowardsDest ()
 
void EffectDispelMechanic ()
 
void EffectResurrectPet ()
 
void EffectDestroyAllTotems ()
 
void EffectDurabilityDamage ()
 
void EffectSkill ()
 
void EffectTaunt ()
 
void EffectDurabilityDamagePCT ()
 
void EffectModifyThreatPercent ()
 
void EffectResurrectNew ()
 
void EffectAddExtraAttacks ()
 
void EffectSpiritHeal ()
 
void EffectSkinPlayerCorpse ()
 
void EffectStealBeneficialBuff ()
 
void EffectUnlearnSpecialization ()
 
void EffectHealPct ()
 
void EffectEnergizePct ()
 
void EffectTriggerRitualOfSummoning ()
 
void EffectSummonRaFFriend ()
 
void EffectKillCreditPersonal ()
 
void EffectKillCredit ()
 
void EffectQuestFail ()
 
void EffectQuestStart ()
 
void EffectRedirectThreat ()
 
void EffectGameObjectDamage ()
 
void EffectGameObjectRepair ()
 
void EffectGameObjectSetDestructionState ()
 
void EffectActivateRune ()
 
void EffectCreateTamedPet ()
 
void EffectDiscoverTaxi ()
 
void EffectTitanGrip ()
 
void EffectEnchantItemPrismatic ()
 
void EffectPlayMusic ()
 
void EffectSpecCount ()
 
void EffectActivateSpec ()
 
void EffectPlaySound ()
 
void EffectRemoveAura ()
 
void EffectCastButtons ()
 
void EffectRechargeManaGem ()
 
 Spell (WorldObject *caster, SpellInfo const *info, TriggerCastFlags triggerFlags, ObjectGuid originalCasterGUID=ObjectGuid::Empty)
 
 ~Spell ()
 
void InitExplicitTargets (SpellCastTargets const &targets)
 
void SelectExplicitTargets ()
 
void SelectSpellTargets ()
 
void SelectEffectImplicitTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effectMask)
 
void SelectImplicitChannelTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitNearbyTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitConeTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitAreaTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitCasterDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitTargetDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitDestDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitCasterObjectTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitTargetObjectTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, uint32 effMask)
 
void SelectImplicitChainTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, WorldObject *target, uint32 effMask)
 
void SelectImplicitTrajTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectEffectTypeImplicitTargets (SpellEffectInfo const &spellEffectInfo)
 
uint32 GetSearcherTypeMask (SpellTargetObjectTypes objType, ConditionContainer *condList)
 
template<class SEARCHER >
void SearchTargets (SEARCHER &searcher, uint32 containerMask, WorldObject *referer, Position const *pos, float radius)
 
WorldObjectSearchNearbyTarget (float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer *condList=nullptr)
 
void SearchAreaTargets (std::list< WorldObject * > &targets, float range, Position const *position, WorldObject *referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer *condList)
 
void SearchChainTargets (std::list< WorldObject * > &targets, uint32 chainTargets, WorldObject *target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, ConditionContainer *condList, bool isChainHeal)
 
GameObjectSearchSpellFocus ()
 
SpellCastResult prepare (SpellCastTargets const &targets, AuraEffect const *triggeredByAura=nullptr)
 
void cancel (SpellCastResult result=SPELL_FAILED_INTERRUPTED, Optional< SpellCastResult > resultOther={})
 
void update (uint32 difftime)
 
void cast (bool skipCheck=false)
 
void finish (bool ok=true)
 
void TakePower ()
 
void TakeAmmo ()
 
void TakeRunePower (bool didHit)
 
void TakeReagents ()
 
void TakeCastItem ()
 
SpellCastResult CheckCast (bool strict, uint32 *param1=nullptr, uint32 *param2=nullptr)
 
SpellCastResult CheckPetCast (Unit *target)
 
void handle_immediate ()
 
uint64 handle_delayed (uint64 t_offset)
 
void _handle_immediate_phase ()
 
void _handle_finish_phase ()
 
SpellCastResult CheckItems (uint32 *param1, uint32 *param2) const
 
SpellCastResult CheckRange (bool strict) const
 
SpellCastResult CheckPower () const
 
SpellCastResult CheckRuneCost (uint32 runeCostID) const
 
SpellCastResult CheckCasterAuras (uint32 *param1) const
 
SpellCastResult CheckArenaCastRules () const
 
SpellCastResult CheckMovement () const
 
bool CheckSpellCancelsAuraEffect (AuraType auraType, uint32 *param1) const
 
bool CheckSpellCancelsCharm (uint32 *param1) const
 
bool CheckSpellCancelsStun (uint32 *param1) const
 
bool CheckSpellCancelsSilence (uint32 *param1) const
 
bool CheckSpellCancelsPacify (uint32 *param1) const
 
bool CheckSpellCancelsFear (uint32 *param1) const
 
bool CheckSpellCancelsConfuse (uint32 *param1) const
 
int32 CalculateDamage (SpellEffectInfo const &spellEffectInfo) const
 
void Delayed ()
 
void DelayedChannel ()
 
uint32 getState () const
 
void setState (uint32 state)
 
void DoCreateItem (uint32 itemId)
 
void UpdateSpellCastDataTargets (WorldPackets::Spells::SpellCastData &data)
 Writes miss and hit targets for a SMSG_SPELL_GO packet.
 
void UpdateSpellCastDataAmmo (WorldPackets::Spells::SpellAmmo &data)
 
bool CheckEffectTarget (Unit const *target, SpellEffectInfo const &spellEffectInfo, Position const *losPosition) const
 
bool CanAutoCast (Unit *target)
 
void CheckSrc ()
 
void CheckDst ()
 
void SendCastResult (SpellCastResult result, uint32 *param1=nullptr, uint32 *param2=nullptr) const
 
void SendPetCastResult (SpellCastResult result)
 
void SendMountResult (MountResult result)
 
void SendSpellStart ()
 
void SendSpellGo ()
 
void SendSpellCooldown ()
 
void SendLogExecute ()
 
void ExecuteLogEffectTakeTargetPower (uint8 effIndex, Unit *target, uint32 powerType, uint32 powerTaken, float gainMultiplier)
 
void ExecuteLogEffectExtraAttacks (uint8 effIndex, Unit *victim, uint32 attCount)
 
void ExecuteLogEffectInterruptCast (uint8 effIndex, Unit *victim, uint32 spellId)
 
void ExecuteLogEffectDurabilityDamage (uint8 effIndex, Unit *victim, int32 itemId, int32 slot)
 
void ExecuteLogEffectOpenLock (uint8 effIndex, Object *obj)
 
void ExecuteLogEffectCreateItem (uint8 effIndex, uint32 entry)
 
void ExecuteLogEffectDestroyItem (uint8 effIndex, uint32 entry)
 
void ExecuteLogEffectSummonObject (uint8 effIndex, WorldObject *obj)
 
void ExecuteLogEffectUnsummonObject (uint8 effIndex, WorldObject *obj)
 
void ExecuteLogEffectResurrect (uint8 effIndex, Unit *target)
 
void SendInterrupted (SpellCastResult result, Optional< SpellCastResult > resultOther={})
 
void SendChannelUpdate (uint32 time)
 
void SendChannelStart (uint32 duration)
 
void SendResurrectRequest (Player *target)
 
void HandleEffects (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, Corpse *pCorpseTarget, SpellEffectInfo const &spellEffectInfo, SpellEffectHandleMode mode)
 
void HandleThreatSpells ()
 
void AddComboPointGain (Unit *target, int8 amount)
 
int32 GetCastTime () const
 
bool IsAutoRepeat () const
 
void SetAutoRepeat (bool rep)
 
void ReSetTimer ()
 
bool IsTriggered () const
 
bool IsIgnoringCooldowns () const
 
bool IsFocusDisabled () const
 
bool IsProcDisabled () const
 
bool IsChannelActive () const
 
bool IsAutoActionResetSpell () const
 
bool IsPositive () const
 
bool IsTriggeredByAura (SpellInfo const *auraSpellInfo) const
 
bool IsDeletable () const
 
void SetReferencedFromCurrent (bool yes)
 
bool IsInterruptable () const
 
void SetExecutedCurrently (bool yes)
 
uint64 GetDelayStart () const
 
void SetDelayStart (uint64 m_time)
 
uint64 GetDelayMoment () const
 
uint64 CalculateDelayMomentForDst () const
 
void RecalculateDelayMomentForDst ()
 
uint8 GetRuneState () const
 
void SetRuneState (uint8 value)
 
bool IsNeedSendToClient () const
 
CurrentSpellTypes GetCurrentContainer () const
 
WorldObjectGetCaster () const
 
UnitGetOriginalCaster () const
 
SpellInfo const * GetSpellInfo () const
 
int32 GetPowerCost () const
 
bool UpdatePointers ()
 
void CleanupTargetList ()
 
void SetSpellValue (SpellValueMod mod, int32 value)
 
std::string GetDebugInfo () const
 
Trinity::unique_weak_ptr< SpellGetWeakPtr () const
 
void CallScriptOnResistAbsorbCalculateHandlers (DamageInfo const &damageInfo, uint32 &resistAmount, int32 &absorbAmount)
 
int64 GetUnitTargetCountForEffect (SpellEffIndex effect) const
 
int64 GetGameObjectTargetCountForEffect (SpellEffIndex effect) const
 
int64 GetItemTargetCountForEffect (SpellEffIndex effect) const
 

Static Public Member Functions

static void WriteCastResultInfo (WorldPacket &data, Player *caster, SpellInfo const *spellInfo, uint8 castCount, SpellCastResult result, SpellCustomErrors customError, uint32 *param1=nullptr, uint32 *param2=nullptr)
 
static void SendCastResult (Player *caster, SpellInfo const *spellInfo, uint8 castCount, SpellCastResult result, SpellCustomErrors customError=SPELL_CUSTOM_ERROR_NONE, uint32 *param1=nullptr, uint32 *param2=nullptr)
 

Public Attributes

SpellInfo const *const m_spellInfo
 
Itemm_CastItem
 
ObjectGuid m_castItemGUID
 
uint32 m_castItemEntry
 
uint8 m_cast_count
 
bool m_fromClient
 
uint32 m_glyphIndex
 
SpellCastTargets m_targets
 
Unitm_comboTarget
 
int8 m_comboPointGain
 
SpellCustomErrors m_customError
 
UsedSpellMods m_appliedMods
 
Spell ** m_selfContainer
 

Protected Types

typedef std::vector< HitTriggerSpellHitTriggerSpellList
 

Protected Member Functions

bool HasGlobalCooldown () const
 
void TriggerGlobalCooldown ()
 
void CancelGlobalCooldown ()
 
void _cast (bool skipCheck=false)
 
void SendLoot (ObjectGuid guid, LootType loottype)
 
std::pair< float, float > GetMinMaxRange (bool strict) const
 
bool IsDelayableNoMore ()
 
UnitGetUnitCasterForEffectHandlers () const
 
void prepareDataForTriggerSystem ()
 
template<class Container >
void DoProcessTargetContainer (Container &targetContainer)
 
void AddUnitTarget (Unit *target, uint32 effectMask, bool checkIfValid=true, bool implicit=true, Position const *losPosition=nullptr)
 
void AddGOTarget (GameObject *target, uint32 effectMask)
 
void AddItemTarget (Item *item, uint32 effectMask)
 
void AddCorpseTarget (Corpse *target, uint32 effectMask)
 
void AddDestTarget (SpellDestination const &dest, uint32 effIndex)
 
void PreprocessSpellLaunch (TargetInfo &targetInfo)
 
SpellMissInfo PreprocessSpellHit (Unit *unit, bool scaleAura, TargetInfo &targetInfo)
 
void DoSpellEffectHit (Unit *unit, SpellEffectInfo const &spellEffectInfo, TargetInfo &targetInfo)
 
void DoTriggersOnSpellHit (Unit *unit, uint8 effMask)
 
bool UpdateChanneledTargetList ()
 
bool IsValidDeadOrAliveTarget (Unit const *target) const
 
void HandleLaunchPhase ()
 
void DoEffectOnLaunchTarget (TargetInfo &targetInfo, float multiplier, SpellEffectInfo const &spellEffectInfo)
 
void PrepareTargetProcessing ()
 
void FinishTargetProcessing ()
 
void InitEffectExecuteData (uint8 effIndex)
 
void AssertEffectExecuteData () const
 
void LoadScripts ()
 
void CallScriptBeforeCastHandlers ()
 
void CallScriptOnCastHandlers ()
 
void CallScriptAfterCastHandlers ()
 
SpellCastResult CallScriptCheckCastHandlers ()
 
bool CallScriptEffectHandlers (SpellEffIndex effIndex, SpellEffectHandleMode mode)
 
void CallScriptSuccessfulDispel (SpellEffIndex effIndex)
 
void CallScriptBeforeHitHandlers (SpellMissInfo missInfo)
 
void CallScriptOnHitHandlers ()
 
void CallScriptAfterHitHandlers ()
 
void CallScriptObjectAreaTargetSelectHandlers (std::list< WorldObject * > &targets, SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType)
 
void CallScriptObjectTargetSelectHandlers (WorldObject *&target, SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType)
 
void CallScriptDestinationTargetSelectHandlers (SpellDestination &target, SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType)
 
bool CheckScriptEffectImplicitTargets (uint32 effIndex, uint32 effIndexToCheck)
 
bool CanExecuteTriggersOnHit (uint8 effMask, SpellInfo const *triggeredByAura=nullptr) const
 
void PrepareTriggersExecutedOnHit ()
 
void SummonGuardian (SpellEffectInfo const &spellEffectInfo, uint32 entry, SummonPropertiesEntry const *properties, uint32 numSummons)
 
void CalculateJumpSpeeds (SpellEffectInfo const &spellEffectInfo, float dist, float &speedXY, float &speedZ)
 
SpellCastResult CanOpenLock (SpellEffectInfo const &spellEffectInfo, uint32 lockid, SkillType &skillid, int32 &reqSkillValue, int32 &skillValue)
 
 Spell (Spell const &right)=delete
 
Spelloperator= (Spell const &right)=delete
 

Protected Attributes

WorldObject *const m_caster
 
SpellValue *const m_spellValue
 
ObjectGuid m_originalCasterGUID
 
Unitm_originalCaster
 
SpellSchoolMask m_spellSchoolMask
 
WeaponAttackType m_attackType
 
int32 m_powerCost
 
int32 m_casttime
 
int32 m_channeledDuration
 
bool m_canReflect
 
bool m_autoRepeat
 
uint8 m_runesState
 
uint8 m_delayAtDamageCount
 
uint64 m_delayStart
 
uint64 m_delayMoment
 
bool m_immediateHandled
 
bool m_referencedFromCurrentSpell
 
bool m_executedCurrently
 
bool m_needComboPoints
 
uint8 m_applyMultiplierMask
 
float m_damageMultipliers [MAX_SPELL_EFFECTS]
 
UnitunitTarget
 
ItemitemTarget
 
GameObjectgameObjTarget
 
Corpsem_corpseTarget
 
WorldLocationdestTarget
 
int32 damage
 
SpellMissInfo targetMissInfo
 
SpellEffectHandleMode effectHandleMode
 
SpellEffectInfo const * effectInfo
 
UnitAura_spellAura
 
DynObjAura_dynObjAura
 
ObjectGuid m_focusObjectGUID
 
GameObjectfocusObject
 
int32 m_damage
 
int32 m_healing
 
uint32 m_procAttacker
 
uint32 m_procVictim
 
uint32 m_hitMask
 
std::vector< TargetInfom_UniqueTargetInfo
 
uint8 m_channelTargetEffectMask
 
std::vector< GOTargetInfom_UniqueGOTargetInfo
 
std::vector< ItemTargetInfom_UniqueItemInfo
 
std::vector< CorpseTargetInfom_UniqueCorpseTargetInfo
 
SpellDestination m_destTargets [MAX_SPELL_EFFECTS]
 
std::vector< SpellScript * > m_loadedScripts
 
HitTriggerSpellList m_hitTriggerSpells
 
uint32 m_spellState
 
int32 m_timer
 
SpellEvent_spellEvent
 
TriggerCastFlags _triggeredCastFlags
 
SpellInfo const * m_triggeredByAuraSpell
 
uint8 m_auraScaleMask
 
std::unique_ptr< PathGeneratorm_preGeneratedPath
 
ByteBufferm_effectExecuteData [MAX_SPELL_EFFECTS]
 

Friends

class SpellScript
 

Detailed Description

Definition at line 151 of file Spell.h.

Member Typedef Documentation

◆ HitTriggerSpellList

typedef std::vector<HitTriggerSpell> Spell::HitTriggerSpellList
protected

Definition at line 687 of file Spell.h.

◆ UsedSpellMods

typedef std::unordered_set<Aura*> Spell::UsedSpellMods

Definition at line 281 of file Spell.h.

Constructor & Destructor Documentation

◆ Spell() [1/2]

Spell::Spell ( WorldObject caster,
SpellInfo const *  info,
TriggerCastFlags  triggerFlags,
ObjectGuid  originalCasterGUID = ObjectGuid::Empty 
)

Definition at line 508 of file Spell.cpp.

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

◆ ~Spell()

Spell::~Spell ( )

Definition at line 612 of file Spell.cpp.

+ Here is the call graph for this function:

◆ Spell() [2/2]

Spell::Spell ( Spell const &  right)
protecteddelete

Member Function Documentation

◆ _cast()

void Spell::_cast ( bool  skipCheck = false)
protected

Not own traded item (in trader trade slot) req. reagents including triggered spell case

Definition at line 3340 of file Spell.cpp.

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

◆ _handle_finish_phase()

void Spell::_handle_finish_phase ( )

Definition at line 3786 of file Spell.cpp.

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

◆ _handle_immediate_phase()

void Spell::_handle_immediate_phase ( )

Definition at line 3766 of file Spell.cpp.

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

◆ AddComboPointGain()

void Spell::AddComboPointGain ( Unit target,
int8  amount 
)
inline

Definition at line 404 of file Spell.h.

+ Here is the caller graph for this function:

◆ AddCorpseTarget()

void Spell::AddCorpseTarget ( Corpse target,
uint32  effectMask 
)
protected

Definition at line 2314 of file Spell.cpp.

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

◆ AddDestTarget()

void Spell::AddDestTarget ( SpellDestination const &  dest,
uint32  effIndex 
)
protected

Definition at line 2360 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ AddGOTarget()

void Spell::AddGOTarget ( GameObject target,
uint32  effectMask 
)
protected

Definition at line 2224 of file Spell.cpp.

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

◆ AddItemTarget()

void Spell::AddItemTarget ( Item item,
uint32  effectMask 
)
protected

Definition at line 2286 of file Spell.cpp.

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

◆ AddUnitTarget()

void Spell::AddUnitTarget ( Unit target,
uint32  effectMask,
bool  checkIfValid = true,
bool  implicit = true,
Position const *  losPosition = nullptr 
)
protected
Todo:
this is a hack

Definition at line 2119 of file Spell.cpp.

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

◆ AssertEffectExecuteData()

void Spell::AssertEffectExecuteData ( ) const
protected

Definition at line 7950 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CalculateDamage()

int32 Spell::CalculateDamage ( SpellEffectInfo const &  spellEffectInfo) const

Definition at line 6428 of file Spell.cpp.

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

◆ CalculateDelayMomentForDst()

uint64 Spell::CalculateDelayMomentForDst ( ) const

Definition at line 899 of file Spell.cpp.

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

◆ CalculateJumpSpeeds()

void Spell::CalculateJumpSpeeds ( SpellEffectInfo const &  spellEffectInfo,
float  dist,
float &  speedXY,
float &  speedZ 
)
protected

Definition at line 954 of file SpellEffects.cpp.

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

◆ CallScriptAfterCastHandlers()

void Spell::CallScriptAfterCastHandlers ( )
protected

Definition at line 7992 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptAfterHitHandlers()

void Spell::CallScriptAfterHitHandlers ( )
protected

Definition at line 8114 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptBeforeCastHandlers()

void Spell::CallScriptBeforeCastHandlers ( )
protected

Definition at line 7966 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptBeforeHitHandlers()

void Spell::CallScriptBeforeHitHandlers ( SpellMissInfo  missInfo)
protected

Definition at line 8087 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptCheckCastHandlers()

SpellCastResult Spell::CallScriptCheckCastHandlers ( )
protected

Definition at line 8005 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptDestinationTargetSelectHandlers()

void Spell::CallScriptDestinationTargetSelectHandlers ( SpellDestination target,
SpellEffIndex  effIndex,
SpellImplicitTargetInfo const &  targetType 
)
protected

Definition at line 8155 of file Spell.cpp.

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

◆ CallScriptEffectHandlers()

bool Spell::CallScriptEffectHandlers ( SpellEffIndex  effIndex,
SpellEffectHandleMode  mode 
)
protected

Definition at line 8024 of file Spell.cpp.

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

◆ CallScriptObjectAreaTargetSelectHandlers()

void Spell::CallScriptObjectAreaTargetSelectHandlers ( std::list< WorldObject * > &  targets,
SpellEffIndex  effIndex,
SpellImplicitTargetInfo const &  targetType 
)
protected

Definition at line 8127 of file Spell.cpp.

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

◆ CallScriptObjectTargetSelectHandlers()

void Spell::CallScriptObjectTargetSelectHandlers ( WorldObject *&  target,
SpellEffIndex  effIndex,
SpellImplicitTargetInfo const &  targetType 
)
protected

Definition at line 8141 of file Spell.cpp.

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

◆ CallScriptOnCastHandlers()

void Spell::CallScriptOnCastHandlers ( )
protected

Definition at line 7979 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptOnHitHandlers()

void Spell::CallScriptOnHitHandlers ( )
protected

Definition at line 8101 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptOnResistAbsorbCalculateHandlers()

void Spell::CallScriptOnResistAbsorbCalculateHandlers ( DamageInfo const &  damageInfo,
uint32 resistAmount,
int32 absorbAmount 
)

Definition at line 8334 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptSuccessfulDispel()

void Spell::CallScriptSuccessfulDispel ( SpellEffIndex  effIndex)
protected

Definition at line 8074 of file Spell.cpp.

◆ CanAutoCast()

bool Spell::CanAutoCast ( Unit target)

Definition at line 6470 of file Spell.cpp.

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

◆ cancel()

void Spell::cancel ( SpellCastResult  result = SPELL_FAILED_INTERRUPTED,
Optional< SpellCastResult resultOther = {} 
)

Definition at line 3271 of file Spell.cpp.

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

◆ CancelGlobalCooldown()

void Spell::CancelGlobalCooldown ( )
protected

Definition at line 8305 of file Spell.cpp.

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

◆ CanExecuteTriggersOnHit()

bool Spell::CanExecuteTriggersOnHit ( uint8  effMask,
SpellInfo const *  triggeredByAura = nullptr 
) const
protected

Definition at line 8206 of file Spell.cpp.

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

◆ CanOpenLock()

SpellCastResult Spell::CanOpenLock ( SpellEffectInfo const &  spellEffectInfo,
uint32  lockid,
SkillType skillid,
int32 reqSkillValue,
int32 skillValue 
)
protected

Definition at line 7828 of file Spell.cpp.

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

◆ cast()

void Spell::cast ( bool  skipCheck = false)

Definition at line 3323 of file Spell.cpp.

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

◆ CheckArenaCastRules()

SpellCastResult Spell::CheckArenaCastRules ( ) const

Definition at line 6433 of file Spell.cpp.

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

◆ CheckCast()

SpellCastResult Spell::CheckCast ( bool  strict,
uint32 param1 = nullptr,
uint32 param2 = nullptr 
)
Todo:
determine if there is some flag to enable/disable the check

Definition at line 5178 of file Spell.cpp.

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

◆ CheckCasterAuras()

SpellCastResult Spell::CheckCasterAuras ( uint32 param1) const

Definition at line 6237 of file Spell.cpp.

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

◆ CheckDst()

void Spell::CheckDst ( )

Definition at line 6532 of file Spell.cpp.

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

◆ CheckEffectTarget()

bool Spell::CheckEffectTarget ( Unit const *  target,
SpellEffectInfo const &  spellEffectInfo,
Position const *  losPosition 
) const
Todo:
shit below shouldn't be here, but it's temporary

Definition at line 7414 of file Spell.cpp.

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

◆ CheckItems()

SpellCastResult Spell::CheckItems ( uint32 param1,
uint32 param2 
) const
Todo:
Needs review

Definition at line 6684 of file Spell.cpp.

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

◆ CheckMovement()

SpellCastResult Spell::CheckMovement ( ) const

Definition at line 6452 of file Spell.cpp.

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

◆ CheckPetCast()

SpellCastResult Spell::CheckPetCast ( Unit target)

Definition at line 6196 of file Spell.cpp.

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

◆ CheckPower()

SpellCastResult Spell::CheckPower ( ) const

Definition at line 6644 of file Spell.cpp.

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

◆ CheckRange()

SpellCastResult Spell::CheckRange ( bool  strict) const

Definition at line 6538 of file Spell.cpp.

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

◆ CheckRuneCost()

SpellCastResult Spell::CheckRuneCost ( uint32  runeCostID) const

Definition at line 4916 of file Spell.cpp.

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

◆ CheckScriptEffectImplicitTargets()

bool Spell::CheckScriptEffectImplicitTargets ( uint32  effIndex,
uint32  effIndexToCheck 
)
protected

Definition at line 8169 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CheckSpellCancelsAuraEffect()

bool Spell::CheckSpellCancelsAuraEffect ( AuraType  auraType,
uint32 param1 
) const

Definition at line 6363 of file Spell.cpp.

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

◆ CheckSpellCancelsCharm()

bool Spell::CheckSpellCancelsCharm ( uint32 param1) const

Definition at line 6393 of file Spell.cpp.

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

◆ CheckSpellCancelsConfuse()

bool Spell::CheckSpellCancelsConfuse ( uint32 param1) const

Definition at line 6423 of file Spell.cpp.

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

◆ CheckSpellCancelsFear()

bool Spell::CheckSpellCancelsFear ( uint32 param1) const

Definition at line 6418 of file Spell.cpp.

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

◆ CheckSpellCancelsPacify()

bool Spell::CheckSpellCancelsPacify ( uint32 param1) const

Definition at line 6412 of file Spell.cpp.

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

◆ CheckSpellCancelsSilence()

bool Spell::CheckSpellCancelsSilence ( uint32 param1) const

Definition at line 6406 of file Spell.cpp.

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

◆ CheckSpellCancelsStun()

bool Spell::CheckSpellCancelsStun ( uint32 param1) const

Definition at line 6400 of file Spell.cpp.

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

◆ CheckSrc()

void Spell::CheckSrc ( )

Definition at line 6526 of file Spell.cpp.

+ Here is the call graph for this function:

◆ CleanupTargetList()

void Spell::CleanupTargetList ( )

Definition at line 2085 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ Delayed()

void Spell::Delayed ( )

Definition at line 7258 of file Spell.cpp.

+ Here is the call graph for this function:

◆ DelayedChannel()

void Spell::DelayedChannel ( )

Definition at line 7297 of file Spell.cpp.

+ Here is the call graph for this function:

◆ DoCreateItem()

void Spell::DoCreateItem ( uint32  itemId)

Definition at line 1371 of file SpellEffects.cpp.

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

◆ DoEffectOnLaunchTarget()

void Spell::DoEffectOnLaunchTarget ( TargetInfo targetInfo,
float  multiplier,
SpellEffectInfo const &  spellEffectInfo 
)
protected

Definition at line 7782 of file Spell.cpp.

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

◆ DoProcessTargetContainer()

template<class Container >
void Spell::DoProcessTargetContainer ( Container targetContainer)
protected

Definition at line 3603 of file Spell.cpp.

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

◆ DoSpellEffectHit()

void Spell::DoSpellEffectHit ( Unit unit,
SpellEffectInfo const &  spellEffectInfo,
TargetInfo targetInfo 
)
protected

Definition at line 2889 of file Spell.cpp.

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

◆ DoTriggersOnSpellHit()

void Spell::DoTriggersOnSpellHit ( Unit unit,
uint8  effMask 
)
protected
Todo:
remove/cleanup this, as this table is not documented and people are doing stupid things with it

Definition at line 2962 of file Spell.cpp.

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

◆ EffectActivateObject()

void Spell::EffectActivateObject ( )

Definition at line 3754 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectActivateRune()

void Spell::EffectActivateRune ( )

Definition at line 5069 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectActivateSpec()

void Spell::EffectActivateSpec ( )

Definition at line 5323 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddComboPoints()

void Spell::EffectAddComboPoints ( )

Definition at line 3597 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddExtraAttacks()

void Spell::EffectAddExtraAttacks ( )

Definition at line 4058 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddFarsight()

void Spell::EffectAddFarsight ( )

Definition at line 2416 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddHonor()

void Spell::EffectAddHonor ( )

Definition at line 2492 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectApplyAura()

void Spell::EffectApplyAura ( )

Definition at line 1057 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectApplyGlyph()

void Spell::EffectApplyGlyph ( )

Definition at line 3767 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectBind()

void Spell::EffectBind ( )

Definition at line 5452 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectBlock()

void Spell::EffectBlock ( )

Definition at line 4080 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCastButtons()

void Spell::EffectCastButtons ( )

Action button data is unverified when it's set so it can be "hacked" to contain invalid spells, so filter here.

Definition at line 5378 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCharge()

void Spell::EffectCharge ( )

Definition at line 4248 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectChargeDest()

void Spell::EffectChargeDest ( )

Definition at line 4283 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateItem()

void Spell::EffectCreateItem ( )

Definition at line 1496 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateItem2()

void Spell::EffectCreateItem2 ( )
Todo:
ExecuteLogEffectCreateItem(effectInfo->EffectIndex, effectInfo->ItemType);

Definition at line 1505 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateRandomItem()

void Spell::EffectCreateRandomItem ( )
Todo:
ExecuteLogEffectCreateItem(effectInfo->EffectIndex, effectInfo->ItemType);

Definition at line 1532 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateTamedPet()

void Spell::EffectCreateTamedPet ( )

Definition at line 5113 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDestroyAllTotems()

void Spell::EffectDestroyAllTotems ( )

Definition at line 4571 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDiscoverTaxi()

void Spell::EffectDiscoverTaxi ( )

Definition at line 5146 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDisEnchant()

void Spell::EffectDisEnchant ( )

Definition at line 3875 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDismissPet()

void Spell::EffectDismissPet ( )

Definition at line 3958 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDispel()

void Spell::EffectDispel ( )

Definition at line 2265 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDispelMechanic()

void Spell::EffectDispelMechanic ( )

Definition at line 4484 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDistract()

void Spell::EffectDistract ( )

Definition at line 2383 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDualWield()

void Spell::EffectDualWield ( )

Definition at line 2369 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDuel()

void Spell::EffectDuel ( )

Definition at line 3611 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDummy()

void Spell::EffectDummy ( )

Definition at line 685 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDurabilityDamage()

void Spell::EffectDurabilityDamage ( )

Definition at line 4608 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDurabilityDamagePCT()

void Spell::EffectDurabilityDamagePCT ( )

Definition at line 4637 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantHeldItem()

void Spell::EffectEnchantHeldItem ( )

Definition at line 3827 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemPerm()

void Spell::EffectEnchantItemPerm ( )

Definition at line 2535 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemPrismatic()

void Spell::EffectEnchantItemPrismatic ( )

Definition at line 2599 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemTmp()

void Spell::EffectEnchantItemTmp ( )

Definition at line 2663 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnergize()

void Spell::EffectEnergize ( )
Todo:
: move this to scripts

Definition at line 1600 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnergizePct()

void Spell::EffectEnergizePct ( )

Definition at line 1672 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnvironmentalDMG()

void Spell::EffectEnvironmentalDMG ( )

Definition at line 295 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectFeedPet()

void Spell::EffectFeedPet ( )
Todo:
fix crash when a spell has two effects, both pointed at the same item target

Definition at line 3923 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectForceCast()

void Spell::EffectForceCast ( )

Definition at line 871 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectForceDeselect()

void Spell::EffectForceDeselect ( )

Definition at line 4151 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectDamage()

void Spell::EffectGameObjectDamage ( )

Definition at line 5180 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectRepair()

void Spell::EffectGameObjectRepair ( )

Definition at line 5195 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectSetDestructionState()

void Spell::EffectGameObjectSetDestructionState ( )

Definition at line 5206 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHeal()

void Spell::EffectHeal ( )
Todo:
: move this to scripts

Definition at line 1212 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealMaxHealth()

void Spell::EffectHealMaxHealth ( )

Definition at line 3312 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealMechanical()

void Spell::EffectHealMechanical ( )

Definition at line 1314 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealPct()

void Spell::EffectHealPct ( )

Definition at line 1296 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealthLeech()

void Spell::EffectHealthLeech ( )

Definition at line 1332 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectInebriate()

void Spell::EffectInebriate ( )

Definition at line 3892 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectInstaKill()

void Spell::EffectInstaKill ( )

Definition at line 271 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectInterruptCast()

void Spell::EffectInterruptCast ( )
Todo:
not all spells that used this effect apply cooldown at school spells

Definition at line 3335 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectJump()

void Spell::EffectJump ( )

Definition at line 983 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectJumpDest()

void Spell::EffectJumpDest ( )

Definition at line 1003 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKillCredit()

void Spell::EffectKillCredit ( )

Definition at line 5015 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKillCreditPersonal()

void Spell::EffectKillCreditPersonal ( )

Definition at line 5004 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKnockBack()

void Spell::EffectKnockBack ( )

Definition at line 4307 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLeap()

void Spell::EffectLeap ( )

Definition at line 4089 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLeapBack()

void Spell::EffectLeapBack ( )

Definition at line 4344 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnPetSpell()

void Spell::EffectLearnPetSpell ( )

Definition at line 2936 of file SpellEffects.cpp.

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

◆ EffectLearnSkill()

void Spell::EffectLearnSkill ( )

Definition at line 2468 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnSpell()

void Spell::EffectLearnSpell ( )

Definition at line 2230 of file SpellEffects.cpp.

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

◆ EffectMilling()

void Spell::EffectMilling ( )

Definition at line 4821 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyThreatPercent()

void Spell::EffectModifyThreatPercent ( )

Definition at line 4666 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectNULL()

void Spell::EffectNULL ( )

Definition at line 233 of file SpellEffects.cpp.

+ Here is the caller graph for this function:

◆ EffectOpenLock()

void Spell::EffectOpenLock ( )
Todo:
Add script for spell 41920 - Filling, becouse server it freze when use this spell

Definition at line 1767 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectParry()

void Spell::EffectParry ( )

Definition at line 4071 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPersistentAA()

void Spell::EffectPersistentAA ( )

Definition at line 1546 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPickPocket()

void Spell::EffectPickPocket ( )

Definition at line 2399 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlayMusic()

void Spell::EffectPlayMusic ( )

Definition at line 5293 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlaySound()

void Spell::EffectPlaySound ( )

Definition at line 5334 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPowerBurn()

void Spell::EffectPowerBurn ( )
Todo:
: move this to scripts

Definition at line 1171 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPowerDrain()

void Spell::EffectPowerDrain ( )

Definition at line 1089 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectProficiency()

void Spell::EffectProficiency ( )

Definition at line 1993 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectProspecting()

void Spell::EffectProspecting ( )

Definition at line 4796 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPull()

void Spell::EffectPull ( )
Todo:
create a proper pull towards distract spell center for distract

Definition at line 2377 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPullTowards()

void Spell::EffectPullTowards ( )

Definition at line 4418 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPullTowardsDest()

void Spell::EffectPullTowardsDest ( )

Definition at line 4448 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestClear()

void Spell::EffectQuestClear ( )

Definition at line 4362 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestComplete()

void Spell::EffectQuestComplete ( )

Definition at line 4127 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestFail()

void Spell::EffectQuestFail ( )

Definition at line 5034 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestStart()

void Spell::EffectQuestStart ( )

Definition at line 5045 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRechargeManaGem()

void Spell::EffectRechargeManaGem ( )

Definition at line 5422 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRedirectThreat()

void Spell::EffectRedirectThreat ( )

Definition at line 5167 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRemoveAura()

void Spell::EffectRemoveAura ( )

Definition at line 5367 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRenamePet()

void Spell::EffectRenamePet ( )

Definition at line 5281 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectReputation()

void Spell::EffectReputation ( )

Definition at line 4104 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrect()

void Spell::EffectResurrect ( )

Definition at line 4028 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrectNew()

void Spell::EffectResurrectNew ( )

Definition at line 243 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrectPet()

void Spell::EffectResurrectPet ( )

Definition at line 4509 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSanctuary()

void Spell::EffectSanctuary ( )

Definition at line 3573 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSchoolDMG()

void Spell::EffectSchoolDMG ( )
Todo:
should this be put on taken but not done?

Definition at line 319 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectScriptEffect()

void Spell::EffectScriptEffect ( )
Todo:
we must implement hunter pet summon at login there (spell 6962)
Todo:
Todo:
: move this to scripts
Todo:
a hack, range = 11, should after some time cast, otherwise too far

Definition at line 3428 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSelfResurrect()

void Spell::EffectSelfResurrect ( )

Definition at line 4184 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSendEvent()

void Spell::EffectSendEvent ( )
Todo:
there should be a possibility to pass dest target to event script

Definition at line 1128 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSendTaxi()

void Spell::EffectSendTaxi ( )

Definition at line 4407 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSkill()

void Spell::EffectSkill ( )

Definition at line 4846 of file SpellEffects.cpp.

◆ EffectSkinning()

void Spell::EffectSkinning ( )

Definition at line 4220 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSkinPlayerCorpse()

void Spell::EffectSkinPlayerCorpse ( )

Definition at line 4877 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSpecCount()

void Spell::EffectSpecCount ( )

Definition at line 5312 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSpiritHeal()

void Spell::EffectSpiritHeal ( )

Definition at line 4858 of file SpellEffects.cpp.

◆ EffectStealBeneficialBuff()

void Spell::EffectStealBeneficialBuff ( )

Definition at line 4898 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectStuck()

void Spell::EffectStuck ( )

Definition at line 3692 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonChangeItem()

void Spell::EffectSummonChangeItem ( )

Definition at line 1882 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonObject()

void Spell::EffectSummonObject ( )

Definition at line 3972 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonObjectWild()

void Spell::EffectSummonObjectWild ( )

Definition at line 3376 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonPet()

void Spell::EffectSummonPet ( )

Definition at line 2848 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonPlayer()

void Spell::EffectSummonPlayer ( )

Definition at line 3738 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonRaFFriend()

void Spell::EffectSummonRaFFriend ( )

Definition at line 5484 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonType()

void Spell::EffectSummonType ( )

Definition at line 2015 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTameCreature()

void Spell::EffectTameCreature ( )

Definition at line 2791 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTaunt()

void Spell::EffectTaunt ( )

Definition at line 2962 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleportUnits()

void Spell::EffectTeleportUnits ( )

Definition at line 1023 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleUnitsFaceCaster()

void Spell::EffectTeleUnitsFaceCaster ( )

Definition at line 2453 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectThreat()

void Spell::EffectThreat ( )

Definition at line 3294 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTitanGrip()

void Spell::EffectTitanGrip ( )

Definition at line 5158 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTradeSkill()

void Spell::EffectTradeSkill ( )

Definition at line 2523 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTransmitted()

void Spell::EffectTransmitted ( )

Definition at line 4678 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTriggerMissileSpell()

void Spell::EffectTriggerMissileSpell ( )

Definition at line 819 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTriggerRitualOfSummoning()

void Spell::EffectTriggerRitualOfSummoning ( )

Definition at line 929 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTriggerSpell()

void Spell::EffectTriggerSpell ( )
Todo:
move those to spell scripts

Definition at line 704 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUnlearnSpecialization()

void Spell::EffectUnlearnSpecialization ( )

Definition at line 1073 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUntrainTalents()

void Spell::EffectUntrainTalents ( )

Definition at line 2442 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUnused()

void Spell::EffectUnused ( )

Definition at line 238 of file SpellEffects.cpp.

◆ EffectWeaponDmg()

void Spell::EffectWeaponDmg ( )

Definition at line 3002 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ ExecuteLogEffectCreateItem()

void Spell::ExecuteLogEffectCreateItem ( uint8  effIndex,
uint32  entry 
)

Definition at line 4629 of file Spell.cpp.

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

◆ ExecuteLogEffectDestroyItem()

void Spell::ExecuteLogEffectDestroyItem ( uint8  effIndex,
uint32  entry 
)

Definition at line 4635 of file Spell.cpp.

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

◆ ExecuteLogEffectDurabilityDamage()

void Spell::ExecuteLogEffectDurabilityDamage ( uint8  effIndex,
Unit victim,
int32  itemId,
int32  slot 
)

Definition at line 4615 of file Spell.cpp.

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

◆ ExecuteLogEffectExtraAttacks()

void Spell::ExecuteLogEffectExtraAttacks ( uint8  effIndex,
Unit victim,
uint32  attCount 
)

Definition at line 4601 of file Spell.cpp.

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

◆ ExecuteLogEffectInterruptCast()

void Spell::ExecuteLogEffectInterruptCast ( uint8  effIndex,
Unit victim,
uint32  spellId 
)

Definition at line 4608 of file Spell.cpp.

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

◆ ExecuteLogEffectOpenLock()

void Spell::ExecuteLogEffectOpenLock ( uint8  effIndex,
Object obj 
)

Definition at line 4623 of file Spell.cpp.

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

◆ ExecuteLogEffectResurrect()

void Spell::ExecuteLogEffectResurrect ( uint8  effIndex,
Unit target 
)

Definition at line 4653 of file Spell.cpp.

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

◆ ExecuteLogEffectSummonObject()

void Spell::ExecuteLogEffectSummonObject ( uint8  effIndex,
WorldObject obj 
)

Definition at line 4641 of file Spell.cpp.

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

◆ ExecuteLogEffectTakeTargetPower()

void Spell::ExecuteLogEffectTakeTargetPower ( uint8  effIndex,
Unit target,
uint32  powerType,
uint32  powerTaken,
float  gainMultiplier 
)

Definition at line 4592 of file Spell.cpp.

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

◆ ExecuteLogEffectUnsummonObject()

void Spell::ExecuteLogEffectUnsummonObject ( uint8  effIndex,
WorldObject obj 
)

Definition at line 4647 of file Spell.cpp.

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

◆ finish()

void Spell::finish ( bool  ok = true)

Definition at line 3912 of file Spell.cpp.

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

◆ FinishTargetProcessing()

void Spell::FinishTargetProcessing ( )
protected

Definition at line 7928 of file Spell.cpp.

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

◆ GetCaster()

WorldObject * Spell::GetCaster ( ) const
inline

Definition at line 450 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetCastTime()

int32 Spell::GetCastTime ( ) const
inline

Definition at line 420 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetCurrentContainer()

CurrentSpellTypes Spell::GetCurrentContainer ( ) const

Definition at line 7402 of file Spell.cpp.

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

◆ GetDebugInfo()

std::string Spell::GetDebugInfo ( ) const

Definition at line 8320 of file Spell.cpp.

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

◆ GetDelayMoment()

uint64 Spell::GetDelayMoment ( ) const
inline

Definition at line 440 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetDelayStart()

uint64 Spell::GetDelayStart ( ) const
inline

Definition at line 438 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetGameObjectTargetCountForEffect()

int64 Spell::GetGameObjectTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2373 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetItemTargetCountForEffect()

int64 Spell::GetItemTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2381 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetMinMaxRange()

std::pair< float, float > Spell::GetMinMaxRange ( bool  strict) const
protected

Definition at line 6586 of file Spell.cpp.

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

◆ GetOriginalCaster()

Unit * Spell::GetOriginalCaster ( ) const
inline

Definition at line 451 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetPowerCost()

int32 Spell::GetPowerCost ( ) const
inline

Definition at line 453 of file Spell.h.

◆ GetRuneState()

uint8 Spell::GetRuneState ( ) const
inline

Definition at line 443 of file Spell.h.

◆ GetSearcherTypeMask()

uint32 Spell::GetSearcherTypeMask ( SpellTargetObjectTypes  objType,
ConditionContainer condList 
)

Definition at line 1828 of file Spell.cpp.

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

◆ GetSpellInfo()

SpellInfo const * Spell::GetSpellInfo ( ) const
inline

Definition at line 452 of file Spell.h.

+ Here is the caller graph for this function:

◆ getState()

uint32 Spell::getState ( ) const
inline

Definition at line 356 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetUnitCasterForEffectHandlers()

Unit * Spell::GetUnitCasterForEffectHandlers ( ) const
protected

Definition at line 7568 of file Spell.cpp.

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

◆ GetUnitTargetCountForEffect()

int64 Spell::GetUnitTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2365 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetWeakPtr()

Trinity::unique_weak_ptr< Spell > Spell::GetWeakPtr ( ) const

Definition at line 8329 of file Spell.cpp.

+ Here is the call graph for this function:

◆ handle_delayed()

uint64 Spell::handle_delayed ( uint64  t_offset)

Definition at line 3678 of file Spell.cpp.

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

◆ handle_immediate()

void Spell::handle_immediate ( )

Definition at line 3617 of file Spell.cpp.

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

◆ HandleEffects()

void Spell::HandleEffects ( Unit pUnitTarget,
Item pItemTarget,
GameObject pGoTarget,
Corpse pCorpseTarget,
SpellEffectInfo const &  spellEffectInfo,
SpellEffectHandleMode  mode 
)

Definition at line 5159 of file Spell.cpp.

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

◆ HandleLaunchPhase()

void Spell::HandleLaunchPhase ( )
protected

Definition at line 7699 of file Spell.cpp.

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

◆ HandleThreatSpells()

void Spell::HandleThreatSpells ( )

Definition at line 5103 of file Spell.cpp.

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

◆ HasGlobalCooldown()

bool Spell::HasGlobalCooldown ( ) const
protected

Definition at line 8265 of file Spell.cpp.

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

◆ InitEffectExecuteData()

void Spell::InitEffectExecuteData ( uint8  effIndex)
protected

Definition at line 7933 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ InitExplicitTargets()

void Spell::InitExplicitTargets ( SpellCastTargets const &  targets)

Definition at line 638 of file Spell.cpp.

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

◆ IsAutoActionResetSpell()

bool Spell::IsAutoActionResetSpell ( ) const
Todo:
changed SPELL_INTERRUPT_FLAG_AUTOATTACK -> SPELL_INTERRUPT_FLAG_INTERRUPT to fix compile - is this check correct at all?

Definition at line 7545 of file Spell.cpp.

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

◆ IsAutoRepeat()

bool Spell::IsAutoRepeat ( ) const
inline

Definition at line 421 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsChannelActive()

bool Spell::IsChannelActive ( ) const

Definition at line 7540 of file Spell.cpp.

+ Here is the call graph for this function:

◆ IsDelayableNoMore()

bool Spell::IsDelayableNoMore ( )
inlineprotected

Definition at line 501 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsDeletable()

bool Spell::IsDeletable ( ) const
inline

Definition at line 434 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsFocusDisabled()

bool Spell::IsFocusDisabled ( ) const

Definition at line 7530 of file Spell.cpp.

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

◆ IsIgnoringCooldowns()

bool Spell::IsIgnoringCooldowns ( ) const

Definition at line 7525 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsInterruptable()

bool Spell::IsInterruptable ( ) const
inline

Definition at line 436 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsNeedSendToClient()

bool Spell::IsNeedSendToClient ( ) const

Definition at line 7562 of file Spell.cpp.

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

◆ IsPositive()

bool Spell::IsPositive ( ) const

Definition at line 7557 of file Spell.cpp.

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

◆ IsProcDisabled()

bool Spell::IsProcDisabled ( ) const

Definition at line 7535 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsTriggered()

bool Spell::IsTriggered ( ) const

Definition at line 7520 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsTriggeredByAura()

bool Spell::IsTriggeredByAura ( SpellInfo const *  auraSpellInfo) const
inline

Definition at line 432 of file Spell.h.

◆ IsValidDeadOrAliveTarget()

bool Spell::IsValidDeadOrAliveTarget ( Unit const *  target) const
protected

Definition at line 7690 of file Spell.cpp.

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

◆ LoadScripts()

void Spell::LoadScripts ( )
protected

Definition at line 7956 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ operator=()

Spell & Spell::operator= ( Spell const &  right)
protecteddelete

◆ prepare()

SpellCastResult Spell::prepare ( SpellCastTargets const &  targets,
AuraEffect const *  triggeredByAura = nullptr 
)

@todoApply this to all cast spells if needed

m_spellInfo->StartRecoveryTime &&

Definition at line 3070 of file Spell.cpp.

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

◆ prepareDataForTriggerSystem()

void Spell::prepareDataForTriggerSystem ( )
protected

Definition at line 2020 of file Spell.cpp.

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

◆ PrepareTargetProcessing()

void Spell::PrepareTargetProcessing ( )
protected

Definition at line 7923 of file Spell.cpp.

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

◆ PrepareTriggersExecutedOnHit()

void Spell::PrepareTriggersExecutedOnHit ( )
protected

Definition at line 8218 of file Spell.cpp.

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

◆ PreprocessSpellHit()

SpellMissInfo Spell::PreprocessSpellHit ( Unit unit,
bool  scaleAura,
TargetInfo targetInfo 
)
protected

Definition at line 2760 of file Spell.cpp.

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

◆ PreprocessSpellLaunch()

void Spell::PreprocessSpellLaunch ( TargetInfo targetInfo)
protected

Definition at line 7750 of file Spell.cpp.

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

◆ RecalculateDelayMomentForDst()

void Spell::RecalculateDelayMomentForDst ( )

Definition at line 920 of file Spell.cpp.

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

◆ ReSetTimer()

void Spell::ReSetTimer ( )
inline

Definition at line 423 of file Spell.h.

+ Here is the caller graph for this function:

◆ SearchAreaTargets()

void Spell::SearchAreaTargets ( std::list< WorldObject * > &  targets,
float  range,
Position const *  position,
WorldObject referer,
SpellTargetObjectTypes  objectType,
SpellTargetCheckTypes  selectionType,
ConditionContainer condList 
)

Definition at line 1902 of file Spell.cpp.

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

◆ SearchChainTargets()

void Spell::SearchChainTargets ( std::list< WorldObject * > &  targets,
uint32  chainTargets,
WorldObject target,
SpellTargetObjectTypes  objectType,
SpellTargetCheckTypes  selectType,
ConditionContainer condList,
bool  isChainHeal 
)

Definition at line 1915 of file Spell.cpp.

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

◆ SearchNearbyTarget()

WorldObject * Spell::SearchNearbyTarget ( float  range,
SpellTargetObjectTypes  objectType,
SpellTargetCheckTypes  selectionType,
ConditionContainer condList = nullptr 
)

Definition at line 1888 of file Spell.cpp.

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

◆ SearchSpellFocus()

GameObject * Spell::SearchSpellFocus ( )

Definition at line 2011 of file Spell.cpp.

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

◆ SearchTargets()

template<class SEARCHER >
void Spell::SearchTargets ( SEARCHER &  searcher,
uint32  containerMask,
WorldObject referer,
Position const *  pos,
float  radius 
)

Definition at line 1864 of file Spell.cpp.

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

◆ SelectEffectImplicitTargets()

void Spell::SelectEffectImplicitTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effectMask 
)

Definition at line 926 of file Spell.cpp.

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

◆ SelectEffectTypeImplicitTargets()

void Spell::SelectEffectTypeImplicitTargets ( SpellEffectInfo const &  spellEffectInfo)

Definition at line 1728 of file Spell.cpp.

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

◆ SelectExplicitTargets()

void Spell::SelectExplicitTargets ( )

Definition at line 708 of file Spell.cpp.

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

◆ SelectImplicitAreaTargets()

void Spell::SelectImplicitAreaTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1255 of file Spell.cpp.

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

◆ SelectImplicitCasterDestTargets()

void Spell::SelectImplicitCasterDestTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType 
)
Todo:
fix this check

Definition at line 1340 of file Spell.cpp.

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

◆ SelectImplicitCasterObjectTargets()

void Spell::SelectImplicitCasterObjectTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1528 of file Spell.cpp.

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

◆ SelectImplicitChainTargets()

void Spell::SelectImplicitChainTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
WorldObject target,
uint32  effMask 
)

Definition at line 1606 of file Spell.cpp.

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

◆ SelectImplicitChannelTargets()

void Spell::SelectImplicitChannelTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1007 of file Spell.cpp.

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

◆ SelectImplicitConeTargets()

void Spell::SelectImplicitConeTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1203 of file Spell.cpp.

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

◆ SelectImplicitDestDestTargets()

void Spell::SelectImplicitDestDestTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType 
)

Definition at line 1492 of file Spell.cpp.

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

◆ SelectImplicitNearbyTargets()

void Spell::SelectImplicitNearbyTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1063 of file Spell.cpp.

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

◆ SelectImplicitTargetDestTargets()

void Spell::SelectImplicitTargetDestTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType 
)

Definition at line 1461 of file Spell.cpp.

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

◆ SelectImplicitTargetObjectTargets()

void Spell::SelectImplicitTargetObjectTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
uint32  effMask 
)

Definition at line 1582 of file Spell.cpp.

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

◆ SelectImplicitTrajTargets()

void Spell::SelectImplicitTrajTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType 
)

Definition at line 1645 of file Spell.cpp.

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

◆ SelectSpellTargets()

void Spell::SelectSpellTargets ( )

Definition at line 737 of file Spell.cpp.

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

◆ SendCastResult() [1/2]

void Spell::SendCastResult ( Player caster,
SpellInfo const *  spellInfo,
uint8  castCount,
SpellCastResult  result,
SpellCustomErrors  customError = SPELL_CUSTOM_ERROR_NONE,
uint32 param1 = nullptr,
uint32 param2 = nullptr 
)
static

Definition at line 4177 of file Spell.cpp.

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

◆ SendCastResult() [2/2]

void Spell::SendCastResult ( SpellCastResult  result,
uint32 param1 = nullptr,
uint32 param2 = nullptr 
) const

Definition at line 4188 of file Spell.cpp.

+ Here is the call graph for this function:

◆ SendChannelStart()

void Spell::SendChannelStart ( uint32  duration)

Definition at line 4696 of file Spell.cpp.

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

◆ SendChannelUpdate()

void Spell::SendChannelUpdate ( uint32  time)

Definition at line 4676 of file Spell.cpp.

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

◆ SendInterrupted()

void Spell::SendInterrupted ( SpellCastResult  result,
Optional< SpellCastResult resultOther = {} 
)

Definition at line 4659 of file Spell.cpp.

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

◆ SendLogExecute()

void Spell::SendLogExecute ( )

Definition at line 4558 of file Spell.cpp.

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

◆ SendLoot()

void Spell::SendLoot ( ObjectGuid  guid,
LootType  loottype 
)
protected
Todo:
possible must be moved to loot release (in different from linked triggering)

Definition at line 1700 of file SpellEffects.cpp.

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

◆ SendMountResult()

void Spell::SendMountResult ( MountResult  result)

Definition at line 4227 of file Spell.cpp.

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

◆ SendPetCastResult()

void Spell::SendPetCastResult ( SpellCastResult  result)

Definition at line 4205 of file Spell.cpp.

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

◆ SendResurrectRequest()

void Spell::SendResurrectRequest ( Player target)

Definition at line 4728 of file Spell.cpp.

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

◆ SendSpellCooldown()

void Spell::SendSpellCooldown ( )

Definition at line 3824 of file Spell.cpp.

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

◆ SendSpellGo()

void Spell::SendSpellGo ( )
Todo:
There is a crash caused by a spell with CAST_FLAG_RUNE_LIST cast by a creature

Definition at line 4311 of file Spell.cpp.

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

◆ SendSpellStart()

void Spell::SendSpellStart ( )

Definition at line 4244 of file Spell.cpp.

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

◆ SetAutoRepeat()

void Spell::SetAutoRepeat ( bool  rep)
inline

Definition at line 422 of file Spell.h.

◆ SetDelayStart()

void Spell::SetDelayStart ( uint64  m_time)
inline

Definition at line 439 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetExecutedCurrently()

void Spell::SetExecutedCurrently ( bool  yes)
inline

Definition at line 437 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetReferencedFromCurrent()

void Spell::SetReferencedFromCurrent ( bool  yes)
inline

Definition at line 435 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetRuneState()

void Spell::SetRuneState ( uint8  value)
inline

Definition at line 444 of file Spell.h.

◆ SetSpellValue()

void Spell::SetSpellValue ( SpellValueMod  mod,
int32  value 
)

Definition at line 7895 of file Spell.cpp.

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

◆ setState()

void Spell::setState ( uint32  state)
inline

Definition at line 357 of file Spell.h.

◆ SummonGuardian()

void Spell::SummonGuardian ( SpellEffectInfo const &  spellEffectInfo,
uint32  entry,
SummonPropertiesEntry const *  properties,
uint32  numSummons 
)
protected

Definition at line 5217 of file SpellEffects.cpp.

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

◆ TakeAmmo()

void Spell::TakeAmmo ( )

Definition at line 4882 of file Spell.cpp.

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

◆ TakeCastItem()

void Spell::TakeCastItem ( )

Definition at line 4746 of file Spell.cpp.

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

◆ TakePower()

void Spell::TakePower ( )

Definition at line 4815 of file Spell.cpp.

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

◆ TakeReagents()

void Spell::TakeReagents ( )

Definition at line 5053 of file Spell.cpp.

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

◆ TakeRunePower()

void Spell::TakeRunePower ( bool  didHit)

Definition at line 4963 of file Spell.cpp.

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

◆ TriggerGlobalCooldown()

void Spell::TriggerGlobalCooldown ( )
protected

Definition at line 8273 of file Spell.cpp.

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

◆ update()

void Spell::update ( uint32  difftime)

Definition at line 3832 of file Spell.cpp.

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

◆ UpdateChanneledTargetList()

bool Spell::UpdateChanneledTargetList ( )
protected

Definition at line 3011 of file Spell.cpp.

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

◆ UpdatePointers()

bool Spell::UpdatePointers ( )

Definition at line 7347 of file Spell.cpp.

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

◆ UpdateSpellCastDataAmmo()

void Spell::UpdateSpellCastDataAmmo ( WorldPackets::Spells::SpellAmmo data)

Definition at line 4429 of file Spell.cpp.

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

◆ UpdateSpellCastDataTargets()

void Spell::UpdateSpellCastDataTargets ( WorldPackets::Spells::SpellCastData data)

Writes miss and hit targets for a SMSG_SPELL_GO packet.

Definition at line 4514 of file Spell.cpp.

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

◆ WriteCastResultInfo()

void Spell::WriteCastResultInfo ( WorldPacket data,
Player caster,
SpellInfo const *  spellInfo,
uint8  castCount,
SpellCastResult  result,
SpellCustomErrors  customError,
uint32 param1 = nullptr,
uint32 param2 = nullptr 
)
static

Definition at line 3997 of file Spell.cpp.

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

Friends And Related Symbol Documentation

◆ SpellScript

friend class SpellScript
friend

Definition at line 153 of file Spell.h.

Member Data Documentation

◆ _dynObjAura

DynObjAura* Spell::_dynObjAura
protected

Definition at line 535 of file Spell.h.

◆ _spellAura

UnitAura* Spell::_spellAura
protected

Definition at line 534 of file Spell.h.

◆ _spellEvent

SpellEvent* Spell::_spellEvent
protected

Definition at line 700 of file Spell.h.

◆ _triggeredCastFlags

TriggerCastFlags Spell::_triggeredCastFlags
protected

Definition at line 701 of file Spell.h.

◆ damage

int32 Spell::damage
protected

Definition at line 528 of file Spell.h.

◆ destTarget

WorldLocation* Spell::destTarget
protected

Definition at line 527 of file Spell.h.

◆ effectHandleMode

SpellEffectHandleMode Spell::effectHandleMode
protected

Definition at line 530 of file Spell.h.

◆ effectInfo

SpellEffectInfo const* Spell::effectInfo
protected

Definition at line 531 of file Spell.h.

◆ focusObject

GameObject* Spell::focusObject
protected

Definition at line 539 of file Spell.h.

◆ gameObjTarget

GameObject* Spell::gameObjTarget
protected

Definition at line 525 of file Spell.h.

◆ itemTarget

Item* Spell::itemTarget
protected

Definition at line 524 of file Spell.h.

◆ m_appliedMods

UsedSpellMods Spell::m_appliedMods

Definition at line 418 of file Spell.h.

◆ m_applyMultiplierMask

uint8 Spell::m_applyMultiplierMask
protected

Definition at line 519 of file Spell.h.

◆ m_attackType

WeaponAttackType Spell::m_attackType
protected

Definition at line 492 of file Spell.h.

◆ m_auraScaleMask

uint8 Spell::m_auraScaleMask
protected

Definition at line 708 of file Spell.h.

◆ m_autoRepeat

bool Spell::m_autoRepeat
protected

Definition at line 497 of file Spell.h.

◆ m_canReflect

bool Spell::m_canReflect
protected

Definition at line 496 of file Spell.h.

◆ m_cast_count

uint8 Spell::m_cast_count

Definition at line 399 of file Spell.h.

◆ m_caster

WorldObject* const Spell::m_caster
protected

Definition at line 482 of file Spell.h.

◆ m_CastItem

Item* Spell::m_CastItem

Definition at line 396 of file Spell.h.

◆ m_castItemEntry

uint32 Spell::m_castItemEntry

Definition at line 398 of file Spell.h.

◆ m_castItemGUID

ObjectGuid Spell::m_castItemGUID

Definition at line 397 of file Spell.h.

◆ m_casttime

int32 Spell::m_casttime
protected

Definition at line 494 of file Spell.h.

◆ m_channeledDuration

int32 Spell::m_channeledDuration
protected

Definition at line 495 of file Spell.h.

◆ m_channelTargetEffectMask

uint8 Spell::m_channelTargetEffectMask
protected

Definition at line 601 of file Spell.h.

◆ m_comboPointGain

int8 Spell::m_comboPointGain

Definition at line 415 of file Spell.h.

◆ m_comboTarget

Unit* Spell::m_comboTarget

Definition at line 414 of file Spell.h.

◆ m_corpseTarget

Corpse* Spell::m_corpseTarget
protected

Definition at line 526 of file Spell.h.

◆ m_customError

SpellCustomErrors Spell::m_customError

Definition at line 416 of file Spell.h.

◆ m_damage

int32 Spell::m_damage
protected

Definition at line 542 of file Spell.h.

◆ m_damageMultipliers

float Spell::m_damageMultipliers[MAX_SPELL_EFFECTS]
protected

Definition at line 520 of file Spell.h.

◆ m_delayAtDamageCount

uint8 Spell::m_delayAtDamageCount
protected

Definition at line 500 of file Spell.h.

◆ m_delayMoment

uint64 Spell::m_delayMoment
protected

Definition at line 512 of file Spell.h.

◆ m_delayStart

uint64 Spell::m_delayStart
protected

Definition at line 511 of file Spell.h.

◆ m_destTargets

SpellDestination Spell::m_destTargets[MAX_SPELL_EFFECTS]
protected

Definition at line 632 of file Spell.h.

◆ m_effectExecuteData

ByteBuffer* Spell::m_effectExecuteData[MAX_SPELL_EFFECTS]
protected

Definition at line 711 of file Spell.h.

◆ m_executedCurrently

bool Spell::m_executedCurrently
protected

Definition at line 517 of file Spell.h.

◆ m_focusObjectGUID

ObjectGuid Spell::m_focusObjectGUID
protected

Definition at line 538 of file Spell.h.

◆ m_fromClient

bool Spell::m_fromClient

Definition at line 400 of file Spell.h.

◆ m_glyphIndex

uint32 Spell::m_glyphIndex

Definition at line 401 of file Spell.h.

◆ m_healing

int32 Spell::m_healing
protected

Definition at line 543 of file Spell.h.

◆ m_hitMask

uint32 Spell::m_hitMask
protected

Definition at line 550 of file Spell.h.

◆ m_hitTriggerSpells

HitTriggerSpellList Spell::m_hitTriggerSpells
protected

Definition at line 688 of file Spell.h.

◆ m_immediateHandled

bool Spell::m_immediateHandled
protected

Definition at line 513 of file Spell.h.

◆ m_loadedScripts

std::vector<SpellScript*> Spell::m_loadedScripts
protected

Definition at line 672 of file Spell.h.

◆ m_needComboPoints

bool Spell::m_needComboPoints
protected

Definition at line 518 of file Spell.h.

◆ m_originalCaster

Unit* Spell::m_originalCaster
protected

Definition at line 488 of file Spell.h.

◆ m_originalCasterGUID

ObjectGuid Spell::m_originalCasterGUID
protected

Definition at line 486 of file Spell.h.

◆ m_powerCost

int32 Spell::m_powerCost
protected

Definition at line 493 of file Spell.h.

◆ m_preGeneratedPath

std::unique_ptr<PathGenerator> Spell::m_preGeneratedPath
protected

Definition at line 709 of file Spell.h.

◆ m_procAttacker

uint32 Spell::m_procAttacker
protected

Definition at line 548 of file Spell.h.

◆ m_procVictim

uint32 Spell::m_procVictim
protected

Definition at line 549 of file Spell.h.

◆ m_referencedFromCurrentSpell

bool Spell::m_referencedFromCurrentSpell
protected

Definition at line 516 of file Spell.h.

◆ m_runesState

uint8 Spell::m_runesState
protected

Definition at line 498 of file Spell.h.

◆ m_selfContainer

Spell** Spell::m_selfContainer

Definition at line 461 of file Spell.h.

◆ m_spellInfo

SpellInfo const* const Spell::m_spellInfo

Definition at line 395 of file Spell.h.

◆ m_spellSchoolMask

SpellSchoolMask Spell::m_spellSchoolMask
protected

Definition at line 491 of file Spell.h.

◆ m_spellState

uint32 Spell::m_spellState
protected

Definition at line 697 of file Spell.h.

◆ m_spellValue

SpellValue* const Spell::m_spellValue
protected

Definition at line 484 of file Spell.h.

◆ m_targets

SpellCastTargets Spell::m_targets

Definition at line 402 of file Spell.h.

◆ m_timer

int32 Spell::m_timer
protected

Definition at line 698 of file Spell.h.

◆ m_triggeredByAuraSpell

SpellInfo const* Spell::m_triggeredByAuraSpell
protected

Definition at line 706 of file Spell.h.

◆ m_UniqueCorpseTargetInfo

std::vector<CorpseTargetInfo> Spell::m_UniqueCorpseTargetInfo
protected

Definition at line 627 of file Spell.h.

◆ m_UniqueGOTargetInfo

std::vector<GOTargetInfo> Spell::m_UniqueGOTargetInfo
protected

Definition at line 610 of file Spell.h.

◆ m_UniqueItemInfo

std::vector<ItemTargetInfo> Spell::m_UniqueItemInfo
protected

Definition at line 618 of file Spell.h.

◆ m_UniqueTargetInfo

std::vector<TargetInfo> Spell::m_UniqueTargetInfo
protected

Definition at line 600 of file Spell.h.

◆ targetMissInfo

SpellMissInfo Spell::targetMissInfo
protected

Definition at line 529 of file Spell.h.

◆ unitTarget

Unit* Spell::unitTarget
protected

Definition at line 523 of file Spell.h.


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