aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_12_23_04_world_misc.sql26
-rw-r--r--src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp81
2 files changed, 35 insertions, 72 deletions
diff --git a/sql/updates/world/2013_12_23_04_world_misc.sql b/sql/updates/world/2013_12_23_04_world_misc.sql
new file mode 100644
index 00000000000..725fe0239f0
--- /dev/null
+++ b/sql/updates/world/2013_12_23_04_world_misc.sql
@@ -0,0 +1,26 @@
+-- Captured Sunhawk Agent SAI
+SET @ENTRY := 17824;
+UPDATE `creature_template` SET `gossip_menu_id`=7531, `AIName`='SmartAI', `ScriptName`= '' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,1,62,0,100,0,7533,0,0,0,33,17974,0,0,0,0,0,7,0,0,0,0,0,0,0,"Captured Sunhawk Agent - On Gossip Option - Kill Credit"),
+(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Captured Sunhawk Agent - On Gossip Option - Close Gossip");
+
+-- Add missing gossip for Captured Sunhawk Agent
+DELETE FROM `gossip_menu` WHERE `entry` IN (7531,7533,7534,7535,7536,7537);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
+(7531,9134),(7531,9136),(7533,9141),(7534,9140),(7535,9139),(7536,9138),(7537,9137);
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (7531,7537,7536,7535,7534,7533);
+INSERT INTO `gossip_menu_option` (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text) VALUES
+(7531,0,0, 'I''m a prisoner, what does it look like? The draenei filth captured me as I exited the sun gate. They killed our portal controllers and destroyed the gate. The Sun King will be most displeased with this turn of events.',1,1,7537,0,0,0, ''),
+(7537,0,0, 'Ah yes, Sironas. I had nearly forgotten that Sironas was here. I served under Sironas back on Outland. I hadn''t heard of this abomination, though; those damnable draenei captured me before I even fully materialized on this world.',1,1,7536,0,0,0, ''),
+(7536,0,0, 'Incredible. How did Sironas accomplish such a thing?',1,1,7535,0,0,0, ''),
+(7535,0,0, 'Sironas is an eredar... I mean, yes, obviously.',1,1,7534,0,0,0, ''),
+(7534,0,0, 'The Vector Coil is massive. I hope we have more than one abomination guarding the numerous weak points.',1,1,7533,0,0,0, ''),
+(7533,0,0, 'I did and you believed me. Thank you for the information, blood elf. You have helped us more than you could know.',1,1,0,0,0,0, '');
+
+-- Add Conditions for Captured Sunhawk Agent gossip option
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7531;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15,7531,0,0,0,9,0,9756,0,0,0,0,0, '', 'Gossip Option - Show Option if Quest 9756 is taken'),
+(15,7531,0,0,1,1,0,31609,0,0,0,0,0, '', 'Gossip Option - Show Option if player has aura 31609');
diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
index 694d63d5295..f717a5721af 100644
--- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
@@ -19,18 +19,18 @@
/* ScriptData
SDName: Bloodmyst_Isle
SD%Complete: 80
-SDComment: Quest support: 9670, 9756(gossip items text needed).
+SDComment: Quest support: 9670, 9667
SDCategory: Bloodmyst Isle
EndScriptData */
/* ContentData
npc_webbed_creature
-npc_captured_sunhawk_agent
+npc_princess_stillpine
+go_princess_stillpines_cage
EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "Player.h"
/*######
@@ -40,6 +40,11 @@ EndContentData */
//possible creatures to be spawned
uint32 const possibleSpawns[32] = {17322, 17661, 17496, 17522, 17340, 17352, 17333, 17524, 17654, 17348, 17339, 17345, 17359, 17353, 17336, 17550, 17330, 17701, 17321, 17680, 17325, 17320, 17683, 17342, 17715, 17334, 17341, 17338, 17337, 17346, 17344, 17327};
+enum WebbedCreature
+{
+ NPC_EXPEDITION_RESEARCHER = 17681
+};
+
class npc_webbed_creature : public CreatureScript
{
public:
@@ -65,9 +70,8 @@ public:
switch (urand(0, 2))
{
case 0:
- spawnCreatureID = 17681;
if (Player* player = killer->ToPlayer())
- player->KilledMonsterCredit(spawnCreatureID, 0);
+ player->KilledMonsterCredit(NPC_EXPEDITION_RESEARCHER, 0);
break;
case 1:
case 2:
@@ -83,72 +87,6 @@ public:
};
/*######
-## npc_captured_sunhawk_agent
-######*/
-
-#define C_SUNHAWK_TRIGGER 17974
-
-#define GOSSIP_HELLO_CSA "[PH] "
-#define GOSSIP_SELECT_CSA1 "[PH] "
-#define GOSSIP_SELECT_CSA2 "[PH] "
-#define GOSSIP_SELECT_CSA3 "[PH] "
-#define GOSSIP_SELECT_CSA4 "[PH] "
-#define GOSSIP_SELECT_CSA5 "[PH] "
-
-class npc_captured_sunhawk_agent : public CreatureScript
-{
-public:
- npc_captured_sunhawk_agent() : CreatureScript("npc_captured_sunhawk_agent") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(9137, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
- player->SEND_GOSSIP_MENU(9138, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+3:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
- player->SEND_GOSSIP_MENU(9139, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+4:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
- player->SEND_GOSSIP_MENU(9140, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+5:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_CSA5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
- player->SEND_GOSSIP_MENU(9141, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+6:
- player->CLOSE_GOSSIP_MENU();
- player->TalkedToCreature(C_SUNHAWK_TRIGGER, creature->GetGUID());
- break;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->HasAura(31609) && player->GetQuestStatus(9756) == QUEST_STATUS_INCOMPLETE)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_CSA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(9136, creature->GetGUID());
- }
- else
- player->SEND_GOSSIP_MENU(9134, creature->GetGUID());
-
- return true;
- }
-
-};
-
-/*######
## Quest 9667: Saving Princess Stillpine
######*/
@@ -206,7 +144,6 @@ public:
void AddSC_bloodmyst_isle()
{
new npc_webbed_creature();
- new npc_captured_sunhawk_agent();
new npc_princess_stillpine();
new go_princess_stillpines_cage();
}