From 8051ff13dfcf3819b58adfcec1608c08dcbcd080 Mon Sep 17 00:00:00 2001 From: DanVS <33371360+DanVS@users.noreply.github.com> Date: Sat, 5 Jan 2019 00:54:33 +0000 Subject: Core/Scripts: Move some spells to scripts (#22332) --- src/server/scripts/Pet/pet_dk.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/server/scripts/Pet') diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp index 5a59c324e92..751abdf9924 100644 --- a/src/server/scripts/Pet/pet_dk.cpp +++ b/src/server/scripts/Pet/pet_dk.cpp @@ -26,6 +26,7 @@ #include "GridNotifiersImpl.h" #include "MotionMaster.h" #include "ScriptedCreature.h" +#include "SpellScript.h" enum DeathKnightSpells { @@ -136,8 +137,31 @@ class npc_pet_dk_guardian : public CreatureScript } }; +class spell_pet_dk_gargoyle_strike : public SpellScript +{ + PrepareSpellScript(spell_pet_dk_gargoyle_strike); + + void HandleDamageCalc(SpellEffIndex /*effIndex*/) + { + int32 damage = 60; + if (Unit* caster = GetCaster()) + { + if (caster->getLevel() >= 60) + damage += (caster->getLevel() - 60) * 4; + } + + SetHitDamage(damage); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_pet_dk_gargoyle_strike::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + void AddSC_deathknight_pet_scripts() { new npc_pet_dk_ebon_gargoyle(); new npc_pet_dk_guardian(); + RegisterSpellScript(spell_pet_dk_gargoyle_strike); } -- cgit v1.2.3