diff options
author | Supabad <supabad.trinity@gmail.com> | 2011-04-05 16:03:03 +0200 |
---|---|---|
committer | leak <leakzx@googlemail.com> | 2011-04-06 11:36:02 +0200 |
commit | 364bb162c33275d3446d63eb39210c1513f0216f (patch) | |
tree | 8b4ae57193e4f8f5140614b94e957e6f0487b752 /src | |
parent | e79c8a389b6f5add6d55751986fb8e15bc81ce87 (diff) |
Scripts/BloodmystIsle: Add core support for quest 9667
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Kalimdor/bloodmyst_isle.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/server/scripts/Kalimdor/bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/bloodmyst_isle.cpp index 8da1167808d..74fd2c27715 100644 --- a/src/server/scripts/Kalimdor/bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/bloodmyst_isle.cpp @@ -149,8 +149,66 @@ public: }; +/*###### +## Quest 9667: Saving Princess Stillpine +######*/ + +enum eStillpine +{ + QUEST_SAVING_PRINCESS_STILLPINE = 9667, + NPC_PRINCESS_STILLPINE = 17682, + GO_PRINCESS_STILLPINES_CAGE = 181928, + SPELL_OPENING_PRINCESS_STILLPINE_CREDIT = 31003, + SAY_DIRECTION = -1800074 +}; + +class go_princess_stillpines_cage : public GameObjectScript +{ +public: + go_princess_stillpines_cage() : GameObjectScript("go_princess_stillpines_cage") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (Creature* stillpine = go->FindNearestCreature(NPC_PRINCESS_STILLPINE, 25, true)) + { + go->SetGoState(GO_STATE_ACTIVE); + stillpine->GetMotionMaster()->MovePoint(1, go->GetPositionX(), go->GetPositionY()-15, go->GetPositionZ()); + player->CastedCreatureOrGO(NPC_PRINCESS_STILLPINE, 0, SPELL_OPENING_PRINCESS_STILLPINE_CREDIT); + } + return true; + } +}; + +class npc_princess_stillpine : public CreatureScript +{ +public: + npc_princess_stillpine() : CreatureScript("npc_princess_stillpine") { } + + struct npc_princess_stillpineAI : public ScriptedAI + { + npc_princess_stillpineAI(Creature* creature) : ScriptedAI(creature) {} + + void MovementInform(uint32 type, uint32 id) + { + if (id == 1) + { + DoScriptText(SAY_DIRECTION, me); + me->ForcedDespawn(); + return; + } + } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_princess_stillpineAI(creature); + } +}; + void AddSC_bloodmyst_isle() { new mob_webbed_creature(); new npc_captured_sunhawk_agent(); + new npc_princess_stillpine(); + new go_princess_stillpines_cage(); } |