refactor: Quest 5742 moved from core to DB (#1354)
Replace c++ with smart_scripts
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1548473216184905600');
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `ScriptName`='', `AIName`='SmartAI' WHERE `entry`=1855;
|
||||||
|
|
||||||
|
DELETE FROM `gossip_menu_option` WHERE `MenuID` IN (3502, 3681, 3682, 3683) AND `OptionID`=0;
|
||||||
|
INSERT INTO `gossip_menu_option` (`MenuID`,`OptionID`,`OptionIcon`,`OptionText`,`OptionBroadcastTextID`,`OptionType`,`OptionNpcFlag`,`ActionMenuID`,`ActionPoiID`,`BoxCoded`,`BoxMoney`,`BoxText`,`BoxBroadcastTextID`,`VerifiedBuild`) VALUES
|
||||||
|
(3502,0,0,"I am ready to hear your tale, Tirion.",7219,1,1,3681,0,0,0,"",0,0),
|
||||||
|
(3681,0,0,"Thank you, Tirion. What of your identity?",7221,1,1,3682,0,0,0,"",0,0),
|
||||||
|
(3682,0,0,"That is terrible.",7223,1,1,3683,0,0,0,"",0,0),
|
||||||
|
(3683,0,0,"I will, Tirion.",7225,1,1,0,0,0,0,"",0,0);
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE `entryorguid`=1855 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`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||||
|
(1855,0,0,1,62,0,100,0,3683,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Tirion Fordring - On Gossip Option 0 Selected - Close Gossip"),
|
||||||
|
(1855,0,1,0,61,0,100,0,0,0,0,0,0,15,5742,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Tirion Fordring - on link - give credit quest(5742)");
|
||||||
|
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=3502;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(15,3502,0,0,0,9,0,5742,0,0,0,0,0,"","Show gossip option if player does have quest 5742 taken");
|
||||||
@@ -401,59 +401,6 @@ public:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_tirion_fordring
|
|
||||||
######*/
|
|
||||||
|
|
||||||
#define GOSSIP_HELLO "I am ready to hear your tale, Tirion."
|
|
||||||
#define GOSSIP_SELECT1 "Thank you, Tirion. What of your identity?"
|
|
||||||
#define GOSSIP_SELECT2 "That is terrible."
|
|
||||||
#define GOSSIP_SELECT3 "I will, Tirion."
|
|
||||||
|
|
||||||
class npc_tirion_fordring : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_tirion_fordring() : CreatureScript("npc_tirion_fordring") { }
|
|
||||||
|
|
||||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
|
|
||||||
{
|
|
||||||
player->PlayerTalkClass->ClearMenus();
|
|
||||||
switch (action)
|
|
||||||
{
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+1:
|
|
||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
|
||||||
player->SEND_GOSSIP_MENU(4493, creature->GetGUID());
|
|
||||||
break;
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+2:
|
|
||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
|
||||||
player->SEND_GOSSIP_MENU(4494, creature->GetGUID());
|
|
||||||
break;
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+3:
|
|
||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
|
||||||
player->SEND_GOSSIP_MENU(4495, creature->GetGUID());
|
|
||||||
break;
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+4:
|
|
||||||
player->CLOSE_GOSSIP_MENU();
|
|
||||||
player->AreaExploredOrEventHappens(5742);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature)
|
|
||||||
{
|
|
||||||
if (creature->IsQuestGiver())
|
|
||||||
player->PrepareQuestMenu(creature->GetGUID());
|
|
||||||
|
|
||||||
if (player->GetQuestStatus(5742) == QUEST_STATUS_INCOMPLETE && player->getStandState() == UNIT_STAND_STATE_SIT)
|
|
||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
|
||||||
|
|
||||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void AddSC_eastern_plaguelands()
|
void AddSC_eastern_plaguelands()
|
||||||
{
|
{
|
||||||
// Ours
|
// Ours
|
||||||
@@ -464,5 +411,4 @@ void AddSC_eastern_plaguelands()
|
|||||||
new npc_ghoul_flayer();
|
new npc_ghoul_flayer();
|
||||||
new npc_augustus_the_touched();
|
new npc_augustus_the_touched();
|
||||||
new npc_darrowshire_spirit();
|
new npc_darrowshire_spirit();
|
||||||
new npc_tirion_fordring();
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user