aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_04_01_00_world_spell_script_names.sql6
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp31
2 files changed, 37 insertions, 0 deletions
diff --git a/sql/updates/world/2012_04_01_00_world_spell_script_names.sql b/sql/updates/world/2012_04_01_00_world_spell_script_names.sql
new file mode 100644
index 00000000000..9d37f6ad4cb
--- /dev/null
+++ b/sql/updates/world/2012_04_01_00_world_spell_script_names.sql
@@ -0,0 +1,6 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_spinning_pain_spike';
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(66316,'spell_spinning_pain_spike'),
+(67100,'spell_spinning_pain_spike'),
+(67101,'spell_spinning_pain_spike'),
+(67102,'spell_spinning_pain_spike');
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
index a7328b43826..6f817a6d0eb 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -515,6 +515,36 @@ public:
};
+class spell_spinning_pain_spike : public SpellScriptLoader
+{
+ public:
+ spell_spinning_pain_spike() : SpellScriptLoader("spell_spinning_pain_spike") {}
+
+ class spell_spinning_pain_spike_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_spinning_pain_spike_SpellScript);
+
+ void HandleScript(SpellEffIndex /*eff*/)
+ {
+ Unit* target = GetHitUnit();
+ if (!target)
+ return;
+
+ if (target->isAlive())
+ SetHitDamage(target->CountPctFromMaxHealth(50));
+ }
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_spinning_pain_spike_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_spinning_pain_spike_SpellScript();
+ }
+};
+
void AddSC_boss_jaraxxus()
{
new boss_jaraxxus();
@@ -523,4 +553,5 @@ void AddSC_boss_jaraxxus()
new mob_fel_infernal();
new mob_nether_portal();
new mob_mistress_of_pain();
+ new spell_spinning_pain_spike();
}