diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-02-15 22:45:30 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-02-15 22:45:30 +0100 |
commit | 6d1e4839a1122994dffaf93d11b2702f1ab16135 (patch) | |
tree | 370fc380f52edcf43d1af4d5de7dcda4919f2759 | |
parent | c695943a37436e70598c5dbfe43d9f11816e1a70 (diff) |
Scripts/Icecrown Citadel: Fixed Sindragosa's Icy Grip
Closes #629
5 files changed, 41 insertions, 1 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 454a0adff74..21f4032ecab 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -18176,7 +18176,6 @@ INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment ( 71479, 71482, 1, 'Blood-Queen: Bloodbolt Splash'), ( 71480, 71483, 1, 'Blood-Queen: Bloodbolt Splash'), ( 71952, 70995, 1, 'Blood-Queen: Presence of the Darkfallen'), -( 70117, 70122, 1, 'Sindragosa - Icy Grip'), ( 70157, 69700, 2, 'Sindragosa - Ice Tomb resistance'), -- Isle of Conquest ( 66548, 66550, 0, 'Isle of Conquest (IN>OUT)'), diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index 8bb02cc045b..068994db9db 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -2018,6 +2018,7 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( 72528, 'spell_sindragosa_collision_filter'), ( 72529, 'spell_sindragosa_collision_filter'), ( 72530, 'spell_sindragosa_collision_filter'), +( 70117, 'spell_sindragosa_icy_grip'), -- Isle of Conquest ( 66630, 'spell_gen_gunship_portal'), ( 66637, 'spell_gen_gunship_portal'), diff --git a/sql/updates/world/2011_02_15_4_world_spell_linked_spell.sql b/sql/updates/world/2011_02_15_4_world_spell_linked_spell.sql new file mode 100644 index 00000000000..41cfff3fab9 --- /dev/null +++ b/sql/updates/world/2011_02_15_4_world_spell_linked_spell.sql @@ -0,0 +1 @@ +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=70117; diff --git a/sql/updates/world/2011_02_15_4_world_spell_script_names.sql b/sql/updates/world/2011_02_15_4_world_spell_script_names.sql new file mode 100644 index 00000000000..c066aad3b8b --- /dev/null +++ b/sql/updates/world/2011_02_15_4_world_spell_script_names.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_sindragosa_icy_grip'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(70117,'spell_sindragosa_icy_grip'); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 841b0d25bcd..8cbfbd895c5 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -52,6 +52,7 @@ enum Spells SPELL_UNCHAINED_MAGIC = 69762, SPELL_BACKLASH = 69770, SPELL_ICY_GRIP = 70117, + SPELL_ICY_GRIP_JUMP = 70122, SPELL_BLISTERING_COLD = 70123, SPELL_FROST_BEACON = 70126, SPELL_ICE_TOMB_TARGET = 69712, @@ -1214,6 +1215,40 @@ class spell_sindragosa_collision_filter : public SpellScriptLoader } }; +class spell_sindragosa_icy_grip : public SpellScriptLoader +{ + public: + spell_sindragosa_icy_grip() : SpellScriptLoader("spell_sindragosa_icy_grip") { } + + class spell_sindragosa_icy_grip_SpellScript : public SpellScript + { + PrepareSpellScript(spell_sindragosa_icy_grip_SpellScript); + + bool Validate(SpellEntry const* /*spell*/) + { + if (!sSpellStore.LookupEntry(SPELL_ICY_GRIP_JUMP)) + return false; + return true; + } + + void HandleScript(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + GetHitUnit()->CastSpell(GetCaster(), SPELL_ICY_GRIP_JUMP, true); + } + + void Register() + { + OnEffect += SpellEffectFn(spell_sindragosa_icy_grip_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_sindragosa_icy_grip_SpellScript(); + } +}; + class spell_rimefang_icy_blast : public SpellScriptLoader { public: @@ -1471,6 +1506,7 @@ void AddSC_boss_sindragosa() new spell_sindragosa_frost_beacon(); new spell_sindragosa_ice_tomb(); new spell_sindragosa_collision_filter(); + new spell_sindragosa_icy_grip(); new spell_rimefang_icy_blast(); new spell_frostwarden_handler_order_whelp(); new spell_frostwarden_handler_focus_fire(); |