From 0cce85e46eb93185c168d72dc5d5e8877ee7986e Mon Sep 17 00:00:00 2001 From: Xfurry Date: Fri, 13 Jul 2012 00:30:30 +0200 Subject: [PATCH] [12034] Implement a bunch of spells * Target Limitations for: 70450 70837 71445 71471 71837 71861 * DummyEffects for: 71445 71471, 71718, 72040, 71837, 71861, 72261 * ScriptEffect for: 71806 --- src/game/Spell.cpp | 10 ++++++-- src/game/SpellEffects.cpp | 50 +++++++++++++++++++++++++++++++++++++++ src/shared/revision_nr.h | 2 +- 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index d54514a91..9cdfa48f8 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1602,18 +1602,19 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case 47669: // Awaken Subboss case 48278: // Paralyze (Utgarde Pinnacle) case 50988: // Glare of the Tribunal (Halls of Stone) + case 51146: // Searching Gaze (Halls Of Stone) case 54148: // Ritual of the Sword (Utgarde Pinnacle, Svala) case 55479: // Forced Obedience (Naxxramas, Razovius) case 56140: // Summon Power Spark (Eye of Eternity, Malygos) case 59870: // Glare of the Tribunal (h) (Halls of Stone) case 62016: // Charge Orb (Ulduar, Thorim) + case 62042: // Stormhammer (Ulduar, Thorim) case 62301: // Cosmic Smash (Ulduar, Algalon) case 62488: // Activate Construct (Ulduar, Ignis) case 63018: // Searing Light case 63024: // Gravity Bomb (Ulduar, XT-002) case 63387: // Rapid Burst case 63795: // Psychosis (Ulduar, Yogg-Saron) - case 62042: // Stormhammer (Ulduar, Thorim) case 64218: // Overcharge case 64234: // Gravity Bomb (h) (Ulduar, XT-002) case 64531: // Rapid Burst (h) @@ -1638,13 +1639,18 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case 69048: // Mirrored Soul (FoS) case 69140: // Coldflame (ICC, Marrowgar) case 69674: // Mutated Infection (ICC, Rotface) + case 70450: // Blood Mirror + case 70837: // Blood Mirror case 70882: // Slime Spray Summon Trigger (ICC, Rotface) case 70920: // Unbound Plague Search Effect (ICC, Putricide) case 71224: // Mutated Infection (Mode 1) + case 71445: // Twilight Bloodbolt + case 71471: // Twilight Bloodbolt + case 71837: // Vampiric Bite + case 71861: // Swarming Shadows case 72091: // Frozen Orb (Vault of Archavon, Toravon) case 73022: // Mutated Infection (Mode 2) case 73023: // Mutated Infection (Mode 3) - case 51146: // Searching Gaze (Halls Of Stone) unMaxTargets = 1; break; case 28542: // Life Drain diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 6bf03d023..8980f24be 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2581,6 +2581,48 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) unitTarget->CastSpell(m_caster, 69956, true); return; } + case 71445: // Twilight Bloodbolt + case 71471: // Twilight Bloodbolt + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + m_caster->CastSpell(unitTarget, 71818, true); + return; + } + case 71718: // Conjure Flame + case 72040: // Conjure Empowered Flame + { + if (!unitTarget) + return; + + m_caster->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true); + return; + } + case 71837: // Vampiric Bite + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + m_caster->CastSpell(unitTarget, 71726, true); + return; + } + case 71861: // Swarming Shadows + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + m_caster->CastSpell(unitTarget, 71264, true); + return; + } + case 72261: // Delirious Slash + { + if (!unitTarget) + return; + + m_caster->CastSpell(unitTarget, m_caster->CanReachWithMeleeAttack(unitTarget) ? 71623 : 72264, true); + return; + } } break; } @@ -7830,6 +7872,14 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) m_caster->CastSpell(unitTarget, 72588, true); return; } + case 71806: // Glittering Sparks + { + if (!unitTarget) + return; + + m_caster->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true); + return; + } case 72034: // Whiteout case 72096: // Whiteout (heroic) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 6b07d5ed7..9994376ea 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12033" + #define REVISION_NR "12034" #endif // __REVISION_NR_H__