aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-12-28 15:17:21 +0100
committerShauren <shauren.trinity@gmail.com>2022-12-28 15:17:21 +0100
commitc7e89d35768e7019a40babcdf1e57d025740bc98 (patch)
treebcad3d0a0ebe478f437a5e9f701205085284183a
parent5d8d84722327be33c2824e4416c617d8c1901c30 (diff)
Core/Gossip: Move setting ActionMenuID and ActionPoiID directly into GossipMenu::AddMenuItem and remove GossipMenu::AddGossipMenuItemData
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedGossip.cpp4
-rw-r--r--src/server/game/Entities/Creature/GossipDef.cpp18
-rw-r--r--src/server/game/Entities/Creature/GossipDef.h6
3 files changed, 10 insertions, 18 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp
index 879b808d5d6..3050be3ada2 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp
@@ -42,13 +42,13 @@ void ClearGossipMenuFor(Player* player)
// Using provided text, not from DB
void AddGossipItemFor(Player* player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action)
{
- player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, false, 0, "", {}, {}, sender, action);
+ player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, 0, 0, false, 0, "", {}, {}, sender, action);
}
// Using provided texts, not from DB
void AddGossipItemFor(Player* player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action, std::string popupText, uint32 popupMoney, bool coded)
{
- player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, coded, popupMoney, std::move(popupText), {}, {}, sender, action);
+ player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, 0, 0, coded, popupMoney, std::move(popupText), {}, {}, sender, action);
}
// Uses gossip item info from DB
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp
index 2cf5aaa47e2..527a2bff379 100644
--- a/src/server/game/Entities/Creature/GossipDef.cpp
+++ b/src/server/game/Entities/Creature/GossipDef.cpp
@@ -41,8 +41,8 @@ GossipMenu::GossipMenu()
GossipMenu::~GossipMenu() = default;
uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language,
- GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, bool boxCoded, uint32 boxMoney, std::string boxText, Optional<int32> spellId,
- Optional<int32> overrideIconId, uint32 sender, uint32 action)
+ GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney,
+ std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action)
{
ASSERT(_menuItems.size() <= GOSSIP_MAX_MENU_ITEMS);
@@ -95,6 +95,8 @@ uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOpt
menuItem.BoxText = std::move(boxText);
menuItem.SpellID = spellId;
menuItem.OverrideIconID = overrideIconId;
+ menuItem.ActionMenuID = actionMenuId;
+ menuItem.ActionPoiID = actionPoiId;
menuItem.Sender = sender;
menuItem.Action = action;
return orderIndex;
@@ -159,16 +161,8 @@ void GossipMenu::AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uin
}
AddMenuItem(menuItem.GossipOptionID, menuItem.OrderIndex, menuItem.OptionNpc, std::move(strOptionText), menuItem.Language, menuItem.Flags,
- menuItem.GossipNpcOptionID, menuItem.BoxCoded, menuItem.BoxMoney, std::move(strBoxText), menuItem.SpellID, menuItem.OverrideIconID, sender, action);
- AddGossipMenuItemData(menuItem.OrderIndex, menuItem.ActionMenuID, menuItem.ActionPoiID);
-}
-
-void GossipMenu::AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi)
-{
- GossipMenuItem& menuItem = _menuItems[menuItemId];
-
- menuItem.ActionMenuID = gossipActionMenuId;
- menuItem.ActionPoiID = gossipActionPoi;
+ menuItem.GossipNpcOptionID, menuItem.ActionMenuID, menuItem.ActionPoiID, menuItem.BoxCoded, menuItem.BoxMoney, std::move(strBoxText),
+ menuItem.SpellID, menuItem.OverrideIconID, sender, action);
}
GossipMenuItem const* GossipMenu::GetItem(int32 gossipOptionId) const
diff --git a/src/server/game/Entities/Creature/GossipDef.h b/src/server/game/Entities/Creature/GossipDef.h
index b4f0cd61136..42d795b6296 100644
--- a/src/server/game/Entities/Creature/GossipDef.h
+++ b/src/server/game/Entities/Creature/GossipDef.h
@@ -157,8 +157,8 @@ class TC_GAME_API GossipMenu
~GossipMenu();
uint32 AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language, GossipOptionFlags flags,
- Optional<int32> gossipNpcOptionId, bool boxCoded, uint32 boxMoney, std::string boxText, Optional<int32> spellId,
- Optional<int32> overrideIconId, uint32 sender, uint32 action);
+ Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney,
+ std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action);
void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action);
void AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uint32 action);
@@ -167,8 +167,6 @@ class TC_GAME_API GossipMenu
void SetLocale(LocaleConstant locale) { _locale = locale; }
LocaleConstant GetLocale() const { return _locale; }
- void AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi);
-
uint32 GetMenuItemCount() const
{
return _menuItems.size();