diff options
-rw-r--r-- | sql/updates/world/2013_06_12_01_world_misc.sql | 13 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_quest.cpp | 42 |
3 files changed, 55 insertions, 4 deletions
diff --git a/sql/updates/world/2013_06_12_01_world_misc.sql b/sql/updates/world/2013_06_12_01_world_misc.sql new file mode 100644 index 00000000000..c7b84d811e2 --- /dev/null +++ b/sql/updates/world/2013_06_12_01_world_misc.sql @@ -0,0 +1,13 @@ +-- Fix quest: Badlands Reagent Run II (2203) + +UPDATE `item_loot_template` SET `mincountOrRef`=3, `maxcount`=3 WHERE `item`=7866; + +DELETE FROM `item_loot_template` WHERE `item`=7866 AND `entry`=16883; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=9712; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,9712,0,31,3,2726,0,0,'','Spell Thaumaturgy Channel targets Scorched Guardian'); + +DELETE FROM `spell_script_names` WHERE `spell_id`=9712; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(9712,'spell_q2203_thaumaturgy_channel'); 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(); |