aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Pet
diff options
context:
space:
mode:
authorDanVS <33371360+DanVS@users.noreply.github.com>2019-01-05 00:54:33 +0000
committerAokromes <Aokromes@users.noreply.github.com>2019-01-05 01:54:33 +0100
commit8051ff13dfcf3819b58adfcec1608c08dcbcd080 (patch)
treeeb9748ef4fcee4b45c6c419f4137d26f3c244d23 /src/server/scripts/Pet
parent030f5d54d015f42a09c731c81135ab791b528f1c (diff)
Core/Scripts: Move some spells to scripts (#22332)
Diffstat (limited to 'src/server/scripts/Pet')
-rw-r--r--src/server/scripts/Pet/pet_dk.cpp24
1 files changed, 24 insertions, 0 deletions
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);
}