diff options
author | Gacko <gacko28@gmx.de> | 2013-01-13 14:30:35 +0100 |
---|---|---|
committer | Gacko <gacko28@gmx.de> | 2013-01-13 14:59:51 +0100 |
commit | 3a32c76de936f2e85ef1cd595283e00055fe8fc6 (patch) | |
tree | e641703d014c771d876b34f0a4097c1197d3068a /src | |
parent | d77904e0af2b9a15013efc383b1ad121b2a5922e (diff) |
Core/DB: Gluttonous Lurkers
Solves #1249
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/zone_zuldrak.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index 69e8d900435..1d53d229992 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -21,6 +21,7 @@ #include "ScriptedEscortAI.h" #include "Player.h" #include "SpellInfo.h" +#include "SpellScript.h" /*#### ## npc_drakuru_shackles @@ -1413,6 +1414,49 @@ public: } }; +enum SpellZuldrakRat +{ + SPELL_SUMMON_GORGED_LURKING_BASILISK = 50928 +}; + +class spell_zuldrak_rat : public SpellScriptLoader +{ + public: + spell_zuldrak_rat() : SpellScriptLoader("spell_zuldrak_rat") { } + + class spell_zuldrak_rat_SpellScript : public SpellScript + { + PrepareSpellScript(spell_zuldrak_rat_SpellScript); + + bool Validate(SpellInfo const* /*spell*/) + { + if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_GORGED_LURKING_BASILISK)) + return false; + return true; + } + + void HandleScriptEffect(SpellEffIndex /* effIndex */) + { + if (GetHitAura() && GetHitAura()->GetStackAmount() >= GetSpellInfo()->StackAmount) + { + GetHitUnit()->CastSpell((Unit*) NULL, SPELL_SUMMON_GORGED_LURKING_BASILISK, true); + if (Creature* basilisk = GetHitUnit()->ToCreature()) + basilisk->DespawnOrUnsummon(); + } + } + + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_zuldrak_rat_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_zuldrak_rat_SpellScript(); + } +}; + void AddSC_zuldrak() { new npc_drakuru_shackles; @@ -1428,4 +1472,5 @@ void AddSC_zuldrak() new npc_elemental_lord; new npc_fiend_elemental; new go_scourge_enclosure; + new spell_zuldrak_rat(); } |