diff options
author | Pitcrawler <pitcrawler@server.fake> | 2013-06-12 21:15:17 +0200 |
---|---|---|
committer | Pitcrawler <pitcrawler@server.fake> | 2013-06-12 21:15:17 +0200 |
commit | 2f771d4950fd551eeca7d91a49c2dfd7fd48ec6f (patch) | |
tree | ef1620762c6e7cc41a4e402a6c8aeaefdb0ccbb7 /src | |
parent | 1dfda35221ab6cab8d4149d43fb06e0ea88e443e (diff) |
DB/Quests: Fix Badlands Reagent Run II, closes #9880
Thanks @joschiwald and @Kirkhammett
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_quest.cpp | 42 |
2 files changed, 42 insertions, 4 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 55a0736d16e..39b7fbe4ea4 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5517,10 +5517,6 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster) { switch (auraId) { - // Thaumaturgy Channel - case 9712: - triggerSpellId = 21029; - break; // Brood Affliction: Bronze case 23170: triggerSpellId = 23171; diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 51740cc7667..3940dec92e7 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -86,6 +86,47 @@ class spell_q55_sacred_cleansing : public SpellScriptLoader } }; +// 9712 - Thaumaturgy Channel +enum ThaumaturgyChannel +{ + SPELL_THAUMATURGY_CHANNEL = 21029 +}; + +class spell_q2203_thaumaturgy_channel : public SpellScriptLoader +{ + public: + spell_q2203_thaumaturgy_channel() : SpellScriptLoader("spell_q2203_thaumaturgy_channel") { } + + class spell_q2203_thaumaturgy_channel_AuraScript : public AuraScript + { + PrepareAuraScript(spell_q2203_thaumaturgy_channel_AuraScript); + + bool Validate(SpellInfo const* /*spellInfo*/) + { + if (!sSpellMgr->GetSpellInfo(SPELL_THAUMATURGY_CHANNEL)) + return false; + return true; + } + + void HandleEffectPeriodic(AuraEffect const* /*aurEff*/) + { + PreventDefaultAction(); + if (Unit* caster = GetCaster()) + caster->CastSpell(caster, SPELL_THAUMATURGY_CHANNEL, false); + } + + void Register() + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_q2203_thaumaturgy_channel_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_q2203_thaumaturgy_channel_AuraScript(); + } +}; + // http://www.wowhead.com/quest=5206 Marauders of Darrowshire // 17271 Test Fetid Skull enum Quest5206Data @@ -1674,6 +1715,7 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScriptLoader void AddSC_quest_spell_scripts() { new spell_q55_sacred_cleansing(); + new spell_q2203_thaumaturgy_channel(); new spell_q5206_test_fetid_skull(); new spell_q6124_6129_apply_salve(); new spell_q10255_administer_antidote(); |