fix(Scripts/MoltenCore): Move Majordomo Executus gossip to database (#25309)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
-- Move Majordomo Executus Ragnaros summoning gossip chain to database
|
||||||
|
-- Previously handled entirely in C++ script (sGossipHello/sGossipSelect)
|
||||||
|
|
||||||
|
-- Add gossip_menu entries (MenuID -> TextID) for the gossip chain
|
||||||
|
DELETE FROM `gossip_menu` WHERE `MenuID` IN (4093, 4108, 4109);
|
||||||
|
INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES
|
||||||
|
(4093, 4995),
|
||||||
|
(4109, 5011),
|
||||||
|
(4108, 5012);
|
||||||
@@ -95,13 +95,7 @@ enum Events
|
|||||||
|
|
||||||
enum Misc
|
enum Misc
|
||||||
{
|
{
|
||||||
TEXT_ID_SUMMON_1 = 4995,
|
MENU_ID_RAGNAROS_SUMMON = 4108,
|
||||||
TEXT_ID_SUMMON_2 = 5011,
|
|
||||||
TEXT_ID_SUMMON_3 = 5012,
|
|
||||||
|
|
||||||
GOSSIP_ITEM_SUMMON_1 = 4093,
|
|
||||||
GOSSIP_ITEM_SUMMON_2 = 4109,
|
|
||||||
GOSSIP_ITEM_SUMMON_3 = 4108,
|
|
||||||
|
|
||||||
FACTION_MAJORDOMO_FRIENDLY = 1080,
|
FACTION_MAJORDOMO_FRIENDLY = 1080,
|
||||||
SUMMON_GROUP_ADDS = 1,
|
SUMMON_GROUP_ADDS = 1,
|
||||||
@@ -507,48 +501,14 @@ struct boss_majordomo : public BossAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sGossipHello(Player* player) override
|
void sGossipSelect(Player* player, uint32 menuId, uint32 /*gossipListId*/) override
|
||||||
{
|
{
|
||||||
ClearGossipMenuFor(player);
|
if (menuId == MENU_ID_RAGNAROS_SUMMON)
|
||||||
AddGossipItemFor(player, GOSSIP_ITEM_SUMMON_1, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
|
||||||
SendGossipMenuFor(player, TEXT_ID_SUMMON_1, me->GetGUID());
|
|
||||||
}
|
|
||||||
|
|
||||||
void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
|
|
||||||
{
|
|
||||||
uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
|
|
||||||
ClearGossipMenuFor(player);
|
|
||||||
switch (action)
|
|
||||||
{
|
{
|
||||||
case GOSSIP_ACTION_INFO_DEF:
|
CloseGossipMenuFor(player);
|
||||||
{
|
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||||
AddGossipItemFor(player, GOSSIP_ITEM_SUMMON_2, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
Talk(SAY_RAG_SUM_1, player);
|
||||||
SendGossipMenuFor(player, TEXT_ID_SUMMON_2, me->GetGUID());
|
DoAction(ACTION_START_RAGNAROS_INTRO);
|
||||||
break;
|
|
||||||
}
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+1:
|
|
||||||
{
|
|
||||||
AddGossipItemFor(player, GOSSIP_ITEM_SUMMON_2, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
|
||||||
SendGossipMenuFor(player, TEXT_ID_SUMMON_2, me->GetGUID());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+2:
|
|
||||||
{
|
|
||||||
AddGossipItemFor(player, GOSSIP_ITEM_SUMMON_3, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
|
||||||
SendGossipMenuFor(player, TEXT_ID_SUMMON_3, me->GetGUID());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case GOSSIP_ACTION_INFO_DEF+3:
|
|
||||||
{
|
|
||||||
CloseGossipMenuFor(player);
|
|
||||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
|
||||||
Talk(SAY_RAG_SUM_1, player);
|
|
||||||
DoAction(ACTION_START_RAGNAROS_INTRO);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
CloseGossipMenuFor(player);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user