fix(Core/Scripts): Move EasternKingdoms gossip to database (#25208)
Co-authored-by: dr-j <dr-j@users.noreply.github.com> Co-authored-by: offl <offl@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -452,59 +452,6 @@ private:
|
||||
uint32 _mightyBlowTimer;
|
||||
};
|
||||
|
||||
// npc_lokhtos_darkbargainer
|
||||
enum LokhtosItems
|
||||
{
|
||||
ITEM_THRORIUM_BROTHERHOOD_CONTRACT = 18628,
|
||||
ITEM_SULFURON_INGOT = 17203
|
||||
};
|
||||
|
||||
enum LokhtosQuests
|
||||
{
|
||||
QUEST_A_BINDING_CONTRACT = 7604
|
||||
};
|
||||
|
||||
enum LokhtosSpells
|
||||
{
|
||||
SPELL_CREATE_THORIUM_BROTHERHOOD_CONTRACT_DND = 23059
|
||||
};
|
||||
|
||||
struct npc_lokhtos_darkbargainer : public ScriptedAI
|
||||
{
|
||||
npc_lokhtos_darkbargainer(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
ClearGossipMenuFor(player);
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
player->CastSpell(player, SPELL_CREATE_THORIUM_BROTHERHOOD_CONTRACT_DND, false);
|
||||
}
|
||||
if (action == GOSSIP_ACTION_TRADE)
|
||||
player->GetSession()->SendListInventory(me->GetGUID());
|
||||
}
|
||||
|
||||
void sGossipHello(Player* player) override
|
||||
{
|
||||
if (me->IsQuestGiver())
|
||||
player->PrepareQuestMenu(me->GetGUID());
|
||||
|
||||
if (me->IsVendor() && player->GetReputationRank(59) >= REP_FRIENDLY)
|
||||
AddGossipItemFor(player, 4781, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
|
||||
|
||||
if (player->GetQuestRewardStatus(QUEST_A_BINDING_CONTRACT) != 1 &&
|
||||
!player->HasItemCount(ITEM_THRORIUM_BROTHERHOOD_CONTRACT, 1, true) &&
|
||||
player->HasItemCount(ITEM_SULFURON_INGOT))
|
||||
AddGossipItemFor(player, 4781, 1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
if (player->GetReputationRank(59) < REP_FRIENDLY)
|
||||
SendGossipMenuFor(player, 3673, me->GetGUID());
|
||||
else
|
||||
SendGossipMenuFor(player, 3677, me->GetGUID());
|
||||
}
|
||||
};
|
||||
|
||||
// npc_rocknot
|
||||
enum RocknotSays
|
||||
{
|
||||
@@ -641,7 +588,6 @@ void AddSC_blackrock_depths()
|
||||
new at_ring_of_law();
|
||||
RegisterBlackrockDepthsCreatureAI(npc_grimstone);
|
||||
RegisterBlackrockDepthsCreatureAI(npc_phalanx);
|
||||
RegisterBlackrockDepthsCreatureAI(npc_lokhtos_darkbargainer);
|
||||
RegisterBlackrockDepthsCreatureAI(npc_rocknot);
|
||||
RegisterBlackrockDepthsCreatureAI(brd_ironhand_guardian);
|
||||
}
|
||||
|
||||
@@ -296,39 +296,8 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_augustus_the_touched
|
||||
######*/
|
||||
|
||||
class npc_augustus_the_touched : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_augustus_the_touched() : CreatureScript("npc_augustus_the_touched") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
ClearGossipMenuFor(player);
|
||||
if (action == GOSSIP_ACTION_TRADE)
|
||||
player->GetSession()->SendListInventory(creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (creature->IsVendor() && player->GetQuestRewardStatus(6164))
|
||||
AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
|
||||
|
||||
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_eastern_plaguelands()
|
||||
{
|
||||
new npc_eris_hevenfire();
|
||||
new npc_balance_of_light_and_shadow();
|
||||
new npc_augustus_the_touched();
|
||||
}
|
||||
|
||||
@@ -293,63 +293,6 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_parqual_fintallas
|
||||
######*/
|
||||
|
||||
enum ParqualFintallas
|
||||
{
|
||||
SPELL_MARK_OF_SHAME = 6767,
|
||||
QUEST_ID_TEST_OF_LORE = 6628,
|
||||
GOSSIP_MENU_ID_TEST_OF_LORE = 4764,
|
||||
GOSSIP_TEXTID_PARQUAL_FINTALLAS = 5821,
|
||||
GOSSIP_TEXTID_TEST_OF_LORE = 5822,
|
||||
};
|
||||
|
||||
class npc_parqual_fintallas : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_parqual_fintallas() : CreatureScript("npc_parqual_fintallas") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
ClearGossipMenuFor(player);
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
creature->CastSpell(player, SPELL_MARK_OF_SHAME, false);
|
||||
}
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 2)
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
player->AreaExploredOrEventHappens(6628);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
{
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
}
|
||||
|
||||
if (player->GetQuestStatus(QUEST_ID_TEST_OF_LORE) == QUEST_STATUS_INCOMPLETE && !player->HasAura(SPELL_MARK_OF_SHAME))
|
||||
{
|
||||
AddGossipItemFor(player, GOSSIP_MENU_ID_TEST_OF_LORE, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_ID_TEST_OF_LORE, 1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_ID_TEST_OF_LORE, 3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_TEST_OF_LORE, creature->GetGUID());
|
||||
}
|
||||
else
|
||||
{
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_PARQUAL_FINTALLAS, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## ALLIANCE
|
||||
#######*/
|
||||
@@ -4037,7 +3980,6 @@ void AddSC_undercity()
|
||||
{
|
||||
new npc_lady_sylvanas_windrunner();
|
||||
new npc_highborne_lamenter();
|
||||
new npc_parqual_fintallas();
|
||||
|
||||
new npc_varian_wrynn();
|
||||
new npc_thrall_bfu();
|
||||
|
||||
Reference in New Issue
Block a user