TrinityCore
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 EffectSchoolDMG ()
 
void EffectEnvironmentalDMG ()
 
void EffectInstaKill ()
 
void EffectDummy ()
 
void EffectTeleportUnits ()
 
void EffectTeleportUnitsWithVisualLoadingScreen ()
 
void EffectApplyAura ()
 
void EffectSendEvent ()
 
void EffectPowerBurn ()
 
void EffectPowerDrain ()
 
void EffectHeal ()
 
void EffectBind ()
 
void EffectTeleportToReturnPoint ()
 
void EffectIncreaseCurrencyCap ()
 
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 EffectPlayMovie ()
 
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 EffectDuel ()
 
void EffectStuck ()
 
void EffectSummonPlayer ()
 
void EffectActivateObject ()
 
void EffectApplyGlyph ()
 
void EffectEnchantHeldItem ()
 
void EffectSummonObject ()
 
void EffectChangeRaidMarker ()
 
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 EffectUnlockGuildVaultTab ()
 
void EffectKillCreditPersonal ()
 
void EffectKillCredit ()
 
void EffectQuestFail ()
 
void EffectQuestStart ()
 
void EffectRedirectThreat ()
 
void EffectGameObjectDamage ()
 
void EffectGameObjectRepair ()
 
void EffectGameObjectSetDestructionState ()
 
void EffectCreateTamedPet ()
 
void EffectDiscoverTaxi ()
 
void EffectTitanGrip ()
 
void EffectEnchantItemPrismatic ()
 
void EffectPlayMusic ()
 
void EffectActivateSpec ()
 
void EffectPlaySound ()
 
void EffectRemoveAura ()
 
void EffectDamageFromMaxHealthPCT ()
 
void EffectCastButtons ()
 
void EffectRechargeItem ()
 
void EffectGiveCurrency ()
 
void EffectSummonPersonalGameObject ()
 
void EffectResurrectWithAura ()
 
void EffectCreateAreaTrigger ()
 
void EffectRemoveTalent ()
 
void EffectDestroyItem ()
 
void EffectLearnGarrisonBuilding ()
 
void EffectRemoveAuraBySpellLabel ()
 
void EffectCreateGarrison ()
 
void EffectCreateConversation ()
 
void EffectCancelConversation ()
 
void EffectAddGarrisonFollower ()
 
void EffectActivateGarrisonBuilding ()
 
void EffectGrantBattlePetLevel ()
 
void EffectGiveExperience ()
 
void EffectGiveRestedExperience ()
 
void EffectHealBattlePetPct ()
 
void EffectEnableBattlePets ()
 
void EffectChangeBattlePetQuality ()
 
void EffectLaunchQuestChoice ()
 
void EffectUncageBattlePet ()
 
void EffectCreateHeirloomItem ()
 
void EffectUpgradeHeirloom ()
 
void EffectApplyEnchantIllusion ()
 
void EffectUpdatePlayerPhase ()
 
void EffectUpdateZoneAurasAndPhases ()
 
void EffectGiveArtifactPower ()
 
void EffectGiveArtifactPowerNoBonus ()
 
void EffectPlaySceneScriptPackage ()
 
void EffectCreateSceneObject ()
 
void EffectCreatePrivateSceneObject ()
 
void EffectPlayScene ()
 
void EffectGiveHonor ()
 
void EffectJumpCharge ()
 
void EffectLearnTransmogSet ()
 
void EffectRespecAzeriteEmpoweredItem ()
 
void EffectLearnAzeriteEssencePower ()
 
void EffectCreatePrivateConversation ()
 
void EffectSendChatMessage ()
 
void EffectGrantBattlePetExperience ()
 
void EffectLearnTransmogIllusion ()
 
void EffectModifyAuraStacks ()
 
void EffectModifyCooldown ()
 
void EffectModifyCooldowns ()
 
void EffectModifyCooldownsByCategory ()
 
void EffectModifySpellCharges ()
 
void EffectCreateTraitTreeConfig ()
 
void EffectChangeActiveCombatTraitConfig ()
 
void EffectTeleportGraveyard ()
 
 Spell (WorldObject *caster, SpellInfo const *info, TriggerCastFlags triggerFlags, ObjectGuid originalCasterGUID=ObjectGuid::Empty, ObjectGuid originalCastId=ObjectGuid::Empty)
 
 ~Spell ()
 
void InitExplicitTargets (SpellCastTargets const &targets)
 
void SelectExplicitTargets ()
 
void SelectSpellTargets ()
 
void SelectEffectImplicitTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex, uint32 &processedEffectMask)
 
void SelectImplicitChannelTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitNearbyTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex, uint32 effMask)
 
void SelectImplicitConeTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex, uint32 effMask)
 
void SelectImplicitAreaTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex, uint32 effMask)
 
void SelectImplicitCasterDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex)
 
void SelectImplicitTargetDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex)
 
void SelectImplicitDestDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex)
 
void SelectImplicitCasterObjectTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitTargetObjectTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitChainTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, WorldObject *target, uint32 effMask)
 
void SelectImplicitTrajTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
 
void SelectImplicitLineTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType, SpellTargetIndex targetIndex, uint32 effMask)
 
void SelectEffectTypeImplicitTargets (SpellEffectInfo const &spellEffectInfo)
 
WorldObjectSearchNearbyTarget (SpellEffectInfo const &spellEffectInfo, float range, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer const *condList=nullptr)
 
void SearchAreaTargets (std::list< WorldObject * > &targets, SpellEffectInfo const &spellEffectInfo, float range, Position const *position, WorldObject *referer, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectionType, ConditionContainer const *condList, Trinity::WorldObjectSpellAreaTargetSearchReason searchReason)
 
void SearchChainTargets (std::list< WorldObject * > &targets, uint32 chainTargets, WorldObject *target, SpellTargetObjectTypes objectType, SpellTargetCheckTypes selectType, SpellEffectInfo const &spellEffectInfo, bool isChainHeal)
 
GameObjectSearchSpellFocus ()
 
SpellCastResult prepare (SpellCastTargets const &targets, AuraEffect const *triggeredByAura=nullptr)
 
void cancel ()
 
void update (uint32 difftime)
 
void cast (bool skipCheck=false)
 
void finish (SpellCastResult result=SPELL_CAST_OK)
 
void TakePower ()
 
void TakeRunePower (bool didHit)
 
void TakeReagents ()
 
void TakeCastItem ()
 
SpellCastResult CheckCast (bool strict, int32 *param1=nullptr, int32 *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 (int32 *param1, int32 *param2) const
 
SpellCastResult CheckRange (bool strict) const
 
SpellCastResult CheckPower () const
 
SpellCastResult CheckRuneCost () const
 
SpellCastResult CheckCasterAuras (int32 *param1) const
 
SpellCastResult CheckArenaAndRatedBattlegroundCastRules ()
 
SpellCastResult CheckMovement () const
 
bool CheckSpellCancelsAuraEffect (AuraType auraType, int32 *param1) const
 
bool CheckSpellCancelsCharm (int32 *param1) const
 
bool CheckSpellCancelsStun (int32 *param1) const
 
bool CheckSpellCancelsSilence (int32 *param1) const
 
bool CheckSpellCancelsPacify (int32 *param1) const
 
bool CheckSpellCancelsFear (int32 *param1) const
 
bool CheckSpellCancelsConfuse (int32 *param1) const
 
bool CheckSpellCancelsNoActions (int32 *param1) const
 
int32 CalculateDamage (SpellEffectInfo const &spellEffectInfo, Unit const *target, float *var=nullptr) const
 
void Delayed ()
 
void DelayedChannel ()
 
uint32 getState () const
 
void setState (uint32 state)
 
void DoCreateItem (uint32 itemId, ItemContext context=ItemContext::NONE, std::vector< int32 > const *bonusListIDs=nullptr)
 
bool CheckEffectTarget (Unit const *target, SpellEffectInfo const &spellEffectInfo, Position const *losPosition) const
 
bool CheckEffectTarget (GameObject const *target, SpellEffectInfo const &spellEffectInfo) const
 
bool CheckEffectTarget (Item const *target, SpellEffectInfo const &spellEffectInfo) const
 
bool CanAutoCast (Unit *target)
 
void CheckSrc ()
 
void CheckDst ()
 
void SendCastResult (SpellCastResult result, int32 *param1=nullptr, int32 *param2=nullptr) const
 
void SendPetCastResult (SpellCastResult result, int32 *param1=nullptr, int32 *param2=nullptr) const
 
void SendMountResult (MountResult result)
 
void SendSpellStart ()
 
void SendSpellGo ()
 
void SendSpellCooldown ()
 
void SendSpellExecuteLog ()
 
SpellLogEffectGetExecuteLogEffect (SpellEffectName effect)
 
template<typename T >
std::vector< T > & GetExecuteLogEffectTargets (SpellEffectName effect, Optional< std::vector< T > > SpellLogEffect::*member)
 
void ExecuteLogEffectTakeTargetPower (SpellEffectName effect, Unit *target, uint32 powerType, uint32 points, float amplitude)
 
void ExecuteLogEffectExtraAttacks (SpellEffectName effect, Unit *victim, uint32 numAttacks)
 
void ExecuteLogEffectDurabilityDamage (SpellEffectName effect, Unit *victim, int32 itemId, int32 amount)
 
void ExecuteLogEffectOpenLock (SpellEffectName effect, Object *obj)
 
void ExecuteLogEffectCreateItem (SpellEffectName effect, uint32 entry)
 
void ExecuteLogEffectDestroyItem (SpellEffectName effect, uint32 entry)
 
void ExecuteLogEffectSummonObject (SpellEffectName effect, WorldObject *obj)
 
void ExecuteLogEffectUnsummonObject (SpellEffectName effect, WorldObject *obj)
 
void ExecuteLogEffectResurrect (SpellEffectName effect, Unit *target)
 
void SendSpellInterruptLog (Unit *victim, uint32 spellId)
 
void SendInterrupted (uint8 result)
 
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 ()
 
int32 GetCastTime () const
 
int32 GetRemainingCastTime () 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
 
int32 GetProcChainLength () 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 (float launchDelay) const
 
void RecalculateDelayMomentForDst ()
 
void UpdateDelayMomentForDst (uint64 hitDelay)
 
void UpdateDelayMomentForUnitTarget (Unit *unit, uint64 hitDelay)
 
uint8 GetRuneState () const
 
void SetRuneState (uint8 value)
 
bool IsNeedSendToClient () const
 
CurrentSpellTypes GetCurrentContainer () const
 
WorldObjectGetCaster () const
 
ObjectGuid GetOriginalCasterGUID () const
 
UnitGetOriginalCaster () const
 
SpellInfo const * GetSpellInfo () const
 
Difficulty GetCastDifficulty () const
 
std::vector< SpellPowerCost > const & GetPowerCost () const
 
bool HasPowerTypeCost (Powers power) const
 
Optional< int32GetPowerTypeCostAmount (Powers power) const
 
bool UpdatePointers ()
 
void CleanupTargetList ()
 
void SetSpellValue (SpellValueMod mod, int32 value)
 
SpellInfo const * GetTriggeredByAuraSpell () const
 
int32 GetTimer () const
 
int64 GetUnitTargetCountForEffect (SpellEffIndex effect) const
 
int64 GetGameObjectTargetCountForEffect (SpellEffIndex effect) const
 
int64 GetItemTargetCountForEffect (SpellEffIndex effect) const
 
int64 GetCorpseTargetCountForEffect (SpellEffIndex effect) const
 
std::string GetDebugInfo () const
 
Trinity::unique_weak_ptr< SpellGetWeakPtr () const
 
void CallScriptOnResistAbsorbCalculateHandlers (DamageInfo const &damageInfo, uint32 &resistAmount, int32 &absorbAmount)
 
bool IsWithinLOS (WorldObject const *source, WorldObject const *target, bool targetAsSourceLocation, VMAP::ModelIgnoreFlags ignoreFlags) const
 
bool IsWithinLOS (WorldObject const *source, Position const &target, VMAP::ModelIgnoreFlags ignoreFlags) const
 
void CallScriptCalcCritChanceHandlers (Unit const *victim, float &chance)
 
void CallScriptCalcDamageHandlers (Unit *victim, int32 &damage, int32 &flatMod, float &pctMod)
 
void CallScriptCalcHealingHandlers (Unit *victim, int32 &healing, int32 &flatMod, float &pctMod)
 

Static Public Member Functions

static uint32 GetSearcherTypeMask (SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, SpellTargetObjectTypes objType, ConditionContainer const *condList)
 
template<class SEARCHER >
static void SearchTargets (SEARCHER &searcher, uint32 containerMask, WorldObject *referer, Position const *pos, float radius)
 
static void SendCastResult (Player *caster, SpellInfo const *spellInfo, SpellCastVisual spellVisual, ObjectGuid cast_count, SpellCastResult result, SpellCustomErrors customError=SPELL_CUSTOM_ERROR_NONE, int32 *param1=nullptr, int32 *param2=nullptr)
 
static Spell const * ExtractSpellFromEvent (BasicEvent *event)
 

Public Attributes

SpellInfo const *const m_spellInfo
 
Itemm_CastItem
 
ObjectGuid m_castItemGUID
 
uint32 m_castItemEntry
 
int32 m_castItemLevel
 
ObjectGuid m_castId
 
ObjectGuid m_originalCastId
 
bool m_fromClient
 
uint32 m_castFlagsEx
 
union {
   uint32   TalentId
 
   uint32   SpellId
 
   uint32   SpecializationId
 
   struct {
      uint32   Id
 
      uint32   AbilityId
 
   }   GarrFollower
 
   uint32   GarrMissionId
 
   uint32   ItemId
 
   struct {
      uint32   Data [2]
 
   }   Raw
 
m_misc
 
std::any m_customArg
 
SpellCastVisual m_SpellVisual
 
SpellCastTargets m_targets
 
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)
 
std::pair< float, float > GetMinMaxRange (bool strict) const
 
bool IsDelayableNoMore ()
 
UnitGetUnitCasterForEffectHandlers () const
 
void prepareDataForTriggerSystem ()
 
template<class Container >
void DoProcessTargetContainer (Container &targetContainer)
 
int32 GetUnitTargetIndexForEffect (ObjectGuid const &target, SpellEffIndex effect) const
 
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, TargetInfo &targetInfo)
 
void DoSpellEffectHit (Unit *unit, SpellEffectInfo const &spellEffectInfo, TargetInfo &targetInfo)
 
void DoTriggersOnSpellHit (Unit *unit)
 
bool UpdateChanneledTargetList ()
 
bool IsValidDeadOrAliveTarget (Unit const *target) const
 
void HandleLaunchPhase ()
 
void DoEffectOnLaunchTarget (TargetInfo &targetInfo, float multiplier, SpellEffectInfo const &spellEffectInfo)
 
void ResetCombatTimers ()
 
void PrepareTargetProcessing ()
 
void FinishTargetProcessing ()
 
void LoadScripts ()
 
void CallScriptOnPrecastHandler ()
 
void CallScriptBeforeCastHandlers ()
 
void CallScriptOnCastHandlers ()
 
void CallScriptAfterCastHandlers ()
 
SpellCastResult CallScriptCheckCastHandlers ()
 
int32 CallScriptCalcCastTimeHandlers (int32 originalCastTime)
 
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 (Unit *unit, SpellInfo const *triggeredByAura=nullptr) const
 
void PrepareTriggersExecutedOnHit ()
 
void SummonGuardian (SpellEffectInfo const *effect, uint32 entry, SummonPropertiesEntry const *properties, uint32 numSummons, ObjectGuid privateObjectOwner)
 
void CalculateJumpSpeeds (SpellEffectInfo const *effInfo, float dist, float &speedXY, float &speedZ)
 
void UpdateSpellCastDataTargets (WorldPackets::Spells::SpellCastData &data)
 Writes miss and hit targets for a SMSG_SPELL_GO packet. More...
 
int32 GetSpellCastDataAmmo ()
 
void UpdateSpellHealPrediction (WorldPackets::Spells::SpellHealPrediction &healPrediction, bool withPeriodic)
 
SpellCastResult CanOpenLock (SpellEffectInfo const &effect, 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
 
std::vector< SpellPowerCostm_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_launchHandled
 
bool m_immediateHandled
 
bool m_referencedFromCurrentSpell
 
bool m_executedCurrently
 
uint32 m_applyMultiplierMask
 
float m_damageMultipliers [MAX_SPELL_EFFECTS]
 
UnitunitTarget
 
ItemitemTarget
 
GameObjectgameObjTarget
 
Corpsem_corpseTarget
 
WorldLocationdestTarget
 
int32 damage
 
SpellMissInfo targetMissInfo
 
float variance
 
SpellEffectHandleMode effectHandleMode
 
SpellEffectInfo const * effectInfo
 
UnitAura_spellAura
 
DynObjAura_dynObjAura
 
GameObjectfocusObject
 
int32 m_damage
 
int32 m_healing
 
ProcFlagsInit m_procAttacker
 
ProcFlagsInit m_procVictim
 
ProcFlagsHit m_hitMask
 
ProcFlagsSpellType m_procSpellType
 
std::vector< TargetInfom_UniqueTargetInfo
 
uint32 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
 
int32 m_procChainLength
 
std::unique_ptr< PathGeneratorm_preGeneratedPath
 
std::vector< SpellLogEffect_executeLogEffects
 

Friends

class SpellScript
 

Detailed Description

Definition at line 254 of file Spell.h.

Member Typedef Documentation

◆ HitTriggerSpellList

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

Definition at line 901 of file Spell.h.

◆ UsedSpellMods

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

Definition at line 435 of file Spell.h.

Constructor & Destructor Documentation

◆ Spell() [1/2]

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

Definition at line 503 of file Spell.cpp.

+ Here is the call graph for this function:

◆ ~Spell()

Spell::~Spell ( )

Definition at line 617 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 3665 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 4171 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 4151 of file Spell.cpp.

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

◆ AddCorpseTarget()

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

Definition at line 2593 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 2645 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ AddGOTarget()

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

Definition at line 2512 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 2565 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 2405 of file Spell.cpp.

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

◆ CalculateDamage()

int32 Spell::CalculateDamage ( SpellEffectInfo const &  spellEffectInfo,
Unit const *  target,
float *  var = nullptr 
) const

Definition at line 7085 of file Spell.cpp.

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

◆ CalculateDelayMomentForDst()

uint64 Spell::CalculateDelayMomentForDst ( float  launchDelay) const

Definition at line 849 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 *  effInfo,
float  dist,
float &  speedXY,
float &  speedZ 
)
protected

Definition at line 864 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 8659 of file Spell.cpp.

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

◆ CallScriptAfterHitHandlers()

void Spell::CallScriptAfterHitHandlers ( )
protected

Definition at line 8783 of file Spell.cpp.

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

◆ CallScriptBeforeCastHandlers()

void Spell::CallScriptBeforeCastHandlers ( )
protected

Definition at line 8635 of file Spell.cpp.

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

◆ CallScriptBeforeHitHandlers()

void Spell::CallScriptBeforeHitHandlers ( SpellMissInfo  missInfo)
protected

Definition at line 8758 of file Spell.cpp.

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

◆ CallScriptCalcCastTimeHandlers()

int32 Spell::CallScriptCalcCastTimeHandlers ( int32  originalCastTime)
protected

Definition at line 8689 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ CallScriptCalcCritChanceHandlers()

void Spell::CallScriptCalcCritChanceHandlers ( Unit const *  victim,
float &  chance 
)

Definition at line 8795 of file Spell.cpp.

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

◆ CallScriptCalcDamageHandlers()

void Spell::CallScriptCalcDamageHandlers ( Unit victim,
int32 damage,
int32 flatMod,
float &  pctMod 
)

Definition at line 8807 of file Spell.cpp.

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

◆ CallScriptCalcHealingHandlers()

void Spell::CallScriptCalcHealingHandlers ( Unit victim,
int32 healing,
int32 flatMod,
float &  pctMod 
)

Definition at line 8819 of file Spell.cpp.

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

◆ CallScriptCheckCastHandlers()

SpellCastResult Spell::CallScriptCheckCastHandlers ( )
protected

Definition at line 8671 of file Spell.cpp.

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

◆ CallScriptDestinationTargetSelectHandlers()

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

Definition at line 8857 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 8700 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 8831 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 8844 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 8647 of file Spell.cpp.

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

◆ CallScriptOnHitHandlers()

void Spell::CallScriptOnHitHandlers ( )
protected

Definition at line 8771 of file Spell.cpp.

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

◆ CallScriptOnPrecastHandler()

void Spell::CallScriptOnPrecastHandler ( )
protected

Definition at line 8625 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 8870 of file Spell.cpp.

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

◆ CallScriptSuccessfulDispel()

void Spell::CallScriptSuccessfulDispel ( SpellEffIndex  effIndex)
protected

Definition at line 8746 of file Spell.cpp.

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

◆ CanAutoCast()

bool Spell::CanAutoCast ( Unit target)

Definition at line 7091 of file Spell.cpp.

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

◆ cancel()

void Spell::cancel ( )

Definition at line 3594 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 9019 of file Spell.cpp.

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

◆ CanExecuteTriggersOnHit()

bool Spell::CanExecuteTriggersOnHit ( Unit unit,
SpellInfo const *  triggeredByAura = nullptr 
) const
protected

Definition at line 8903 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 &  effect,
uint32  lockid,
SkillType skillid,
int32 reqSkillValue,
int32 skillValue 
)
protected

Definition at line 8492 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 3648 of file Spell.cpp.

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

◆ CheckArenaAndRatedBattlegroundCastRules()

SpellCastResult Spell::CheckArenaAndRatedBattlegroundCastRules ( )

Definition at line 7024 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,
int32 param1 = nullptr,
int32 param2 = nullptr 
)
Todo:
determine if there is some flag to enable/disable the check

Definition at line 5641 of file Spell.cpp.

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

◆ CheckCasterAuras()

SpellCastResult Spell::CheckCasterAuras ( int32 param1) const

Definition at line 6821 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 7153 of file Spell.cpp.

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

◆ CheckEffectTarget() [1/3]

bool Spell::CheckEffectTarget ( GameObject const *  target,
SpellEffectInfo const &  spellEffectInfo 
) const

Definition at line 8131 of file Spell.cpp.

+ Here is the call graph for this function:

◆ CheckEffectTarget() [2/3]

bool Spell::CheckEffectTarget ( Item const *  target,
SpellEffectInfo const &  spellEffectInfo 
) const

Definition at line 8148 of file Spell.cpp.

◆ CheckEffectTarget() [3/3]

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 8043 of file Spell.cpp.

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

◆ CheckItems()

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

Definition at line 7307 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 7055 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 6787 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 7265 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 7159 of file Spell.cpp.

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

◆ CheckRuneCost()

SpellCastResult Spell::CheckRuneCost ( ) const

Definition at line 5454 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 8882 of file Spell.cpp.

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

◆ CheckSpellCancelsAuraEffect()

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

Definition at line 6955 of file Spell.cpp.

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

◆ CheckSpellCancelsCharm()

bool Spell::CheckSpellCancelsCharm ( int32 param1) const

Definition at line 6984 of file Spell.cpp.

+ Here is the call graph for this function:

◆ CheckSpellCancelsConfuse()

bool Spell::CheckSpellCancelsConfuse ( int32 param1) const

Definition at line 7014 of file Spell.cpp.

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

◆ CheckSpellCancelsFear()

bool Spell::CheckSpellCancelsFear ( int32 param1) const

Definition at line 7009 of file Spell.cpp.

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

◆ CheckSpellCancelsNoActions()

bool Spell::CheckSpellCancelsNoActions ( int32 param1) const

Definition at line 7019 of file Spell.cpp.

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

◆ CheckSpellCancelsPacify()

bool Spell::CheckSpellCancelsPacify ( int32 param1) const

Definition at line 7003 of file Spell.cpp.

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

◆ CheckSpellCancelsSilence()

bool Spell::CheckSpellCancelsSilence ( int32 param1) const

Definition at line 6997 of file Spell.cpp.

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

◆ CheckSpellCancelsStun()

bool Spell::CheckSpellCancelsStun ( int32 param1) const

Definition at line 6991 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 7147 of file Spell.cpp.

+ Here is the call graph for this function:

◆ CleanupTargetList()

void Spell::CleanupTargetList ( )

Definition at line 2371 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ Delayed()

void Spell::Delayed ( )

Definition at line 7870 of file Spell.cpp.

+ Here is the call graph for this function:

◆ DelayedChannel()

void Spell::DelayedChannel ( )

Definition at line 7906 of file Spell.cpp.

+ Here is the call graph for this function:

◆ DoCreateItem()

void Spell::DoCreateItem ( uint32  itemId,
ItemContext  context = ItemContext::NONE,
std::vector< int32 > const *  bonusListIDs = nullptr 
)

Definition at line 1298 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 8406 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 3965 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 3214 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)
protected
Todo:
remove/cleanup this, as this table is not documented and people are doing stupid things with it

Definition at line 3304 of file Spell.cpp.

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

◆ EffectActivateGarrisonBuilding()

void Spell::EffectActivateGarrisonBuilding ( )

Definition at line 5428 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectActivateObject()

void Spell::EffectActivateObject ( )

Definition at line 3296 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectActivateSpec()

void Spell::EffectActivateSpec ( )

Definition at line 4972 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddExtraAttacks()

void Spell::EffectAddExtraAttacks ( )

Definition at line 3584 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddFarsight()

void Spell::EffectAddFarsight ( )

Definition at line 2222 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectAddGarrisonFollower()

void Spell::EffectAddGarrisonFollower ( )

Definition at line 5396 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectApplyAura()

void Spell::EffectApplyAura ( )

Definition at line 1040 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectApplyEnchantIllusion()

void Spell::EffectApplyEnchantIllusion ( )

Definition at line 5596 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectApplyGlyph()

void Spell::EffectApplyGlyph ( )

Definition at line 3309 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectBind()

void Spell::EffectBind ( )

Definition at line 5123 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectBlock()

void Spell::EffectBlock ( )

Definition at line 3606 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCancelConversation()

void Spell::EffectCancelConversation ( )

Definition at line 5376 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 5059 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectChangeActiveCombatTraitConfig()

void Spell::EffectChangeActiveCombatTraitConfig ( )

Definition at line 6039 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectChangeBattlePetQuality()

void Spell::EffectChangeBattlePetQuality ( )

Definition at line 5506 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectChangeRaidMarker()

void Spell::EffectChangeRaidMarker ( )

Definition at line 4107 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCharge()

void Spell::EffectCharge ( )

Definition at line 3822 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectChargeDest()

void Spell::EffectChargeDest ( )

Definition at line 3877 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateAreaTrigger()

void Spell::EffectCreateAreaTrigger ( )

Definition at line 5282 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateConversation()

void Spell::EffectCreateConversation ( )

Definition at line 5364 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateGarrison()

void Spell::EffectCreateGarrison ( )

Definition at line 5353 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateHeirloomItem()

void Spell::EffectCreateHeirloomItem ( )

Definition at line 5408 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateItem()

void Spell::EffectCreateItem ( )

Definition at line 1392 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateItem2()

void Spell::EffectCreateItem2 ( )
Todo:
ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);

Definition at line 1401 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreatePrivateConversation()

void Spell::EffectCreatePrivateConversation ( )

Definition at line 5884 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreatePrivateSceneObject()

void Spell::EffectCreatePrivateSceneObject ( )

Definition at line 5711 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateRandomItem()

void Spell::EffectCreateRandomItem ( )
Todo:
ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);

Definition at line 1430 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateSceneObject()

void Spell::EffectCreateSceneObject ( )

Definition at line 5690 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateTamedPet()

void Spell::EffectCreateTamedPet ( )

Definition at line 4782 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectCreateTraitTreeConfig()

void Spell::EffectCreateTraitTreeConfig ( )

Definition at line 6014 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDamageFromMaxHealthPCT()

void Spell::EffectDamageFromMaxHealthPCT ( )

Definition at line 5034 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDestroyAllTotems()

void Spell::EffectDestroyAllTotems ( )

Definition at line 4226 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDestroyItem()

void Spell::EffectDestroyItem ( )

Definition at line 5314 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDiscoverTaxi()

void Spell::EffectDiscoverTaxi ( )

Definition at line 4813 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDisEnchant()

void Spell::EffectDisEnchant ( )

Definition at line 3403 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDismissPet()

void Spell::EffectDismissPet ( )

Definition at line 3482 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDispel()

void Spell::EffectDispel ( )

Definition at line 2062 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDispelMechanic()

void Spell::EffectDispelMechanic ( )

Definition at line 4126 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDistract()

void Spell::EffectDistract ( )

Definition at line 2169 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDualWield()

void Spell::EffectDualWield ( )

Definition at line 2161 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDuel()

void Spell::EffectDuel ( )

Definition at line 3156 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDummy()

void Spell::EffectDummy ( )

Definition at line 556 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDurabilityDamage()

void Spell::EffectDurabilityDamage ( )

Definition at line 4269 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectDurabilityDamagePCT()

void Spell::EffectDurabilityDamagePCT ( )

Definition at line 4298 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnableBattlePets()

void Spell::EffectEnableBattlePets ( )

Definition at line 5493 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantHeldItem()

void Spell::EffectEnchantHeldItem ( )

Definition at line 3355 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemPerm()

void Spell::EffectEnchantItemPerm ( )

Definition at line 2331 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemPrismatic()

void Spell::EffectEnchantItemPrismatic ( )

Definition at line 2396 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnchantItemTmp()

void Spell::EffectEnchantItemTmp ( )

Definition at line 2460 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnergize()

void Spell::EffectEnergize ( )

Definition at line 1491 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnergizePct()

void Spell::EffectEnergizePct ( )

Definition at line 1535 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectEnvironmentalDMG()

void Spell::EffectEnvironmentalDMG ( )

Definition at line 471 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 3439 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectForceCast()

void Spell::EffectForceCast ( )

Definition at line 775 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectForceDeselect()

void Spell::EffectForceDeselect ( )

Definition at line 3677 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectDamage()

void Spell::EffectGameObjectDamage ( )

Definition at line 4847 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectRepair()

void Spell::EffectGameObjectRepair ( )

Definition at line 4862 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGameObjectSetDestructionState()

void Spell::EffectGameObjectSetDestructionState ( )

Definition at line 4873 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveArtifactPower()

void Spell::EffectGiveArtifactPower ( )

Definition at line 5639 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveArtifactPowerNoBonus()

void Spell::EffectGiveArtifactPowerNoBonus ( )

Definition at line 5653 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveCurrency()

void Spell::EffectGiveCurrency ( )

Definition at line 5045 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveExperience()

void Spell::EffectGiveExperience ( )

Definition at line 5455 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveHonor()

void Spell::EffectGiveHonor ( )

Definition at line 5743 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGiveRestedExperience()

void Spell::EffectGiveRestedExperience ( )

Definition at line 5468 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGrantBattlePetExperience()

void Spell::EffectGrantBattlePetExperience ( )

Definition at line 5912 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectGrantBattlePetLevel()

void Spell::EffectGrantBattlePetLevel ( )

Definition at line 5440 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHeal()

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

Definition at line 1170 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealBattlePetPct()

void Spell::EffectHealBattlePetPct ( )

Definition at line 5481 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealMaxHealth()

void Spell::EffectHealMaxHealth ( )

Definition at line 2867 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealMechanical()

void Spell::EffectHealMechanical ( )

Definition at line 1236 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealPct()

void Spell::EffectHealPct ( )

Definition at line 1218 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectHealthLeech()

void Spell::EffectHealthLeech ( )

Definition at line 1256 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectIncreaseCurrencyCap()

void Spell::EffectIncreaseCurrencyCap ( )

Definition at line 5164 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectInebriate()

void Spell::EffectInebriate ( )

Definition at line 3419 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectInstaKill()

void Spell::EffectInstaKill ( )

Definition at line 447 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 2890 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectJump()

void Spell::EffectJump ( )

Definition at line 879 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectJumpCharge()

void Spell::EffectJumpCharge ( )

Definition at line 5760 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectJumpDest()

void Spell::EffectJumpDest ( )

Definition at line 902 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKillCredit()

void Spell::EffectKillCredit ( )

Definition at line 4732 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKillCreditPersonal()

void Spell::EffectKillCreditPersonal ( )

Definition at line 4721 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectKnockBack()

void Spell::EffectKnockBack ( )

Definition at line 3919 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLaunchQuestChoice()

void Spell::EffectLaunchQuestChoice ( )

Definition at line 5530 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLeap()

void Spell::EffectLeap ( )

Definition at line 3615 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLeapBack()

void Spell::EffectLeapBack ( )

Definition at line 3963 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnAzeriteEssencePower()

void Spell::EffectLearnAzeriteEssencePower ( )

Definition at line 5845 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnGarrisonBuilding()

void Spell::EffectLearnGarrisonBuilding ( )

Definition at line 5327 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnPetSpell()

void Spell::EffectLearnPetSpell ( )

Definition at line 2657 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 2274 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnSpell()

void Spell::EffectLearnSpell ( )

Definition at line 2016 of file SpellEffects.cpp.

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

◆ EffectLearnTransmogIllusion()

void Spell::EffectLearnTransmogIllusion ( )

Definition at line 5927 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectLearnTransmogSet()

void Spell::EffectLearnTransmogSet ( )

Definition at line 5806 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectMilling()

void Spell::EffectMilling ( )

Definition at line 4500 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyAuraStacks()

void Spell::EffectModifyAuraStacks ( )

Definition at line 5943 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyCooldown()

void Spell::EffectModifyCooldown ( )

Definition at line 5965 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyCooldowns()

void Spell::EffectModifyCooldowns ( )

Definition at line 5973 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyCooldownsByCategory()

void Spell::EffectModifyCooldownsByCategory ( )

Definition at line 5994 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifySpellCharges()

void Spell::EffectModifySpellCharges ( )

Definition at line 6005 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectModifyThreatPercent()

void Spell::EffectModifyThreatPercent ( )

Definition at line 4327 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectNULL()

void Spell::EffectNULL ( )

Definition at line 409 of file SpellEffects.cpp.

◆ EffectOpenLock()

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

Definition at line 1559 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectParry()

void Spell::EffectParry ( )

Definition at line 3597 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPersistentAA()

void Spell::EffectPersistentAA ( )

Definition at line 1444 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPickPocket()

void Spell::EffectPickPocket ( )

Definition at line 2185 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlayMovie()

void Spell::EffectPlayMovie ( )

Definition at line 2304 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlayMusic()

void Spell::EffectPlayMusic ( )

Definition at line 4953 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlayScene()

void Spell::EffectPlayScene ( )

Definition at line 5732 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlaySceneScriptPackage()

void Spell::EffectPlaySceneScriptPackage ( )

Definition at line 5666 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPlaySound()

void Spell::EffectPlaySound ( )

Definition at line 4991 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPowerBurn()

void Spell::EffectPowerBurn ( )

Definition at line 1145 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPowerDrain()

void Spell::EffectPowerDrain ( )

Definition at line 1072 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectProficiency()

void Spell::EffectProficiency ( )

Definition at line 1776 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectProspecting()

void Spell::EffectProspecting ( )

Definition at line 4473 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPullTowards()

void Spell::EffectPullTowards ( )

Definition at line 4041 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectPullTowardsDest()

void Spell::EffectPullTowardsDest ( )

Definition at line 4071 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestClear()

void Spell::EffectQuestClear ( )

Definition at line 3981 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestComplete()

void Spell::EffectQuestComplete ( )

Definition at line 3653 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestFail()

void Spell::EffectQuestFail ( )

Definition at line 4744 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectQuestStart()

void Spell::EffectQuestStart ( )

Definition at line 4755 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRechargeItem()

void Spell::EffectRechargeItem ( )

Definition at line 5101 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRedirectThreat()

void Spell::EffectRedirectThreat ( )

Definition at line 4834 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRemoveAura()

void Spell::EffectRemoveAura ( )

Definition at line 5023 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRemoveAuraBySpellLabel()

void Spell::EffectRemoveAuraBySpellLabel ( )

Definition at line 5339 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRemoveTalent()

void Spell::EffectRemoveTalent ( )

Definition at line 5297 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRenamePet()

void Spell::EffectRenamePet ( )

Definition at line 4941 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectReputation()

void Spell::EffectReputation ( )

Definition at line 3630 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectRespecAzeriteEmpoweredItem()

void Spell::EffectRespecAzeriteEmpoweredItem ( )

Definition at line 5817 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrect()

void Spell::EffectResurrect ( )

Definition at line 3554 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrectNew()

void Spell::EffectResurrectNew ( )

Definition at line 419 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrectPet()

void Spell::EffectResurrectPet ( )

Definition at line 4156 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectResurrectWithAura()

void Spell::EffectResurrectWithAura ( )

Definition at line 5250 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSanctuary()

void Spell::EffectSanctuary ( )

Definition at line 3125 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSchoolDMG()

void Spell::EffectSchoolDMG ( )

Definition at line 499 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 2975 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSelfResurrect()

void Spell::EffectSelfResurrect ( )

Definition at line 3712 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSendChatMessage()

void Spell::EffectSendChatMessage ( )

Definition at line 5895 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 1107 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSendTaxi()

void Spell::EffectSendTaxi ( )

Definition at line 4030 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSkill()

void Spell::EffectSkill ( )

Definition at line 4527 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSkinning()

void Spell::EffectSkinning ( )

Definition at line 3749 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSkinPlayerCorpse()

void Spell::EffectSkinPlayerCorpse ( )

Definition at line 4586 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSpiritHeal()

void Spell::EffectSpiritHeal ( )

Definition at line 4560 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectStealBeneficialBuff()

void Spell::EffectStealBeneficialBuff ( )

Definition at line 4607 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectStuck()

void Spell::EffectStuck ( )

Definition at line 3236 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonChangeItem()

void Spell::EffectSummonChangeItem ( )

Definition at line 1662 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonObject()

void Spell::EffectSummonObject ( )

Definition at line 3496 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonObjectWild()

void Spell::EffectSummonObjectWild ( )

Definition at line 2922 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonPersonalGameObject()

void Spell::EffectSummonPersonalGameObject ( )

Definition at line 5198 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonPet()

void Spell::EffectSummonPet ( )

Definition at line 2567 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonPlayer()

void Spell::EffectSummonPlayer ( )

Definition at line 3280 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonRaFFriend()

void Spell::EffectSummonRaFFriend ( )

Definition at line 5176 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectSummonType()

void Spell::EffectSummonType ( )

Definition at line 1798 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTameCreature()

void Spell::EffectTameCreature ( )

Definition at line 2512 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTaunt()

void Spell::EffectTaunt ( )

Definition at line 2683 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleportGraveyard()

void Spell::EffectTeleportGraveyard ( )

Definition at line 6055 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleportToReturnPoint()

void Spell::EffectTeleportToReturnPoint ( )

Definition at line 5154 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleportUnits()

void Spell::EffectTeleportUnits ( )

Definition at line 941 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleportUnitsWithVisualLoadingScreen()

void Spell::EffectTeleportUnitsWithVisualLoadingScreen ( )

Definition at line 1008 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTeleUnitsFaceCaster()

void Spell::EffectTeleUnitsFaceCaster ( )

Definition at line 2259 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectThreat()

void Spell::EffectThreat ( )

Definition at line 2849 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTitanGrip()

void Spell::EffectTitanGrip ( )

Definition at line 4825 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTradeSkill()

void Spell::EffectTradeSkill ( )

Definition at line 2319 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTransmitted()

void Spell::EffectTransmitted ( )

Definition at line 4339 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTriggerMissileSpell()

void Spell::EffectTriggerMissileSpell ( )

Definition at line 709 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectTriggerRitualOfSummoning()

void Spell::EffectTriggerRitualOfSummoning ( )

Definition at line 838 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 579 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUncageBattlePet()

void Spell::EffectUncageBattlePet ( )

Definition at line 5541 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUnlearnSpecialization()

void Spell::EffectUnlearnSpecialization ( )

Definition at line 1056 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUnlockGuildVaultTab()

void Spell::EffectUnlockGuildVaultTab ( )

Definition at line 5187 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUntrainTalents()

void Spell::EffectUntrainTalents ( )

Definition at line 2248 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUnused()

void Spell::EffectUnused ( )

Definition at line 414 of file SpellEffects.cpp.

◆ EffectUpdatePlayerPhase()

void Spell::EffectUpdatePlayerPhase ( )

Definition at line 5617 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUpdateZoneAurasAndPhases()

void Spell::EffectUpdateZoneAurasAndPhases ( )

Definition at line 5628 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectUpgradeHeirloom()

void Spell::EffectUpgradeHeirloom ( )

Definition at line 5586 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ EffectWeaponDmg()

void Spell::EffectWeaponDmg ( )

Definition at line 2723 of file SpellEffects.cpp.

+ Here is the call graph for this function:

◆ ExecuteLogEffectCreateItem()

void Spell::ExecuteLogEffectCreateItem ( SpellEffectName  effect,
uint32  entry 
)

Definition at line 5136 of file Spell.cpp.

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

◆ ExecuteLogEffectDestroyItem()

void Spell::ExecuteLogEffectDestroyItem ( SpellEffectName  effect,
uint32  entry 
)

Definition at line 5144 of file Spell.cpp.

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

◆ ExecuteLogEffectDurabilityDamage()

void Spell::ExecuteLogEffectDurabilityDamage ( SpellEffectName  effect,
Unit victim,
int32  itemId,
int32  amount 
)

Definition at line 5118 of file Spell.cpp.

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

◆ ExecuteLogEffectExtraAttacks()

void Spell::ExecuteLogEffectExtraAttacks ( SpellEffectName  effect,
Unit victim,
uint32  numAttacks 
)

Definition at line 5098 of file Spell.cpp.

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

◆ ExecuteLogEffectOpenLock()

void Spell::ExecuteLogEffectOpenLock ( SpellEffectName  effect,
Object obj 
)

Definition at line 5128 of file Spell.cpp.

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

◆ ExecuteLogEffectResurrect()

void Spell::ExecuteLogEffectResurrect ( SpellEffectName  effect,
Unit target 
)

Definition at line 5168 of file Spell.cpp.

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

◆ ExecuteLogEffectSummonObject()

void Spell::ExecuteLogEffectSummonObject ( SpellEffectName  effect,
WorldObject obj 
)

Definition at line 5152 of file Spell.cpp.

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

◆ ExecuteLogEffectTakeTargetPower()

void Spell::ExecuteLogEffectTakeTargetPower ( SpellEffectName  effect,
Unit target,
uint32  powerType,
uint32  points,
float  amplitude 
)

Definition at line 5086 of file Spell.cpp.

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

◆ ExecuteLogEffectUnsummonObject()

void Spell::ExecuteLogEffectUnsummonObject ( SpellEffectName  effect,
WorldObject obj 
)

Definition at line 5160 of file Spell.cpp.

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

◆ ExtractSpellFromEvent()

Spell const * Spell::ExtractSpellFromEvent ( BasicEvent event)
static

Definition at line 5633 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ finish()

void Spell::finish ( SpellCastResult  result = SPELL_CAST_OK)

Definition at line 4311 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 8610 of file Spell.cpp.

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

◆ GetCastDifficulty()

Difficulty Spell::GetCastDifficulty ( ) const

Definition at line 8038 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 647 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetCastTime()

int32 Spell::GetCastTime ( ) const
inline

Definition at line 612 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetCorpseTargetCountForEffect()

int64 Spell::GetCorpseTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2691 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetCurrentContainer()

CurrentSpellTypes Spell::GetCurrentContainer ( ) const

Definition at line 8026 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 9034 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 635 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetDelayStart()

uint64 Spell::GetDelayStart ( ) const
inline

Definition at line 633 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetExecuteLogEffect()

SpellLogEffect & Spell::GetExecuteLogEffect ( SpellEffectName  effect)

Definition at line 5072 of file Spell.cpp.

◆ GetExecuteLogEffectTargets()

template<typename T >
std::vector< T > & Spell::GetExecuteLogEffectTargets ( SpellEffectName  effect,
Optional< std::vector< T > > SpellLogEffect::*  member 
)
inline

Definition at line 536 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetGameObjectTargetCountForEffect()

int64 Spell::GetGameObjectTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2675 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetItemTargetCountForEffect()

int64 Spell::GetItemTargetCountForEffect ( SpellEffIndex  effect) const

Definition at line 2683 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 7207 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 649 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetOriginalCasterGUID()

ObjectGuid Spell::GetOriginalCasterGUID ( ) const
inline

Definition at line 648 of file Spell.h.

◆ GetPowerCost()

std::vector< SpellPowerCost > const & Spell::GetPowerCost ( ) const
inline

Definition at line 652 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetPowerTypeCostAmount()

Optional< int32 > Spell::GetPowerTypeCostAmount ( Powers  power) const

Definition at line 7958 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetProcChainLength()

int32 Spell::GetProcChainLength ( ) const
inline

Definition at line 627 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetRemainingCastTime()

int32 Spell::GetRemainingCastTime ( ) const
inline

Definition at line 613 of file Spell.h.

◆ GetRuneState()

uint8 Spell::GetRuneState ( ) const
inline

Definition at line 640 of file Spell.h.

◆ GetSearcherTypeMask()

uint32 Spell::GetSearcherTypeMask ( SpellInfo const *  spellInfo,
SpellEffectInfo const &  spellEffectInfo,
SpellTargetObjectTypes  objType,
ConditionContainer const *  condList 
)
static

Definition at line 2113 of file Spell.cpp.

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

◆ GetSpellCastDataAmmo()

int32 Spell::GetSpellCastDataAmmo ( )
protected

Definition at line 4908 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 650 of file Spell.h.

+ Here is the caller graph for this function:

◆ getState()

uint32 Spell::getState ( ) const
inline

Definition at line 514 of file Spell.h.

+ Here is the caller graph for this function:

◆ GetTimer()

int32 Spell::GetTimer ( ) const
inline

Definition at line 666 of file Spell.h.

◆ GetTriggeredByAuraSpell()

SpellInfo const * Spell::GetTriggeredByAuraSpell ( ) const
inline

Definition at line 664 of file Spell.h.

◆ GetUnitCasterForEffectHandlers()

Unit * Spell::GetUnitCasterForEffectHandlers ( ) const
protected

Definition at line 8201 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 2667 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetUnitTargetIndexForEffect()

int32 Spell::GetUnitTargetIndexForEffect ( ObjectGuid const &  target,
SpellEffIndex  effect 
) const
protected

Definition at line 2650 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ GetWeakPtr()

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

Definition at line 9043 of file Spell.cpp.

+ Here is the call graph for this function:

◆ handle_delayed()

uint64 Spell::handle_delayed ( uint64  t_offset)

Definition at line 4046 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 3979 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 5615 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 8338 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 5559 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 8960 of file Spell.cpp.

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

◆ HasPowerTypeCost()

bool Spell::HasPowerTypeCost ( Powers  power) const

Definition at line 7953 of file Spell.cpp.

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

◆ InitExplicitTargets()

void Spell::InitExplicitTargets ( SpellCastTargets const &  targets)

Definition at line 640 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

Definition at line 8178 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 614 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsChannelActive()

bool Spell::IsChannelActive ( ) const

Definition at line 8173 of file Spell.cpp.

+ Here is the call graph for this function:

◆ IsDelayableNoMore()

bool Spell::IsDelayableNoMore ( )
inlineprotected

Definition at line 710 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsDeletable()

bool Spell::IsDeletable ( ) const
inline

Definition at line 629 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsFocusDisabled()

bool Spell::IsFocusDisabled ( ) const

Definition at line 8163 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 8158 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsInterruptable()

bool Spell::IsInterruptable ( ) const
inline

Definition at line 631 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsNeedSendToClient()

bool Spell::IsNeedSendToClient ( ) const

Definition at line 8194 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 8189 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 8168 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsTriggered()

bool Spell::IsTriggered ( ) const

Definition at line 8153 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ IsTriggeredByAura()

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

Definition at line 625 of file Spell.h.

+ Here is the caller graph for this function:

◆ IsValidDeadOrAliveTarget()

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

Definition at line 8329 of file Spell.cpp.

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

◆ IsWithinLOS() [1/2]

bool Spell::IsWithinLOS ( WorldObject const *  source,
Position const &  target,
VMAP::ModelIgnoreFlags  ignoreFlags 
) const

Definition at line 9064 of file Spell.cpp.

+ Here is the call graph for this function:

◆ IsWithinLOS() [2/2]

bool Spell::IsWithinLOS ( WorldObject const *  source,
WorldObject const *  target,
bool  targetAsSourceLocation,
VMAP::ModelIgnoreFlags  ignoreFlags 
) const

Definition at line 9048 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 8615 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 3426 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 2326 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 8606 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ PrepareTriggersExecutedOnHit()

void Spell::PrepareTriggersExecutedOnHit ( )
protected

Definition at line 8920 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,
TargetInfo targetInfo 
)
protected

Definition at line 3100 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 8374 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 874 of file Spell.cpp.

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

◆ ResetCombatTimers()

void Spell::ResetCombatTimers ( )
protected

Definition at line 8480 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 616 of file Spell.h.

+ Here is the caller graph for this function:

◆ SearchAreaTargets()

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

Definition at line 2193 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,
SpellEffectInfo const &  spellEffectInfo,
bool  isChainHeal 
)

Definition at line 2208 of file Spell.cpp.

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

◆ SearchNearbyTarget()

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

Definition at line 2179 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 2317 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 
)
static

Definition at line 2151 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,
SpellTargetIndex  targetIndex,
uint32 processedEffectMask 
)

Definition at line 914 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 2013 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 710 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,
SpellTargetIndex  targetIndex,
uint32  effMask 
)

Definition at line 1349 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,
SpellTargetIndex  targetIndex 
)
Todo:
fix this check

Definition at line 1476 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 
)

Definition at line 1731 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 1820 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 
)

Definition at line 1034 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,
SpellTargetIndex  targetIndex,
uint32  effMask 
)

Definition at line 1289 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,
SpellTargetIndex  targetIndex 
)

Definition at line 1679 of file Spell.cpp.

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

◆ SelectImplicitLineTargets()

void Spell::SelectImplicitLineTargets ( SpellEffectInfo const &  spellEffectInfo,
SpellImplicitTargetInfo const &  targetType,
SpellTargetIndex  targetIndex,
uint32  effMask 
)

Definition at line 1952 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,
SpellTargetIndex  targetIndex,
uint32  effMask 
)

Definition at line 1105 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,
SpellTargetIndex  targetIndex 
)

Definition at line 1646 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 
)

Definition at line 1796 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 1866 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 739 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,
SpellCastVisual  spellVisual,
ObjectGuid  cast_count,
SpellCastResult  result,
SpellCustomErrors  customError = SPELL_CUSTOM_ERROR_NONE,
int32 param1 = nullptr,
int32 param2 = nullptr 
)
static

Definition at line 4643 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,
int32 param1 = nullptr,
int32 param2 = nullptr 
) const

Definition at line 4601 of file Spell.cpp.

+ Here is the call graph for this function:

◆ SendChannelStart()

void Spell::SendChannelStart ( uint32  duration)

Definition at line 5215 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 5195 of file Spell.cpp.

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

◆ SendInterrupted()

void Spell::SendInterrupted ( uint8  result)

Definition at line 5176 of file Spell.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 4654 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,
int32 param1 = nullptr,
int32 param2 = nullptr 
) const

Definition at line 4626 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 5298 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 4210 of file Spell.cpp.

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

◆ SendSpellExecuteLog()

void Spell::SendSpellExecuteLog ( )

Definition at line 5056 of file Spell.cpp.

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

◆ SendSpellGo()

void Spell::SendSpellGo ( )

Definition at line 4778 of file Spell.cpp.

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

◆ SendSpellInterruptLog()

void Spell::SendSpellInterruptLog ( Unit victim,
uint32  spellId 
)

Definition at line 5107 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 4671 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 615 of file Spell.h.

◆ SetDelayStart()

void Spell::SetDelayStart ( uint64  m_time)
inline

Definition at line 634 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetExecutedCurrently()

void Spell::SetExecutedCurrently ( bool  yes)
inline

Definition at line 632 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetReferencedFromCurrent()

void Spell::SetReferencedFromCurrent ( bool  yes)
inline

Definition at line 630 of file Spell.h.

+ Here is the caller graph for this function:

◆ SetRuneState()

void Spell::SetRuneState ( uint8  value)
inline

Definition at line 641 of file Spell.h.

◆ SetSpellValue()

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

Definition at line 8566 of file Spell.cpp.

+ Here is the caller graph for this function:

◆ setState()

void Spell::setState ( uint32  state)
inline

Definition at line 515 of file Spell.h.

◆ SummonGuardian()

void Spell::SummonGuardian ( SpellEffectInfo const *  effect,
uint32  entry,
SummonPropertiesEntry const *  properties,
uint32  numSummons,
ObjectGuid  privateObjectOwner 
)
protected

Definition at line 4884 of file SpellEffects.cpp.

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

◆ TakeCastItem()

void Spell::TakeCastItem ( )

Definition at line 5320 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 5388 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 5505 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 5482 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 8968 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 4224 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 3357 of file Spell.cpp.

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

◆ UpdateDelayMomentForDst()

void Spell::UpdateDelayMomentForDst ( uint64  hitDelay)

Definition at line 879 of file Spell.cpp.

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

◆ UpdateDelayMomentForUnitTarget()

void Spell::UpdateDelayMomentForUnitTarget ( Unit unit,
uint64  hitDelay 
)

Definition at line 887 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 7971 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)
protected

Writes miss and hit targets for a SMSG_SPELL_GO packet.

Definition at line 4873 of file Spell.cpp.

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

◆ UpdateSpellHealPrediction()

void Spell::UpdateSpellHealPrediction ( WorldPackets::Spells::SpellHealPrediction healPrediction,
bool  withPeriodic 
)
protected

Definition at line 5024 of file Spell.cpp.

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

Friends And Related Function Documentation

◆ SpellScript

friend class SpellScript
friend

Definition at line 256 of file Spell.h.

Member Data Documentation

◆ _dynObjAura

DynObjAura* Spell::_dynObjAura
protected

Definition at line 745 of file Spell.h.

◆ _executeLogEffects

std::vector<SpellLogEffect> Spell::_executeLogEffects
protected

Definition at line 929 of file Spell.h.

◆ _spellAura

UnitAura* Spell::_spellAura
protected

Definition at line 744 of file Spell.h.

◆ _spellEvent

SpellEvent* Spell::_spellEvent
protected

Definition at line 918 of file Spell.h.

◆ _triggeredCastFlags

TriggerCastFlags Spell::_triggeredCastFlags
protected

Definition at line 919 of file Spell.h.

◆ AbilityId

uint32 Spell::AbilityId

Definition at line 591 of file Spell.h.

◆ damage

int32 Spell::damage
protected

Definition at line 737 of file Spell.h.

◆ Data

uint32 Spell::Data[2]

Definition at line 602 of file Spell.h.

◆ destTarget

WorldLocation* Spell::destTarget
protected

Definition at line 736 of file Spell.h.

◆ effectHandleMode

SpellEffectHandleMode Spell::effectHandleMode
protected

Definition at line 740 of file Spell.h.

◆ effectInfo

SpellEffectInfo const* Spell::effectInfo
protected

Definition at line 741 of file Spell.h.

◆ focusObject

GameObject* Spell::focusObject
protected

Definition at line 748 of file Spell.h.

◆ gameObjTarget

GameObject* Spell::gameObjTarget
protected

Definition at line 734 of file Spell.h.

◆ 

struct { ... } Spell::GarrFollower

◆ GarrMissionId

uint32 Spell::GarrMissionId

Definition at line 595 of file Spell.h.

◆ Id

uint32 Spell::Id

Definition at line 590 of file Spell.h.

◆ ItemId

uint32 Spell::ItemId

Definition at line 598 of file Spell.h.

◆ itemTarget

Item* Spell::itemTarget
protected

Definition at line 733 of file Spell.h.

◆ m_appliedMods

UsedSpellMods Spell::m_appliedMods

Definition at line 610 of file Spell.h.

◆ m_applyMultiplierMask

uint32 Spell::m_applyMultiplierMask
protected

Definition at line 728 of file Spell.h.

◆ m_attackType

WeaponAttackType Spell::m_attackType
protected

Definition at line 700 of file Spell.h.

◆ m_autoRepeat

bool Spell::m_autoRepeat
protected

Definition at line 706 of file Spell.h.

◆ m_canReflect

bool Spell::m_canReflect
protected

Definition at line 705 of file Spell.h.

◆ m_caster

WorldObject* const Spell::m_caster
protected

Definition at line 690 of file Spell.h.

◆ m_castFlagsEx

uint32 Spell::m_castFlagsEx

Definition at line 571 of file Spell.h.

◆ m_castId

ObjectGuid Spell::m_castId

Definition at line 568 of file Spell.h.

◆ m_CastItem

Item* Spell::m_CastItem

Definition at line 564 of file Spell.h.

◆ m_castItemEntry

uint32 Spell::m_castItemEntry

Definition at line 566 of file Spell.h.

◆ m_castItemGUID

ObjectGuid Spell::m_castItemGUID

Definition at line 565 of file Spell.h.

◆ m_castItemLevel

int32 Spell::m_castItemLevel

Definition at line 567 of file Spell.h.

◆ m_casttime

int32 Spell::m_casttime
protected

Definition at line 703 of file Spell.h.

◆ m_channeledDuration

int32 Spell::m_channeledDuration
protected

Definition at line 704 of file Spell.h.

◆ m_channelTargetEffectMask

uint32 Spell::m_channelTargetEffectMask
protected

Definition at line 809 of file Spell.h.

◆ m_corpseTarget

Corpse* Spell::m_corpseTarget
protected

Definition at line 735 of file Spell.h.

◆ m_customArg

std::any Spell::m_customArg

Definition at line 605 of file Spell.h.

◆ m_customError

SpellCustomErrors Spell::m_customError

Definition at line 608 of file Spell.h.

◆ m_damage

int32 Spell::m_damage
protected

Definition at line 751 of file Spell.h.

◆ m_damageMultipliers

float Spell::m_damageMultipliers[MAX_SPELL_EFFECTS]
protected

Definition at line 729 of file Spell.h.

◆ m_delayAtDamageCount

uint8 Spell::m_delayAtDamageCount
protected

Definition at line 709 of file Spell.h.

◆ m_delayMoment

uint64 Spell::m_delayMoment
protected

Definition at line 721 of file Spell.h.

◆ m_delayStart

uint64 Spell::m_delayStart
protected

Definition at line 720 of file Spell.h.

◆ m_destTargets

SpellDestination Spell::m_destTargets[MAX_SPELL_EFFECTS]
protected

Definition at line 840 of file Spell.h.

◆ m_executedCurrently

bool Spell::m_executedCurrently
protected

Definition at line 727 of file Spell.h.

◆ m_fromClient

bool Spell::m_fromClient

Definition at line 570 of file Spell.h.

◆ m_healing

int32 Spell::m_healing
protected

Definition at line 752 of file Spell.h.

◆ m_hitMask

ProcFlagsHit Spell::m_hitMask
protected

Definition at line 759 of file Spell.h.

◆ m_hitTriggerSpells

HitTriggerSpellList Spell::m_hitTriggerSpells
protected

Definition at line 902 of file Spell.h.

◆ m_immediateHandled

bool Spell::m_immediateHandled
protected

Definition at line 723 of file Spell.h.

◆ m_launchHandled

bool Spell::m_launchHandled
protected

Definition at line 722 of file Spell.h.

◆ m_loadedScripts

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

Definition at line 886 of file Spell.h.

◆ 

union { ... } Spell::m_misc

◆ m_originalCaster

Unit* Spell::m_originalCaster
protected

Definition at line 696 of file Spell.h.

◆ m_originalCasterGUID

ObjectGuid Spell::m_originalCasterGUID
protected

Definition at line 694 of file Spell.h.

◆ m_originalCastId

ObjectGuid Spell::m_originalCastId

Definition at line 569 of file Spell.h.

◆ m_powerCost

std::vector<SpellPowerCost> Spell::m_powerCost
protected

Definition at line 702 of file Spell.h.

◆ m_preGeneratedPath

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

Definition at line 927 of file Spell.h.

◆ m_procAttacker

ProcFlagsInit Spell::m_procAttacker
protected

Definition at line 757 of file Spell.h.

◆ m_procChainLength

int32 Spell::m_procChainLength
protected

Definition at line 925 of file Spell.h.

◆ m_procSpellType

ProcFlagsSpellType Spell::m_procSpellType
protected

Definition at line 760 of file Spell.h.

◆ m_procVictim

ProcFlagsInit Spell::m_procVictim
protected

Definition at line 758 of file Spell.h.

◆ m_referencedFromCurrentSpell

bool Spell::m_referencedFromCurrentSpell
protected

Definition at line 726 of file Spell.h.

◆ m_runesState

uint8 Spell::m_runesState
protected

Definition at line 707 of file Spell.h.

◆ m_selfContainer

Spell** Spell::m_selfContainer

Definition at line 662 of file Spell.h.

◆ m_spellInfo

SpellInfo const* const Spell::m_spellInfo

Definition at line 563 of file Spell.h.

◆ m_spellSchoolMask

SpellSchoolMask Spell::m_spellSchoolMask
protected

Definition at line 699 of file Spell.h.

◆ m_spellState

uint32 Spell::m_spellState
protected

Definition at line 915 of file Spell.h.

◆ m_spellValue

SpellValue* const Spell::m_spellValue
protected

Definition at line 692 of file Spell.h.

◆ m_SpellVisual

SpellCastVisual Spell::m_SpellVisual

Definition at line 606 of file Spell.h.

◆ m_targets

SpellCastTargets Spell::m_targets

Definition at line 607 of file Spell.h.

◆ m_timer

int32 Spell::m_timer
protected

Definition at line 916 of file Spell.h.

◆ m_triggeredByAuraSpell

SpellInfo const* Spell::m_triggeredByAuraSpell
protected

Definition at line 924 of file Spell.h.

◆ m_UniqueCorpseTargetInfo

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

Definition at line 835 of file Spell.h.

◆ m_UniqueGOTargetInfo

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

Definition at line 818 of file Spell.h.

◆ m_UniqueItemInfo

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

Definition at line 826 of file Spell.h.

◆ m_UniqueTargetInfo

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

Definition at line 808 of file Spell.h.

◆ 

struct { ... } Spell::Raw

◆ SpecializationId

uint32 Spell::SpecializationId

Definition at line 581 of file Spell.h.

◆ SpellId

uint32 Spell::SpellId

Definition at line 578 of file Spell.h.

◆ TalentId

uint32 Spell::TalentId

Definition at line 575 of file Spell.h.

◆ targetMissInfo

SpellMissInfo Spell::targetMissInfo
protected

Definition at line 738 of file Spell.h.

◆ unitTarget

Unit* Spell::unitTarget
protected

Definition at line 732 of file Spell.h.

◆ variance

float Spell::variance
protected

Definition at line 739 of file Spell.h.


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