diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-09-16 11:29:35 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-09-16 11:29:35 +0200 |
commit | c93c27d056234bfde756ae1c44c44cc5ac2913ad (patch) | |
tree | bf5650021f171b9460503b5b5fe94ca011cf6c86 | |
parent | 6c943bfb084e55cdf29cf0003e54db332dab487b (diff) |
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
3 files changed, 39 insertions, 0 deletions
diff --git a/sql/updates/world/2011_09_16_00_world_spell_script_names.sql b/sql/updates/world/2011_09_16_00_world_spell_script_names.sql new file mode 100644 index 00000000000..98f268ec74f --- /dev/null +++ b/sql/updates/world/2011_09_16_00_world_spell_script_names.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_dreamwalker_twisted_nightmares'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(71941, 'spell_dreamwalker_twisted_nightmares'); 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(); } |