aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLopin <Lopin@TwinStar.cz>2011-05-08 17:34:51 +0200
committerLopin <Lopin@TwinStar.cz>2011-05-08 17:34:51 +0200
commit467eb062e346babec52a5a3b47cfa8a953697ffb (patch)
tree3a43f619d34863ec5244778adf7619e3e65136eb /src
parent55ccf1a52c1f05e958099acedbd65b9903c1d567 (diff)
Spells/Ulduar: Fixes spell Mark Of The Faceless in General Vezax's Encounter
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp1
-rw-r--r--src/server/scripts/Northrend/Ulduar/ulduar/boss_general_vezax.cpp36
2 files changed, 37 insertions, 0 deletions
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();
}