Core/Spells: fixed Echo of Light mastery

This commit is contained in:
Ovah
2017-11-30 13:07:53 +00:00
committed by Aokromes
parent e6b08bfad1
commit 4fdf939637
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
--
DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_pri_echo_of_light';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(77485, 'spell_pri_echo_of_light');
DELETE FROM `spell_proc` WHERE `SpellID`= 77485;
INSERT INTO `spell_proc` (`SpellID`, `SpellFamilyName`, `SpellFamilyMask0`, `ProcFlags`, `SpellTypeMask`, `SpellPhaseMask`, `HitMask`, `AttributesMask`) VALUES
(77485, 6, 0, 0x00004000, 2, 2, 0, 0x0000020);

View File

@@ -37,6 +37,7 @@ enum PriestSpells
SPELL_PRIEST_DISPEL_MAGIC_HOSTILE = 97691,
SPELL_PRIEST_DIVINE_AEGIS = 47753,
SPELL_PRIEST_DIVINE_TOUCH = 63544,
SPELL_PRIEST_ECHO_OF_LIGHT = 77489,
SPELL_PRIEST_GLYPH_OF_CIRCLE_OF_HEALING = 55675,
SPELL_PRIEST_GLYPH_OF_DISPEL_MAGIC = 55677,
SPELL_PRIEST_GLYPH_OF_DISPEL_MAGIC_HEAL = 56131,
@@ -1247,6 +1248,47 @@ class spell_pri_vampiric_touch : public SpellScriptLoader
}
};
class spell_pri_echo_of_light : public SpellScriptLoader
{
public:
spell_pri_echo_of_light() : SpellScriptLoader("spell_pri_echo_of_light") { }
class spell_pri_echo_of_light_AuraScript : public AuraScript
{
PrepareAuraScript(spell_pri_echo_of_light_AuraScript);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_PRIEST_ECHO_OF_LIGHT });
}
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
if (Unit* caster = GetCaster())
{
if (Unit* target = eventInfo.GetProcTarget())
{
uint32 healAmount = CalculatePct(eventInfo.GetHealInfo()->GetHeal(), aurEff->GetAmount());
uint8 tickNumber = sSpellMgr->GetSpellInfo(SPELL_PRIEST_ECHO_OF_LIGHT)->GetMaxTicks();
if (healAmount && tickNumber)
caster->CastCustomSpell(SPELL_PRIEST_ECHO_OF_LIGHT, SPELLVALUE_BASE_POINT0, healAmount / tickNumber, target, true, NULL, aurEff);
}
}
}
void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pri_echo_of_light_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
AuraScript* GetAuraScript() const override
{
return new spell_pri_echo_of_light_AuraScript();
}
};
void AddSC_priest_spell_scripts()
{
new spell_pri_body_and_soul();
@@ -1254,6 +1296,7 @@ void AddSC_priest_spell_scripts()
new spell_pri_dispel_magic();
new spell_pri_divine_aegis();
new spell_pri_divine_hymn();
new spell_pri_echo_of_light();
new spell_pri_glyph_of_prayer_of_healing();
new spell_pri_hymn_of_hope();
new spell_pri_improved_power_word_shield();