diff options
-rw-r--r-- | sql/updates/world/3.3.5/9999_99_99_99_world.sql | 5 | ||||
-rw-r--r-- | src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp | 33 |
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(); } |