diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-01-26 23:49:42 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-26 23:49:42 +0100 |
| commit | 88659dcebf9f033cd99e87595151f42fbcd96310 (patch) | |
| tree | c1a7dde9fcae4af1e50a24c822d2f4a92424e282 /src/server/game/Entities | |
| parent | d33214c50a738372ebf805d9bb00ed38a622aa1a (diff) | |
Core/Gossip: Sync naming and db structure with 3.3.5
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Creature/GossipDef.cpp | 36 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/GossipDef.h | 17 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 26 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
4 files changed, 44 insertions, 37 deletions
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index d04468c766d..ca8d013999f 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -42,27 +42,27 @@ GossipMenu::~GossipMenu() ClearMenu(); } -uint32 GossipMenu::AddMenuItem(int32 optionIndex, GossipOptionIcon icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded /*= false*/) +uint32 GossipMenu::AddMenuItem(int32 menuItemId, GossipOptionIcon icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded /*= false*/) { ASSERT(_menuItems.size() <= GOSSIP_MAX_MENU_ITEMS); // Find a free new id - script case - if (optionIndex == -1) + if (menuItemId == -1) { - optionIndex = 0; + menuItemId = 0; if (!_menuItems.empty()) { for (GossipMenuItemContainer::const_iterator itr = _menuItems.begin(); itr != _menuItems.end(); ++itr) { - if (int32(itr->first) > optionIndex) + if (int32(itr->first) > menuItemId) break; - optionIndex = itr->first + 1; + menuItemId = itr->first + 1; } } } - GossipMenuItem& menuItem = _menuItems[optionIndex]; + GossipMenuItem& menuItem = _menuItems[menuItemId]; menuItem.MenuItemIcon = icon; menuItem.Message = message; @@ -71,18 +71,18 @@ uint32 GossipMenu::AddMenuItem(int32 optionIndex, GossipOptionIcon icon, std::st menuItem.OptionType = action; menuItem.BoxMessage = boxMessage; menuItem.BoxMoney = boxMoney; - return optionIndex; + return menuItemId; } /** * @name AddMenuItem * @brief Adds a localized gossip menu item from db by menu id and menu item id. * @param menuId Gossip menu id. - * @param optionIndex Gossip menu item index. + * @param menuItemId Gossip menu item id. * @param sender Identifier of the current menu. * @param action Custom action given to OnGossipHello. */ -void GossipMenu::AddMenuItem(uint32 menuId, uint32 optionIndex, uint32 sender, uint32 action) +void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action) { /// Find items for given menu id. GossipMenuItemsMapBounds bounds = sObjectMgr->GetGossipMenuItemsMapBounds(menuId); @@ -94,13 +94,13 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 optionIndex, uint32 sender, u for (GossipMenuItemsContainer::const_iterator itr = bounds.first; itr != bounds.second; ++itr) { /// Find the one with the given menu item id. - if (itr->second.OptionIndex != optionIndex) + if (itr->second.OptionID != menuItemId) continue; /// Store texts for localization. std::string strOptionText, strBoxText; - BroadcastTextEntry const* optionBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.OptionBroadcastTextId); - BroadcastTextEntry const* boxBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.BoxBroadcastTextId); + BroadcastTextEntry const* optionBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.OptionBroadcastTextID); + BroadcastTextEntry const* boxBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.BoxBroadcastTextID); /// OptionText if (optionBroadcastText) @@ -120,27 +120,27 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 optionIndex, uint32 sender, u if (!optionBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, optionIndex)) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, menuItemId)) ObjectMgr::GetLocaleString(gossipMenuLocale->OptionText, GetLocale(), strOptionText); } if (!boxBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, optionIndex)) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, menuItemId)) ObjectMgr::GetLocaleString(gossipMenuLocale->BoxText, GetLocale(), strBoxText); } } /// Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro. - uint32 newOptionIndex = AddMenuItem(-1, itr->second.OptionIcon, strOptionText, sender, action, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); - AddGossipMenuItemData(newOptionIndex, itr->second.ActionMenuId, itr->second.ActionPoiId); + uint32 newOptionId = AddMenuItem(-1, itr->second.OptionIcon, strOptionText, sender, action, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); + AddGossipMenuItemData(newOptionId, itr->second.ActionMenuID, itr->second.ActionPoiID); } } -void GossipMenu::AddGossipMenuItemData(uint32 optionIndex, uint32 gossipActionMenuId, uint32 gossipActionPoi) +void GossipMenu::AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi) { - GossipMenuItemData& itemData = _menuItemData[optionIndex]; + GossipMenuItemData& itemData = _menuItemData[menuItemId]; itemData.GossipActionMenuId = gossipActionMenuId; itemData.GossipActionPoi = gossipActionPoi; diff --git a/src/server/game/Entities/Creature/GossipDef.h b/src/server/game/Entities/Creature/GossipDef.h index 1f05bd3dfa3..e57e13074a5 100644 --- a/src/server/game/Entities/Creature/GossipDef.h +++ b/src/server/game/Entities/Creature/GossipDef.h @@ -160,18 +160,25 @@ class TC_GAME_API GossipMenu GossipMenu(); ~GossipMenu(); - uint32 AddMenuItem(int32 optionIndex, GossipOptionIcon icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded = false); - void AddMenuItem(uint32 menuId, uint32 optionIndex, uint32 sender, uint32 action); + uint32 AddMenuItem(int32 menuItemId, GossipOptionIcon icon, std::string const& message, uint32 sender, uint32 action, std::string const& boxMessage, uint32 boxMoney, bool coded = false); + void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action); void SetMenuId(uint32 menu_id) { _menuId = menu_id; } uint32 GetMenuId() const { return _menuId; } void SetLocale(LocaleConstant locale) { _locale = locale; } LocaleConstant GetLocale() const { return _locale; } - void AddGossipMenuItemData(uint32 optionIndex, uint32 gossipActionMenuId, uint32 gossipActionPoi); + void AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi); - uint32 GetMenuItemCount() const { return uint32(_menuItems.size()); } - bool Empty() const { return _menuItems.empty(); } + uint32 GetMenuItemCount() const + { + return _menuItems.size(); + } + + bool Empty() const + { + return _menuItems.empty(); + } GossipMenuItem const* GetItem(uint32 id) const { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 2a4bc3cc25d..235771e0326 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14627,7 +14627,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool canTalk = false; break; default: - TC_LOG_ERROR("sql.sql", "Creature entry %u has unknown gossip option %u for menu %u.", creature->GetEntry(), itr->second.OptionType, itr->second.MenuId); + TC_LOG_ERROR("sql.sql", "Creature entry %u has unknown gossip option %u for menu %u.", creature->GetEntry(), itr->second.OptionType, itr->second.MenuID); canTalk = false; break; } @@ -14649,8 +14649,8 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (canTalk) { std::string strOptionText, strBoxText; - BroadcastTextEntry const* optionBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.OptionBroadcastTextId); - BroadcastTextEntry const* boxBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.BoxBroadcastTextId); + BroadcastTextEntry const* optionBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.OptionBroadcastTextID); + BroadcastTextEntry const* boxBroadcastText = sBroadcastTextStore.LookupEntry(itr->second.BoxBroadcastTextID); LocaleConstant locale = GetSession()->GetSessionDbLocaleIndex(); if (optionBroadcastText) @@ -14668,20 +14668,20 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (!optionBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, itr->second.OptionIndex)) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, itr->second.OptionID)) ObjectMgr::GetLocaleString(gossipMenuLocale->OptionText, locale, strOptionText); } if (!boxBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, itr->second.OptionIndex)) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(menuId, itr->second.OptionID)) ObjectMgr::GetLocaleString(gossipMenuLocale->BoxText, locale, strBoxText); } } - menu->GetGossipMenu().AddMenuItem(itr->second.OptionIndex, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); - menu->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionIndex, itr->second.ActionMenuId, itr->second.ActionPoiId); + menu->GetGossipMenu().AddMenuItem(itr->second.OptionID, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); + menu->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionID, itr->second.ActionMenuID, itr->second.ActionPoiID); } } } @@ -14711,7 +14711,7 @@ void Player::SendPreparedGossip(WorldObject* source) PlayerTalkClass->SendGossipMenu(textId, source->GetGUID()); } -void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menuId) +void Player::OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 menuId) { GossipMenu& gossipMenu = PlayerTalkClass->GetGossipMenu(); @@ -14719,7 +14719,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menu if (menuId != gossipMenu.GetMenuId()) return; - GossipMenuItem const* item = gossipMenu.GetItem(optionIndex); + GossipMenuItem const* item = gossipMenu.GetItem(gossipListId); if (!item) return; @@ -14736,7 +14736,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menu } } - GossipMenuItemData const* menuItemData = gossipMenu.GetItemData(optionIndex); + GossipMenuItemData const* menuItemData = gossipMenu.GetItemData(gossipListId); if (!menuItemData) return; @@ -14764,7 +14764,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menu break; } case GOSSIP_OPTION_OUTDOORPVP: - sOutdoorPvPMgr->HandleGossipOption(this, source->ToCreature(), optionIndex); + sOutdoorPvPMgr->HandleGossipOption(this, source->ToCreature(), gossipListId); break; case GOSSIP_OPTION_SPIRITHEALER: if (isDead()) @@ -14783,7 +14783,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menu GetSession()->SendStablePet(guid); break; case GOSSIP_OPTION_TRAINER: - GetSession()->SendTrainerList(source->ToCreature(), sObjectMgr->GetCreatureTrainerForGossipOption(source->GetEntry(), menuId, optionIndex)); + GetSession()->SendTrainerList(source->ToCreature(), sObjectMgr->GetCreatureTrainerForGossipOption(source->GetEntry(), menuId, gossipListId)); break; case GOSSIP_OPTION_LEARNDUALSPEC: break; @@ -14858,7 +14858,7 @@ uint32 Player::GetGossipTextId(uint32 menuId, WorldObject* source) for (GossipMenusContainer::const_iterator itr = menuBounds.first; itr != menuBounds.second; ++itr) { if (sConditionMgr->IsObjectMeetToConditions(this, source, itr->second.Conditions)) - textId = itr->second.TextId; + textId = itr->second.TextID; } return textId; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index b30a748cde9..76d1482bc42 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1498,7 +1498,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void PrepareGossipMenu(WorldObject* source, uint32 menuId = 0, bool showQuests = false); void SendPreparedGossip(WorldObject* source); - void OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menuId); + void OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 menuId); uint32 GetGossipTextId(uint32 menuId, WorldObject* source); uint32 GetGossipTextId(WorldObject* source); |
