diff options
author | Lopin <Lopin@TwinStar.cz> | 2011-05-08 17:34:51 +0200 |
---|---|---|
committer | Lopin <Lopin@TwinStar.cz> | 2011-05-08 17:34:51 +0200 |
commit | 467eb062e346babec52a5a3b47cfa8a953697ffb (patch) | |
tree | 3a43f619d34863ec5244778adf7619e3e65136eb | |
parent | 55ccf1a52c1f05e958099acedbd65b9903c1d567 (diff) |
Spells/Ulduar: Fixes spell Mark Of The Faceless in General Vezax's Encounter
-rw-r--r-- | sql/scripts/world_scripts_full.sql | 1 | ||||
-rw-r--r-- | sql/updates/world/2011_05_08_00_spell_script_names.sql | 4 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 1 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp | 36 |
4 files changed, 42 insertions, 0 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index bad41ed0452..3a229fafdee 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -2129,6 +2129,7 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( 63981, 'spell_ulduar_stone_grip_cast_target'), ( 64702, 'spell_ulduar_squeezed_lifeless'), ( 63027, 'spell_ulduar_proximity_mines'), +( 63276, 'spell_mark_of_the_faceless'), -- Eye Of Eternity ( 56105, 'spell_malygos_vortex_dummy'), ( 55873, 'spell_malygos_vortex_visual'), diff --git a/sql/updates/world/2011_05_08_00_spell_script_names.sql b/sql/updates/world/2011_05_08_00_spell_script_names.sql new file mode 100644 index 00000000000..92908028ab2 --- /dev/null +++ b/sql/updates/world/2011_05_08_00_spell_script_names.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_script_names` WHERE `spell_id`=63276; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) +VALUES +(63276,'spell_mark_of_the_faceless'); diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index b9127319149..d5e736c7900 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3927,6 +3927,7 @@ void SpellMgr::LoadSpellCustomAttr() case 67860: // Impale case 69293: // Wing Buffet case 74439: // Machine Gun + case 63278: // Mark of the Faceless mSpellCustomAttr[i] |= SPELL_ATTR0_CU_IGNORE_ARMOR; ++count; break; diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp index ed8fe571241..0b724a54472 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp @@ -41,6 +41,7 @@ enum eSpells { SPELL_AURA_OF_DESPAIR = 62692, SPELL_MARK_OF_THE_FACELESS = 63276, + SPELL_MARK_OF_THE_FACELESS_DAMAGE = 63278, SPELL_SARONITE_BARRIER = 63364, SPELL_SEARING_FLAMES = 62661, SPELL_SHADOW_CRASH = 62660, @@ -408,9 +409,44 @@ public: }; }; +class spell_mark_of_the_faceless : public SpellScriptLoader +{ + public: + spell_mark_of_the_faceless() : SpellScriptLoader("spell_mark_of_the_faceless") { } + + class spell_mark_of_the_faceless_AuraScript : public AuraScript + { + PrepareAuraScript(spell_mark_of_the_faceless_AuraScript); + + void HandleEffectPeriodic(AuraEffect const* aurEff) + { + Unit* target = GetTarget(); + Unit* caster = GetCaster(); + + if (!caster || !target) + return; + + // Casted by CastCustomSpell() because when it's cast by CastSpell(), damage is 1 + int32 damage = int32(aurEff->GetBase()->GetEffect(EFFECT_0)->GetAmount()); + caster->CastCustomSpell(SPELL_MARK_OF_THE_FACELESS_DAMAGE, SPELLVALUE_BASE_POINT1, damage, target, true); + } + + void Register() + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_mark_of_the_faceless_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_mark_of_the_faceless_AuraScript(); + } +}; + void AddSC_boss_general_vezax() { new boss_general_vezax(); new boss_saronite_animus(); new npc_saronite_vapors(); + new spell_mark_of_the_faceless(); } |