aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/3.3.5/9999_99_99_99_world.sql5
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp33
2 files changed, 36 insertions, 2 deletions
diff --git a/sql/updates/world/3.3.5/9999_99_99_99_world.sql b/sql/updates/world/3.3.5/9999_99_99_99_world.sql
index 04ff155e12c..5eb742f0dcc 100644
--- a/sql/updates/world/3.3.5/9999_99_99_99_world.sql
+++ b/sql/updates/world/3.3.5/9999_99_99_99_world.sql
@@ -1,4 +1,4 @@
-DELETE FROM `spell_script_names` where `ScriptName` IN ('spell_jormungars_burning_spray','spell_jormungars_paralytic_spray','spell_jormungars_paralytic_toxin');
+DELETE FROM `spell_script_names` where `ScriptName` IN ('spell_jormungars_burning_spray','spell_jormungars_paralytic_spray','spell_jormungars_paralytic_toxin','spell_jormungars_paralysis');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(66902,'spell_jormungars_burning_spray'), -- Burning Spray 10m normal
(67627,'spell_jormungars_burning_spray'), -- Burning Spray 25m normal
@@ -11,7 +11,8 @@ INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(66823,'spell_jormungars_paralytic_toxin'), -- Paralytic Toxin 10m normal
(67618,'spell_jormungars_paralytic_toxin'), -- Paralytic Toxin 25m normal
(67619,'spell_jormungars_paralytic_toxin'), -- Paralytic Toxin 10m heroic
-(67620,'spell_jormungars_paralytic_toxin'); -- Paralytic Toxin 25m heroic
+(67620,'spell_jormungars_paralytic_toxin'), -- Paralytic Toxin 25m heroic
+(66830,'spell_jormungars_paralysis'); -- Paralysis
-- Acidmaw missing text
DELETE FROM `creature_text` where entry = 35144 AND groupid = 1;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
index 463f9e942c0..8b9e1ad53aa 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -1248,6 +1248,38 @@ private:
uint32 _spellId;
};
+class spell_jormungars_paralysis : public SpellScriptLoader
+{
+public:
+ spell_jormungars_paralysis() : SpellScriptLoader("spell_jormungars_paralysis") { }
+
+ class spell_jormungars_paralysis_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_jormungars_paralysis_AuraScript);
+
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* caster = GetCaster())
+ if (InstanceScript* instance = caster->GetInstanceScript())
+ if (instance->GetData(TYPE_NORTHREND_BEASTS) == SNAKES_IN_PROGRESS || instance->GetData(TYPE_NORTHREND_BEASTS) == SNAKES_SPECIAL)
+ return;
+
+ if (Unit* owner = GetUnitOwner())
+ owner->RemoveAurasDueToSpell(SPELL_PARALYSIS);
+ }
+
+ void Register()
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_jormungars_paralysis_AuraScript::OnApply, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const
+ {
+ return new spell_jormungars_paralysis_AuraScript();
+ }
+};
+
void AddSC_boss_northrend_beasts()
{
new boss_gormok();
@@ -1261,6 +1293,7 @@ void AddSC_boss_northrend_beasts()
new spell_jormungars_paralytic_toxin();
new spell_jormungars_snakes_spray("spell_jormungars_burning_spray", SPELL_BURNING_BILE);
new spell_jormungars_snakes_spray("spell_jormungars_paralytic_spray", SPELL_PARALYTIC_TOXIN);
+ new spell_jormungars_paralysis();
new boss_icehowl();
}