diff options
author | Lopin <Lopin@TwinStar.cz> | 2011-05-08 17:42:02 +0200 |
---|---|---|
committer | Lopin <Lopin@TwinStar.cz> | 2011-05-08 17:42:02 +0200 |
commit | 86fdeac7829c46d16c42bb4265dd1fded43307ff (patch) | |
tree | 9fb606b5b26fd8989e13be9da03a754c3875e86b | |
parent | 467eb062e346babec52a5a3b47cfa8a953697ffb (diff) |
Spells/Ulduar: Fixes spell Shield Of Runes in Assembly Of Iron Encounter
-rw-r--r-- | sql/scripts/world_scripts_full.sql | 2 | ||||
-rw-r--r-- | sql/updates/world/2011_05_08_01_spell_script_names.sql | 5 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp | 34 |
3 files changed, 41 insertions, 0 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index 3a229fafdee..e12bd0153b8 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -2130,6 +2130,8 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( 64702, 'spell_ulduar_squeezed_lifeless'), ( 63027, 'spell_ulduar_proximity_mines'), ( 63276, 'spell_mark_of_the_faceless'), +( 63489, 'spell_shield_of_runes'), +( 62274, 'spell_shield_of_runes'), -- Eye Of Eternity ( 56105, 'spell_malygos_vortex_dummy'), ( 55873, 'spell_malygos_vortex_visual'), diff --git a/sql/updates/world/2011_05_08_01_spell_script_names.sql b/sql/updates/world/2011_05_08_01_spell_script_names.sql new file mode 100644 index 00000000000..17c82917f83 --- /dev/null +++ b/sql/updates/world/2011_05_08_01_spell_script_names.sql @@ -0,0 +1,5 @@ +DELETE `FROM spell_script_names` WHERE `spell_id` IN (63489,62274); +INSERT `INTO spell_script_names` +VALUES +(63489,'spell_shield_of_runes'), +(62274,'spell_shield_of_runes');
\ No newline at end of file diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp index ddf6858ff6d..5388bd47ad8 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp @@ -44,7 +44,9 @@ enum eSpells // Runemaster Molgeim SPELL_SHIELD_OF_RUNES = 62274, + SPELL_SHIELD_OF_RUNES_BUFF = 62277, SPELL_SHIELD_OF_RUNES_H = 63489, + SPELL_SHIELD_OF_RUNES_H_BUFF = 63967, SPELL_SUMMON_RUNE_OF_POWER = 63513, SPELL_RUNE_OF_POWER = 61974, SPELL_RUNE_OF_DEATH = 62269, @@ -731,6 +733,37 @@ public: }; +class spell_shield_of_runes : public SpellScriptLoader +{ + public: + spell_shield_of_runes() : SpellScriptLoader("spell_shield_of_runes") { } + + class spell_shield_of_runes_AuraScript : public AuraScript + { + PrepareAuraScript(spell_shield_of_runes_AuraScript); + + void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes mode) + { + Unit* caster = GetCaster(); + if (!caster) + return; + + if (mode != AURA_REMOVE_BY_EXPIRE) + caster->CastSpell(caster, SPELL_SHIELD_OF_RUNES_BUFF, false); + } + + void Register() + { + OnEffectRemove += AuraEffectRemoveFn(spell_shield_of_runes_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB, AURA_EFFECT_HANDLE_REAL); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_shield_of_runes_AuraScript(); + } +}; + void AddSC_boss_assembly_of_iron() { new boss_steelbreaker(); @@ -739,4 +772,5 @@ void AddSC_boss_assembly_of_iron() new mob_lightning_elemental(); new mob_rune_of_summoning(); new mob_rune_of_power(); + new spell_shield_of_runes(); } |