aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSupabad <supabad.trinity@gmail.com>2011-04-05 16:03:03 +0200
committerleak <leakzx@googlemail.com>2011-04-06 11:36:02 +0200
commit364bb162c33275d3446d63eb39210c1513f0216f (patch)
tree8b4ae57193e4f8f5140614b94e957e6f0487b752 /src
parente79c8a389b6f5add6d55751986fb8e15bc81ce87 (diff)
Scripts/BloodmystIsle: Add core support for quest 9667
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Kalimdor/bloodmyst_isle.cpp58
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();
}