108 if (
Aura const* triggerAura =
GetCaster()->GetAura(triggeringSpell->Id))
109 pctMod *= triggerAura->GetStackAmount();
131 if (!targets.empty())
191 if (!uncontrolledDarkness)
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_DEST_AREA_ENEMY
@ SPELL_AURA_PROC_TRIGGER_SPELL
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraCheckEffectProcFn(F, I, N)
#define SpellCalcDamageFn(F)
#define AuraCheckProcFn(F)
#define AuraEnterLeaveCombatFn(F)
SpellEffectInfo const & GetSpellEffectInfo() const
void PreventDefaultAction()
HookList< CheckEffectProcHandler > DoCheckEffectProc
HookList< EnterLeaveCombatHandler > OnEnterLeaveCombat
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
SpellInfo const * GetSpellInfo() const
Script * GetScript() const
static ObjectGuid GetGUID(Object const *o)
Spell const * GetProcSpell() const
SpellInfo const * GetSpellInfo() const
Unit * GetProcTarget() const
SpellDestination const * GetDst() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
void RestoreCharge(uint32 chargeCategoryId)
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
bool HasLabel(uint32 labelId) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
HookList< DamageAndHealingCalcHandler > CalcDamage
void SetEffectValue(int32 value)
SpellInfo const * GetTriggeringSpell() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< EffectHandler > OnEffectLaunchTarget
Difficulty GetCastDifficulty() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellCastTargets m_targets
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
SpellHistory * GetSpellHistory()
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleProc(AuraEffect *aurEff, ProcEventInfo &procInfo)
bool Validate(SpellInfo const *) override
void FilterTargets(std::list< WorldObject * > &targets)
static constexpr uint32 SPELL_MAGE_SHIMMER
static constexpr uint32 SPELL_MAGE_BLINK
static constexpr uint32 SPELL_LABEL_DOOR_OF_SHADOWS
bool CheckProc(ProcEventInfo &procInfo)
bool CheckProc(ProcEventInfo &procInfo)
static constexpr uint32 SPELL_LABEL_FLESHCRAFT_BUFF
bool CheckProc(ProcEventInfo &procInfo)
static constexpr uint32 SPELL_LABEL_FLICKER
void HandleProc(AuraEffect *aurEff, ProcEventInfo &procInfo)
void SetValue(SpellEffIndex effIndex)
static constexpr uint32 SPELL_LABEL_SPIRITUAL_REJUVENATION_POTION
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &procInfo)
static constexpr uint32 SPELL_LABEL_REJUVENATING_SIPHONED_ESSENCE
static constexpr uint32 SPELL_LABEL_SOULSHAPE
bool CheckProc(ProcEventInfo &procInfo)
void ResetMarkedTargets(bool isNowInCombat)
bool CheckProc(AuraEffect const *, ProcEventInfo &procInfo)
std::unordered_set< ObjectGuid > _triggeredTargets
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &procInfo)
static constexpr uint32 SPELL_DOOR_OF_SHADOWS
void HandleProc(AuraEffect *aurEff, ProcEventInfo &procInfo)
static constexpr uint32 SPELL_UNCONTROLLED_DARKNESS
bool Validate(SpellInfo const *) override
static constexpr uint32 SPELL_UNCONTROLLED_DARKNESS_BUFF
void HandleProc(AuraEffect *, ProcEventInfo &)
void CalculateDamage(Unit const *, int32 &, int32 &, float &pctMod) const
void AddSC_torghast_spell_scripts()