diff options
| author | Malcrom <malcromdev@gmail.com> | 2013-12-05 13:04:11 -0330 |
|---|---|---|
| committer | Malcrom <malcromdev@gmail.com> | 2013-12-05 13:04:11 -0330 |
| commit | 621ba87917f2b7be25d490d0d6457d51e973edc5 (patch) | |
| tree | 0f930e7d917a160f3b30ec57011e9e0d21c49259 /src/server/scripts | |
| parent | dc1d1a684a89d8e75752694ed72b2e7c725c0e41 (diff) | |
Grizzly Hills/Scripting: Fix Quest 12244 "Shredder Repair" and 12270 "Shred the Alliance"
Closes #1942 #3754
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Northrend/zone_grizzly_hills.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 9ea3023de01..44f87930f59 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -20,6 +20,7 @@ #include "ScriptedCreature.h" #include "ScriptedEscortAI.h" #include "Player.h" +#include "Spell.h" #include "SpellInfo.h" #include "CreatureTextMgr.h" @@ -749,6 +750,43 @@ public: } }; +enum ShredderDelivery +{ + NPC_BROKEN_DOWN_SHREDDER = 27354 +}; + +class spell_shredder_delivery : public SpellScriptLoader +{ + public: + spell_shredder_delivery() : SpellScriptLoader("spell_shredder_delivery") { } + + class spell_shredder_delivery_SpellScript : public SpellScript + { + PrepareSpellScript(spell_shredder_delivery_SpellScript); + + bool Load() OVERRIDE + { + return GetCaster()->GetTypeId() == TYPEID_UNIT; + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + if (GetCaster()->ToCreature()->GetEntry() == NPC_BROKEN_DOWN_SHREDDER) + GetCaster()->ToCreature()->DespawnOrUnsummon(); + } + + void Register() OVERRIDE + { + OnEffectHitTarget += SpellEffectFn(spell_shredder_delivery_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const OVERRIDE + { + return new spell_shredder_delivery_SpellScript(); + } +}; + void AddSC_grizzly_hills() { new npc_emily(); @@ -759,4 +797,5 @@ void AddSC_grizzly_hills() new npc_wounded_skirmisher(); new npc_venture_co_straggler(); new npc_lake_frog(); + new spell_shredder_delivery(); } |
