aboutsummaryrefslogtreecommitdiff
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
parente79c8a389b6f5add6d55751986fb8e15bc81ce87 (diff)
Scripts/BloodmystIsle: Add core support for quest 9667
-rw-r--r--sql/scripts/world_script_texts.sql1
-rw-r--r--sql/scripts/world_scripts_full.sql2
-rw-r--r--sql/updates/world/2011_05_03_00_world_script_text.sql3
-rw-r--r--sql/updates/world/2011_05_03_00_world_scriptname.sql2
-rw-r--r--src/server/scripts/Kalimdor/bloodmyst_isle.cpp58
5 files changed, 66 insertions, 0 deletions
diff --git a/sql/scripts/world_script_texts.sql b/sql/scripts/world_script_texts.sql
index 30356654038..46b9b0789b1 100644
--- a/sql/scripts/world_script_texts.sql
+++ b/sql/scripts/world_script_texts.sql
@@ -573,6 +573,7 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
(18445,-1800071,'Thanks, $C! I''m sure my dad will reward you greatly! Bye!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,NULL),
(20812,-1800072,'This is the last time I get caught!I promise! Bye!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,NULL),
(18369,-1800073,'Thank you for saving me again!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,NULL),
+ (17682,-1800074,'Go to the west',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,NULL),
-- -1 033 000 SHADOWFANG KEEP
(0,-1033000,'Follow me and I''ll open the courtyard door for you.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,7,1,'prisoner ashcrombe SAY_FREE_AS'),
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql
index 5aaf10881f6..79e7d5b0d68 100644
--- a/sql/scripts/world_scripts_full.sql
+++ b/sql/scripts/world_scripts_full.sql
@@ -408,6 +408,8 @@ UPDATE `creature_template` SET `ScriptName`='npc_fallen_hero_of_horde' WHERE `en
/* BLOODMYST ISLE */
UPDATE `creature_template` SET `ScriptName`='mob_webbed_creature' WHERE `entry`=17680;
UPDATE `creature_template` SET `ScriptName`='npc_captured_sunhawk_agent' WHERE `entry`=17824;
+UPDATE `creature_template` SET `ScriptName`='npc_princess_stillpine' WHERE `entry`=17682;
+UPDATE `gameobject_template` SET `ScriptName`='go_princess_stillpines_cage' WHERE `entry`=181928;
/* BOREAN TUNDRA */
UPDATE `creature_template` SET `ScriptName`='npc_fizzcrank_fullthrottle' WHERE `entry`=25590;
diff --git a/sql/updates/world/2011_05_03_00_world_script_text.sql b/sql/updates/world/2011_05_03_00_world_script_text.sql
new file mode 100644
index 00000000000..03c7cd3925a
--- /dev/null
+++ b/sql/updates/world/2011_05_03_00_world_script_text.sql
@@ -0,0 +1,3 @@
+DELETE FROM `script_texts` WHERE `npc_entry` =17682;
+INSERT INTO `script_texts` (`npc_entry`, `entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`, `sound`, `type`, `language`, `emote`, `comment`) VALUES
+(17682,-1800074,'Go to the west',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,NULL);
diff --git a/sql/updates/world/2011_05_03_00_world_scriptname.sql b/sql/updates/world/2011_05_03_00_world_scriptname.sql
new file mode 100644
index 00000000000..3724b8febed
--- /dev/null
+++ b/sql/updates/world/2011_05_03_00_world_scriptname.sql
@@ -0,0 +1,2 @@
+UPDATE `creature_template` SET `ScriptName`='npc_princess_stillpine' WHERE `entry`=17682;
+UPDATE `gameobject_template` SET `ScriptName`='go_princess_stillpines_cage' WHERE `entry`=181928;
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();
}