mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Scripts/ICC: moved saurfang gossips to db
Closes #14904
(cherry picked from commit 7225b7abf1)
This commit is contained in:
21
sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql
Normal file
21
sql/updates/world/2015_11_06_39_world_2015_10_04_01.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
UPDATE `creature_template` SET `npcflag`=1, `gossip_menu_id`=10953 WHERE `entry`=37187;
|
||||
|
||||
DELETE FROM `gossip_menu` WHERE `entry` IN (10953, 10952) AND `text_id` IN (15217, 15218);
|
||||
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
|
||||
(10953, 15217),
|
||||
(10952, 15218);
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10953, 10952);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`, `OptionBroadcastTextID`, `option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(10953,0,0,"We are ready to go, High Overlord. The Lich King must fall!",37631,1,1,10952),
|
||||
(10952,0,0,"Lok'tar ogar! We are ready! Onward, brother orc!",37633,1,1,0);
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10933, 10934);
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`, `OptionBroadcastTextID`, `option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
|
||||
(10933,0,0,"We're ready, Muradin",37446,1,1,10934),
|
||||
(10934,0,0,"We're sure. Let's go!",37448,1,1,0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup` IN (10933, 10953);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15, 10933, 0, 0, 0, 13, 1, 2, 4, 2, 1, 0, 0, '', 'Show gossip option only if Deathbringer Saurfang is not done'),
|
||||
(15, 10953, 0, 0, 0, 13, 1, 2, 4, 2, 1, 0, 0, '', 'Show gossip option only if Deathbringer Saurfang is not done');
|
||||
@@ -203,6 +203,9 @@ enum Misc
|
||||
{
|
||||
DATA_MADE_A_MESS = 45374613, // 4537, 4613 are achievement IDs
|
||||
FACTION_SCOURGE = 974,
|
||||
|
||||
GOSSIP_MENU_MURADIN_BRONZEBEARD = 10934,
|
||||
GOSSIP_MENU_HIGH_OVERLORD_SAURFANG = 10952
|
||||
};
|
||||
|
||||
enum MovePoints
|
||||
@@ -634,6 +637,15 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
|
||||
_events.Reset();
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* player, uint32 menuId, uint32 /*gossipListId*/) override
|
||||
{
|
||||
if (menuId == GOSSIP_MENU_HIGH_OVERLORD_SAURFANG)
|
||||
{
|
||||
player->PlayerTalkClass->SendCloseGossip();
|
||||
DoAction(ACTION_START_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
@@ -798,28 +810,6 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
|
||||
std::list<Creature*> _guardList;
|
||||
};
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
InstanceScript* instance = creature->GetInstanceScript();
|
||||
if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "We are ready to go, High Overlord. The Lich King must fall!", 631, -ACTION_START_EVENT);
|
||||
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
if (action == -ACTION_START_EVENT)
|
||||
creature->AI()->DoAction(ACTION_START_EVENT);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_high_overlord_saurfangAI>(creature);
|
||||
@@ -843,6 +833,15 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
|
||||
_events.Reset();
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* player, uint32 menuId, uint32 /*gossipListId*/) override
|
||||
{
|
||||
if (menuId == GOSSIP_MENU_MURADIN_BRONZEBEARD)
|
||||
{
|
||||
player->PlayerTalkClass->SendCloseGossip();
|
||||
DoAction(ACTION_START_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
switch (action)
|
||||
@@ -946,28 +945,6 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
|
||||
std::list<Creature*> _guardList;
|
||||
};
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
InstanceScript* instance = creature->GetInstanceScript();
|
||||
if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(0, "Let it begin...", 631, -ACTION_START_EVENT + 1);
|
||||
player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
if (action == -ACTION_START_EVENT + 1)
|
||||
creature->AI()->DoAction(ACTION_START_EVENT);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetIcecrownCitadelAI<npc_muradin_bronzebeard_iccAI>(creature);
|
||||
|
||||
Reference in New Issue
Block a user