aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2023-04-05 23:49:46 +0200
committerGitHub <noreply@github.com>2023-04-05 23:49:46 +0200
commit36044a9470e9c39a71916e908ab6cf4f95677793 (patch)
treef3c6997cf2f58c6d2f20e2c074d7ed0a4e2915db /src/server/scripts/EasternKingdoms
parentc1c04fe73bfbc232170b4d14b2f84637f3705dc5 (diff)
Core/Creature: Added possibility to give creatures multiple gossip menu ids and control them via conditions (#28159)
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp6
3 files changed, 7 insertions, 5 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index ac65e640ade..67f23cf43ba 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -678,7 +678,7 @@ public:
bool OnGossipHello(Player* player) override
{
- uint32 gossipMenuId = Player::GetDefaultGossipMenuForSource(me);
+ uint32 gossipMenuId = player->GetGossipMenuForSource(me);
InitGossipMenuFor(player, gossipMenuId);
if (player->GetQuestStatus(QUEST_DEATH_CHALLENGE) == QUEST_STATUS_INCOMPLETE && me->IsFullHealth())
{
@@ -688,7 +688,7 @@ public:
if (player->IsInCombat() || me->IsInCombat())
return true;
- AddGossipItemFor(player, gossipMenuId, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
+ AddGossipItemFor(player, player->GetGossipMenuForSource(me), 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
}
return true;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index 4f6dfe7f7d7..992163dfa3a 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -130,7 +130,7 @@ public:
bool OnGossipHello(Player* player) override
{
- uint32 gossipMenuId = Player::GetDefaultGossipMenuForSource(me);
+ uint32 gossipMenuId = player->GetGossipMenuForSource(me);
InitGossipMenuFor(player, gossipMenuId);
if (instance->GetData(TYPE_FREE_NPC) != DONE && instance->GetData(TYPE_RETHILGORE) == DONE)
AddGossipItemFor(player, gossipMenuId, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index c520cdd56d7..4041d02be1e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -69,7 +69,9 @@ enum Points
enum Misc
{
- ITEM_VIRTUAL_ITEM = 5301
+ ITEM_VIRTUAL_ITEM = 5301,
+
+ GOSSIP_MENU_START_INTRO = 12797,
};
Position const VoljinIntroWaypoint[4] =
@@ -104,7 +106,7 @@ class npc_voljin_zulaman : public CreatureScript
if (_instance->GetData(DATA_ZULAMAN_STATE) != NOT_STARTED)
return true;
- if (me->GetGossipMenuId() == menuId && !gossipListId)
+ if (menuId == GOSSIP_MENU_START_INTRO && !gossipListId)
{
_events.Reset();
me->SetMountDisplayId(0);