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 | |
parent | e79c8a389b6f5add6d55751986fb8e15bc81ce87 (diff) |
Scripts/BloodmystIsle: Add core support for quest 9667
-rw-r--r-- | sql/scripts/world_script_texts.sql | 1 | ||||
-rw-r--r-- | sql/scripts/world_scripts_full.sql | 2 | ||||
-rw-r--r-- | sql/updates/world/2011_05_03_00_world_script_text.sql | 3 | ||||
-rw-r--r-- | sql/updates/world/2011_05_03_00_world_scriptname.sql | 2 | ||||
-rw-r--r-- | src/server/scripts/Kalimdor/bloodmyst_isle.cpp | 58 |
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(); } |