From c93c27d056234bfde756ae1c44c44cc5ac2913ad Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 16 Sep 2011 11:29:35 +0200 Subject: Scripts/Icecrown Citadel: * Mark of the Fallen Champion should be a debuff * Fixed periodic damage taken from Twisted Nightmare on heroic difficulties of Valithria Dreamwalker encounter --- src/server/game/Spells/SpellMgr.cpp | 3 ++ .../IcecrownCitadel/boss_valithria_dreamwalker.cpp | 33 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 3fb0cfd0f3b..a0098237e18 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2852,6 +2852,9 @@ void SpellMgr::LoadSpellCustomAttr() spellInfo->AttributesCu |= SPELL_ATTR0_CU_SHARE_DAMAGE; spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_ARMOR; break; + case 72293: // Mark of the Fallen Champion (Deathbringer Saurfang) + spellInfo->AttributesCu |= SPELL_ATTR0_CU_NEGATIVE_EFF0; + break; default: break; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index caa2f5758d2..535011b1199 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -1339,6 +1339,38 @@ class spell_dreamwalker_nightmare_cloud : public SpellScriptLoader } }; +class spell_dreamwalker_twisted_nightmares : public SpellScriptLoader +{ + public: + spell_dreamwalker_twisted_nightmares() : SpellScriptLoader("spell_dreamwalker_twisted_nightmares") { } + + class spell_dreamwalker_twisted_nightmares_SpellScript : public SpellScript + { + PrepareSpellScript(spell_dreamwalker_twisted_nightmares_SpellScript); + + void HandleScript(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + // impossible with TARGET_UNIT_CASTER + //if (!GetHitUnit()) + // return; + + if (InstanceScript* instance = GetHitUnit()->GetInstanceScript()) + GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, instance->GetData64(DATA_VALITHRIA_DREAMWALKER)); + } + + void Register() + { + OnEffect += SpellEffectFn(spell_dreamwalker_twisted_nightmares_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_FORCE_CAST); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_dreamwalker_twisted_nightmares_SpellScript(); + } +}; + class achievement_portal_jockey : public AchievementCriteriaScript { public: @@ -1369,5 +1401,6 @@ void AddSC_boss_valithria_dreamwalker() new spell_dreamwalker_summon_dream_portal(); new spell_dreamwalker_summon_nightmare_portal(); new spell_dreamwalker_nightmare_cloud(); + new spell_dreamwalker_twisted_nightmares(); new achievement_portal_jockey(); } -- cgit v1.2.3