Move gossip for Lore Keeper of Norgannon to db. Remove cpp script. Also rename some incorrectly named sql updates.

This commit is contained in:
Malcrom
2012-02-18 08:27:00 -03:30
parent e212116b1f
commit 958c32b026
5 changed files with 52 additions and 115 deletions
@@ -0,0 +1,52 @@
-- Gossip for Lore Keeper of Norgannon "Uldaman" for quest 2278 "The Platinum Discs"
UPDATE `creature_template` SET `gossip_menu_id`=562 WHERE `entry`=7172;
-- SAI for Lore Keeper of Norgannon
SET @ENTRY := 7172;
UPDATE `creature_template` SET `AIName`='SmartAI',`ScriptName`='' WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
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,576,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Lore Keeper of Norgannon - On gossip option select - close gossip'),
(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,26,2278,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Lore Keeper of Norgannon - On gossip option select - give quest credit');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=562 AND `SourceEntry`=0;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(15,562,0,0,9,2278,0,0,0,'','Show gossip option if player has quest 2278 but not complete');
DELETE FROM `gossip_menu` WHERE `entry` BETWEEN 561 AND 576;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
(561,1080),
(562,1079),
(563,1081),
(564,1082),
(565,1083),
(566,1084),
(567,1085),
(568,1086),
(569,1087),
(570,1088),
(571,1089),
(572,1090),
(573,1091),
(574,1092),
(575,1093),
(576,1094);
DELETE FROM `gossip_menu_option` WHERE `menu_id` BETWEEN 561 AND 576;
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
(561,0,0,'What is a "subterranean being matrix"?',1,1,563,0,0,0,''),
(562,0,0,'Who are the Earthen?',1,1,561,0,0,0,''),
(563,0,0,'What are the anomalies you speak of?',1,1,564,0,0,0,''),
(564,0,0,'What is a "resilient foundation of construction"?',1,1,565,0,0,0,''),
(565,0,0,'So... the Earthen were made out of stone?',1,1,566,0,0,0,''),
(566,0,0,'Anything else I should know about the Earthen?',1,1,567,0,0,0,''),
(567,0,0,'I think I understand the Creators'' design intent for the Earthen now. What are the Earthen''s anomalies that you spoke of earlier?',1,1,568,0,0,0,''),
(568,0,0,'What high-stress environments would cause the Earthen to destabilize?',1,1,569,0,0,0,''),
(569,0,0,'What happens when the Earthen destabilize?',1,1,570,0,0,0,''),
(570,0,0,'Troggs?! Are the troggs you mention the same as the ones in the world today?',1,1,571,0,0,0,''),
(571,0,0,'You mentioned two results when the Earthen destabilize. What is the second?',1,1,572,0,0,0,''),
(572,0,0,'Dwarves!!! Now you''re telling me that dwarves originally came from the Earthen?!',1,1,573,0,0,0,''),
(573,0,0,'These dwarves are the same ones today, yes? Do dwarves maintain any other links to the Earthen?',1,1,574,0,0,0,''),
(574,0,0,'Who are the Creators?',1,1,575,0,0,0,''),
(575,0,0,'This is a lot to think about.',1,1,576,0,0,0,''),
(576,0,0,'I will access the discs now.',1,1,0,0,0,0,'');
@@ -143,125 +143,10 @@ class AreaTrigger_at_map_chamber : public AreaTriggerScript
}
};
/*######
## npc_lore_keeper_of_norgannon
######*/
#define GOSSIP_HELLO_KEEPER "Who are the Earthen?"
#define GOSSIP_SELECT_KEEPER1 "What is a \"subterranean being matrix\"?"
#define GOSSIP_SELECT_KEEPER2 "What are the anomalies you speak of?"
#define GOSSIP_SELECT_KEEPER3 "What is a resilient foundation of construction?"
#define GOSSIP_SELECT_KEEPER4 "So... the Earthen were made out of stone?"
#define GOSSIP_SELECT_KEEPER5 "Anything else I should know about the Earthen?"
#define GOSSIP_SELECT_KEEPER6 "I think I understand the Creators' design intent for the Earthen now. What are the Earthen's anomalies that you spoke of earlier?"
#define GOSSIP_SELECT_KEEPER7 "What high-stress environments would cause the Earthen to destabilize?"
#define GOSSIP_SELECT_KEEPER8 "What happens when the Earthen destabilize?"
#define GOSSIP_SELECT_KEEPER9 "Troggs?! Are the troggs you mention the same as the ones in the world today?"
#define GOSSIP_SELECT_KEEPER10 "You mentioned two results when the Earthen destabilize. What is the second?"
#define GOSSIP_SELECT_KEEPER11 "Dwarves!!! Now you're telling me that dwarves originally came from the Earthen?!"
#define GOSSIP_SELECT_KEEPER12 "These dwarves are the same ones today, yes? Do the dwarves maintain any other links to the Earthen?"
#define GOSSIP_SELECT_KEEPER13 "Who are the Creators?"
#define GOSSIP_SELECT_KEEPER14 "This is a lot to think about."
#define GOSSIP_SELECT_KEEPER15 "I will access the discs now."
class npc_lore_keeper_of_norgannon : public CreatureScript
{
public:
npc_lore_keeper_of_norgannon()
: CreatureScript("npc_lore_keeper_of_norgannon")
{
}
bool OnGossipHello(Player* player, Creature* creature)
{
if (player->GetQuestStatus(2278) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_KEEPER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(1079, creature->GetGUID());
return true;
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
{
player->PlayerTalkClass->ClearMenus();
switch (uiAction)
{
case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
player->SEND_GOSSIP_MENU(1080, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
player->SEND_GOSSIP_MENU(1081, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+3:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4);
player->SEND_GOSSIP_MENU(1082, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+4:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5);
player->SEND_GOSSIP_MENU(1083, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+5:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6);
player->SEND_GOSSIP_MENU(1084, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+6:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+7);
player->SEND_GOSSIP_MENU(1085, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+7:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+8);
player->SEND_GOSSIP_MENU(1086, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+8:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER8, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+9);
player->SEND_GOSSIP_MENU(1087, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+9:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER9, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+10);
player->SEND_GOSSIP_MENU(1088, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+10:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER10, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+11);
player->SEND_GOSSIP_MENU(1089, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+11:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER11, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+12);
player->SEND_GOSSIP_MENU(1090, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+12:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER12, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+13);
player->SEND_GOSSIP_MENU(1091, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+13:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER13, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+14);
player->SEND_GOSSIP_MENU(1092, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+14:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER14, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+15);
player->SEND_GOSSIP_MENU(1093, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+15:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KEEPER15, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+16);
player->SEND_GOSSIP_MENU(1094, creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+16:
player->CLOSE_GOSSIP_MENU();
player->AreaExploredOrEventHappens(2278);
break;
}
return true;
}
};
void AddSC_uldaman()
{
new mob_jadespine_basilisk();
new go_keystone_chamber();
new AreaTrigger_at_map_chamber();
new npc_lore_keeper_of_norgannon();
}