399 damage =
int32(owner->SpellHealingBonusDone(target, triggeringSpell, damage,
HEAL));
403 AddPct(damage, dummy->GetAmount());
405 damage =
int32(target->SpellHealingBonusTaken(owner, triggeringSpell, damage,
HEAL));
603 AddPct(hitDamage, damage);
799 aura->SetCharges(std::min(aura->GetCharges() + 1, aurEff->
GetAmount()));
800 aura->RefreshDuration();
935 switch (player->GetTalentSpecialization(player->GetActiveSpec()))
953 switch (player->GetTalentSpecialization(player->GetActiveSpec()))
@ TALENT_TREE_SHAMAN_ELEMENTAL
@ TALENT_TREE_SHAMAN_RESTORATION
@ TALENT_TREE_SHAMAN_ENHANCEMENT
#define INVENTORY_SLOT_BAG_0
@ SPELL_EFFECT_KNOCK_BACK
@ TARGET_UNIT_CASTER_AREA_RAID
@ SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_PERIODIC_HEAL
#define SpellCheckCastFn(F)
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectCalcAmountFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraCheckProcFn(F)
T CalculatePct(T base, U pct)
virtual bool Validate(SpellInfo const *)
SpellInfo const * GetSpellInfo() const
void PreventDefaultAction()
SpellInfo const * GetSpellInfo() const
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
uint64 GetCasterGUID() const
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
void RemoveSpellCooldown(uint32 spell_id, bool update=false)
HealInfo * GetHealInfo() const
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
int32 CalcValue(Unit const *caster=NULL, int32 const *basePoints=NULL, Unit const *target=NULL) const
SpellEffectInfo Effects[MAX_SPELL_EFFECTS]
HookList< CheckCastHandler > OnCheckCast
HookList< HitHandler > AfterHit
HookList< HitHandler > OnHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
SpellInfo const * GetTriggeringSpell()
void SetHitDamage(int32 damage)
void SetHitHeal(int32 heal)
Unit * GetOriginalCaster()
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
SpellScriptLoader(const char *name)
void modifyThreatPercent(Unit *victim, int32 percent)
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)
uint32 SpellHealingBonusTaken(Unit *caster, SpellInfo const *spellProto, uint32 healamount, DamageEffectType damagetype, uint32 stack=1) 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)
ThreatManager & getThreatManager()
uint32 CountPctFromMaxHealth(int32 pct) const
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sha_ancestral_awakening_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_sha_ancestral_awakening_proc_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
spell_sha_ancestral_awakening_proc()
spell_sha_ancestral_awakening()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_sha_ascendance_SpellScript)
SpellCastResult CheckRequirement()
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_sha_bloodlust_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void RemoveInvalidTargets(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const OVERRIDE
void HandleHeal(SpellEffIndex)
PrepareSpellScript(spell_sha_chain_heal_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sha_earth_shield_AuraScript)
bool CheckProc(ProcEventInfo &)
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_sha_fire_nova_SpellScript)
void HandleDummy(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
bool CheckProc(ProcEventInfo &eventInfo)
PrepareAuraScript(spell_sha_glyph_of_healing_wave_AuraScript)
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
AuraScript * GetAuraScript() const OVERRIDE
spell_sha_glyph_of_healing_wave()
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
PrepareSpellScript(spell_sha_healing_stream_totem_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
spell_sha_healing_stream_totem()
PrepareSpellScript(spell_sha_heroism_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void RemoveInvalidTargets(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sha_item_lightning_shield_AuraScript)
void OnProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
void OnProc(AuraEffect const *aurEff, ProcEventInfo &)
PrepareAuraScript(spell_sha_item_lightning_shield_trigger_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
spell_sha_item_lightning_shield_trigger()
AuraScript * GetAuraScript() const OVERRIDE
spell_sha_item_lightning_shield()
AuraScript * GetAuraScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
void OnProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_sha_item_mana_surge_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_sha_item_mana_surge()
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_sha_lava_lash_SpellScript) bool Load() OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
PrepareAuraScript(spell_sha_lava_surge_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleEffectProc(AuraEffect const *, ProcEventInfo &)
void HandleDummy(SpellEffIndex)
PrepareSpellScript(spell_sha_lava_surge_proc_SpellScript) bool Validate(SpellInfo const *) OVERRIDE
SpellScript * GetSpellScript() const OVERRIDE
spell_sha_lava_surge_proc()
AuraScript * GetAuraScript() const OVERRIDE
PrepareAuraScript(spell_sha_mana_tide_totem_AuraScript)
void CalculateAmount(AuraEffect const *aurEff, int32 &amount, bool &)
AuraScript * GetAuraScript() const OVERRIDE
spell_sha_mana_tide_totem()
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
void OnProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
PrepareAuraScript(spell_sha_nature_guardian_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_sha_nature_guardian()
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sha_rolling_thunder_AuraScript)
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &)
spell_sha_rolling_thunder()
AuraScript * GetAuraScript() const OVERRIDE
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) OVERRIDE
PrepareAuraScript(spell_sha_telluric_currents_AuraScript)
spell_sha_telluric_currents()
AuraScript * GetAuraScript() const OVERRIDE
PrepareSpellScript(spell_sha_thunderstorm_SpellScript)
void HandleKnockBack(SpellEffIndex effIndex)
SpellScript * GetSpellScript() const OVERRIDE
bool Validate(SpellInfo const *) OVERRIDE
void HandleEffectProc(AuraEffect const *aurEff, ProcEventInfo &)
PrepareAuraScript(spell_sha_tidal_waves_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
@ SPELL_MAGE_TEMPORAL_DISPLACEMENT
void AddSC_shaman_spell_scripts()
@ SHAMAN_ICON_ID_SOOTHING_RAIN
@ SHAMAN_ICON_ID_SHAMAN_LAVA_FLOW
@ SPELL_SHAMAN_GLYPH_OF_HEALING_STREAM_TOTEM
@ SPELL_SHAMAN_NATURE_GUARDIAN
@ SPELL_SHAMAN_ASCENDANCE_RESTORATION
@ SPELL_SHAMAN_LAVA_SURGE
@ SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD
@ SPELL_SHAMAN_FLAME_SHOCK
@ SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD_DAMAGE
@ SPELL_SHAMAN_LIGHTNING_SHIELD
@ SPELL_SHAMAN_ANCESTRAL_AWAKENING
@ SPELL_SHAMAN_GLYPH_OF_THUNDERSTORM
@ SPELL_SHAMAN_GLYPH_OF_HEALING_WAVE
@ SPELL_MAGE_TEMPORAL_DISPLACEMENT
@ SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL
@ SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC
@ SPELL_SHAMAN_LAVA_BURST
@ SPELL_SHAMAN_EXHAUSTION
@ SPELL_SHAMAN_ASCENDANCE_ELEMENTAL
@ SPELL_SHAMAN_ASCENDANCE_ENHANCEMENT
@ SPELL_SHAMAN_EARTH_SHIELD_HEAL
@ SPELL_SHAMAN_TELLURIC_CURRENTS
@ SPELL_SHAMAN_FIRE_NOVA_TRIGGERED_R1
@ SPELL_SHAMAN_ITEM_MANA_SURGE
@ SPELL_SHAMAN_TIDAL_WAVES