aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLopin <Lopin@TwinStar.cz>2011-05-08 17:42:02 +0200
committerLopin <Lopin@TwinStar.cz>2011-05-08 17:42:02 +0200
commit86fdeac7829c46d16c42bb4265dd1fded43307ff (patch)
tree9fb606b5b26fd8989e13be9da03a754c3875e86b
parent467eb062e346babec52a5a3b47cfa8a953697ffb (diff)
Spells/Ulduar: Fixes spell Shield Of Runes in Assembly Of Iron Encounter
-rw-r--r--sql/scripts/world_scripts_full.sql2
-rw-r--r--sql/updates/world/2011_05_08_01_spell_script_names.sql5
-rw-r--r--src/server/scripts/Northrend/Ulduar/ulduar/boss_assembly_of_iron.cpp34
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();
}