220 absorb += aegis->GetAmount();
344 AddPct(amount, modHealing->GetAmount());
456 if (!firstRankSpellInfo)
460 if (!spellInfo->IsRankOf(firstRankSpellInfo))
463 uint8 rank = spellInfo->GetRank();
477 if (!unitTarget->IsAlive())
536 canBeRecalculated =
false;
540 float bonus = 0.8068f;
546 bonus *= caster->SpellBaseHealingBonusDone(
GetSpellInfo()->GetSchoolMask());
553 amount +=
int32(bonus);
580 int32 bp = bodyandsoul->GetAmount();
616 AddPct(heal, aurEff->GetAmount());
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TARGET_UNIT_DEST_AREA_ENEMY
@ TARGET_UNIT_CASTER_AREA_RAID
@ SPELL_FAILED_BAD_TARGETS
@ SPELL_AURA_MOD_SHAPESHIFT
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_MOD_HEALING_DONE_PERCENT
@ SPELL_AURA_PERIODIC_HEAL
@ SPELL_AURA_SCHOOL_ABSORB
@ AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK
#define SpellCheckCastFn(F)
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectAbsorbFn(F, I)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_FIELD_CHANNEL_OBJECT
T CalculatePct(T base, U pct)
int32 GetTotalTicks() const
uint32 GetEffIndex() const
void PreventDefaultAction()
HookList< EffectApplyHandler > AfterEffectRemove
SpellInfo const * GetSpellInfo() const
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectAbsorbHandler > AfterEffectAbsorb
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
HookList< EffectApplyHandler > OnEffectApply
Unit * GetAttacker() const
SpellInfo const * GetSpellInfo() const
HealInfo * GetHealInfo() const
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
void SetDst(float x, float y, float z, float orientation, uint32 mapId=MAPID_INVALID)
void SetUnitTarget(Unit *target)
Unit * GetExplTargetUnit()
HookList< CheckCastHandler > OnCheckCast
SpellInfo const * GetSpellInfo()
HookList< HitHandler > OnHit
HookList< EffectHandler > OnEffectHitTarget
WorldLocation * GetHitDest()
void SetHitHeal(int32 heal)
Unit * GetOriginalCaster()
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellScriptLoader(const char *name)
bool IsValidAttackTarget(Unit const *target) const
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
AuraEffect * GetAuraEffectOfRankedSpell(uint32 spellId, uint8 effIndex, uint64 casterGUID=0) const
uint32 SpellHealingBonusTaken(Unit *caster, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, uint32 stack=1) const
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, uint64 casterGUID=0) const
void CastCustomSpell(Unit *victim, uint32 spellId, int32 const *bp0, int32 const *bp1, int32 const *bp2, bool triggered, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
bool IsFriendlyTo(Unit const *unit) const
void RemoveMovementImpairingAuras()
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_pri_divine_aegis_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_pri_evangelism_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleEffectStackProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
AuraScript * GetAuraScript() const OVERRIDE
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_pri_flash_heal_SpellScript)
void HandleRemoveAura(SpellEffIndex)
SpellScript * GetSpellScript() const override
bool Validate(SpellInfo const *) override
void HandleRemoveAura(SpellEffIndex)
PrepareSpellScript(spell_pri_greater_heal_SpellScript)
SpellScript * GetSpellScript() const override
void OnProc(AuraEffect const *aurEff, ProcEventInfo &)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_pri_item_greater_heal_refund_AuraScript)
spell_pri_item_greater_heal_refund()
AuraScript * GetAuraScript() const OVERRIDE
void HandleEffectDummy(SpellEffIndex)
PrepareSpellScript(spell_pri_leap_of_faith_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
spell_pri_leap_of_faith()
PrepareAuraScript(spell_pri_lightwell_renew_AuraScript)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const OVERRIDE
spell_pri_lightwell_renew()
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &)
bool Validate(SpellInfo const *) OVERRIDE
bool CheckProc(ProcEventInfo &)
PrepareAuraScript(spell_pri_mana_leech_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_pri_mind_sear_SpellScript)
void FilterTargets(std::list< WorldObject * > &unitList)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *spellInfo) OVERRIDE
void HandleDummy(SpellEffIndex)
SpellCastResult CheckCast()
PrepareSpellScript(spell_pri_penance_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
void HandleOnEffectApply(AuraEffect const *aurEff, AuraEffectHandleModes)
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &canBeRecalculated)
void ReflectDamage(AuraEffect *aurEff, DamageInfo &dmgInfo, uint32 &absorbAmount)
PrepareAuraScript(spell_pri_power_word_shield_AuraScript)
spell_pri_power_word_shield()
AuraScript * GetAuraScript() const OVERRIDE
void HandleRemoveAura(SpellEffIndex)
PrepareSpellScript(spell_pri_prayer_of_healing_SpellScript)
bool Validate(SpellInfo const *) override
spell_pri_prayer_of_healing()
SpellScript * GetSpellScript() const override
void HandleHeal(SpellEffIndex)
PrepareSpellScript(spell_pri_prayer_of_mending_heal_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_pri_prayer_of_mending_heal()
void HandleApplyEffect(AuraEffect const *aurEff, AuraEffectHandleModes)
PrepareAuraScript(spell_pri_renew_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_pri_shadow_word_death_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_pri_shadow_word_death()
bool CheckProc(ProcEventInfo &eventInfo)
PrepareAuraScript(spell_pri_vampiric_embrace_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareSpellScript(spell_pri_vampiric_embrace_target_SpellScript)
void FilterTargets(std::list< WorldObject * > &unitList)
spell_pri_vampiric_embrace_target()
SpellScript * GetSpellScript() const OVERRIDE
spell_pri_vampiric_embrace()
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_pri_vampiric_touch_AuraScript)
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
spell_pri_vampiric_touch()
AuraScript * GetAuraScript() const OVERRIDE
@ SPELL_PRIEST_SHADOW_WORD_DEATH
void AddSC_priest_spell_scripts()
@ SPELL_GEN_REPLENISHMENT
@ SPELL_PRIEST_INNER_FOCUS
@ SPELL_PRIEST_BODY_AND_SOUL_PASSIVE
@ SPELL_PRIEST_GLYPH_OF_LIGHTWELL
@ SPELL_PRIEST_DIVINE_TOUCH
@ SPELL_PRIEST_REFLECTIVE_SHIELD_GLYPH
@ SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED
@ SPELL_PRIEST_BODY_AND_SOUL_SPEED
@ SPELL_PRIEST_SHADOWFORM_VISUAL_WITH_GLYPH
@ SPELL_PRIEST_DIVINE_AEGIS
@ SPELL_PRIEST_MANA_LEECH_PROC
@ SPELL_PRIEST_GLYPH_OF_SHADOW
@ SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL
@ SPELL_PRIEST_PENANCE_R1_DAMAGE
@ SPELL_PRIEST_WEAKENED_SOUL
@ SPELL_PRIEST_PENANCE_R1
@ SPELL_PRIEST_ITEM_EFFICIENCY
@ SPELL_PRIEST_SHADOW_WORD_DEATH
@ SPELL_PRIEST_EVANGELISM_PROC
@ SPELL_PRIEST_T9_HEALING_2P
@ SPELL_PRIEST_LEAP_OF_FAITH_EFFECT
@ SPELL_PRIEST_LEAP_OF_FAITH_GLYPH
@ SPELL_PRIEST_PENANCE_R1_HEAL
@ SPELL_PRIEST_SHADOWFORM_VISUAL_WITHOUT_GLYPH
@ PRIEST_ICON_ID_BORROWED_TIME
@ PRIEST_ICON_ID_PAIN_AND_SUFFERING
@ PRIEST_ICON_ID_DIVINE_TOUCH_TALENT
void GetPosition(float &x, float &y) const