Scripts/ICC: moved saurfang gossips to db

Closes #14904

(cherry picked from commit 7225b7abf1)
This commit is contained in:
Killyana
2015-10-04 16:59:55 +02:00
committed by MitchesD
parent 143d00a242
commit 286f0ea6f3
2 changed files with 42 additions and 44 deletions

View 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');

View File

@@ -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);