aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2022_01_26_45_world.sql29
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h2
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp4
-rw-r--r--src/server/game/Entities/Creature/GossipDef.cpp36
-rw-r--r--src/server/game/Entities/Creature/GossipDef.h17
-rw-r--r--src/server/game/Entities/Player/Player.cpp26
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp97
-rw-r--r--src/server/game/Globals/ObjectMgr.h40
9 files changed, 141 insertions, 112 deletions
diff --git a/sql/updates/world/master/2022_01_26_45_world.sql b/sql/updates/world/master/2022_01_26_45_world.sql
new file mode 100644
index 00000000000..aacba892b94
--- /dev/null
+++ b/sql/updates/world/master/2022_01_26_45_world.sql
@@ -0,0 +1,29 @@
+ALTER TABLE `gossip_menu` RENAME COLUMN `MenuId` TO `MenuID`;
+ALTER TABLE `gossip_menu` RENAME COLUMN `TextId` TO `TextID`;
+
+ALTER TABLE `gossip_menu_option` RENAME COLUMN `MenuId` TO `MenuID`;
+ALTER TABLE `gossip_menu_option` RENAME COLUMN `OptionIndex` TO `OptionID`;
+ALTER TABLE `gossip_menu_option` RENAME COLUMN `OptionBroadcastTextId` TO `OptionBroadcastTextID`;
+ALTER TABLE `gossip_menu_option` ADD `ActionMenuID` int(10) unsigned NOT NULL DEFAULT 0 AFTER `OptionNpcFlag`;
+ALTER TABLE `gossip_menu_option` ADD `ActionPoiID` int(10) unsigned NOT NULL DEFAULT 0 AFTER `ActionMenuID`;
+ALTER TABLE `gossip_menu_option` ADD `BoxCoded` tinyint(3) unsigned NOT NULL DEFAULT 0 AFTER `ActionPoiID`;
+ALTER TABLE `gossip_menu_option` ADD `BoxMoney` int(10) unsigned NOT NULL DEFAULT 0 AFTER `BoxCoded`;
+ALTER TABLE `gossip_menu_option` ADD `BoxText` mediumtext AFTER `BoxMoney`;
+ALTER TABLE `gossip_menu_option` ADD `BoxBroadcastTextID` int(10) unsigned NOT NULL DEFAULT 0 AFTER `BoxText`;
+
+ALTER TABLE `gossip_menu_option_locale` RENAME COLUMN `MenuId` TO `MenuID`;
+ALTER TABLE `gossip_menu_option_locale` RENAME COLUMN `OptionIndex` TO `OptionID`;
+
+UPDATE `gossip_menu_option` gmo
+ LEFT JOIN `gossip_menu_option_action` gmoa ON gmo.`MenuID` = gmoa.`MenuId` AND gmo.`OptionID` = gmoa.`OptionIndex`
+ LEFT JOIN `gossip_menu_option_box` gmob ON gmo.`MenuId` = gmoa.`MenuId` AND gmo.`OptionID` = gmoa.`OptionIndex`
+ SET gmo.`ActionMenuID` = COALESCE(gmoa.`ActionMenuId`, 0), gmo.`ActionPoiID` = COALESCE(gmoa.`ActionPoiId`, 0),
+ gmo.`BoxCoded` = COALESCE(gmob.`BoxCoded`, 0), gmo.`BoxMoney` = COALESCE(gmob.`BoxMoney`, 0), gmo.`BoxText` = gmob.`BoxText`, gmo.`BoxBroadcastTextID` = COALESCE(gmob.`BoxBroadcastTextId`, 0);
+
+DROP TABLE `gossip_menu_option_action`;
+DROP TABLE `gossip_menu_option_box`;
+
+ALTER TABLE `creature_trainer` RENAME COLUMN `CreatureId` TO `CreatureID`;
+ALTER TABLE `creature_trainer` RENAME COLUMN `TrainerId` TO `TrainerID`;
+ALTER TABLE `creature_trainer` RENAME COLUMN `MenuId` TO `MenuID`;
+ALTER TABLE `creature_trainer` RENAME COLUMN `OptionIndex` TO `OptionID`;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index bc2fb36e5e5..60f28387014 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -566,7 +566,7 @@ enum SMART_ACTION
SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // Flags
SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96, // Flags
SMART_ACTION_JUMP_TO_POS = 97, // speedXY, speedZ, targetX, targetY, targetZ
- SMART_ACTION_SEND_GOSSIP_MENU = 98, // menuId, optionIndex
+ SMART_ACTION_SEND_GOSSIP_MENU = 98, // menuId, optionId
SMART_ACTION_GO_SET_LOOT_STATE = 99, // state
SMART_ACTION_SEND_TARGET_TO_TARGET = 100, // id
SMART_ACTION_SET_HOME_POS = 101, // none
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 1b6fcf48ce1..94de593cc8b 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -1422,7 +1422,7 @@ bool ConditionMgr::addToGossipMenus(Condition* cond) const
{
for (GossipMenusContainer::iterator itr = pMenuBounds.first; itr != pMenuBounds.second; ++itr)
{
- if ((*itr).second.MenuId == cond->SourceGroup && (*itr).second.TextId == uint32(cond->SourceEntry))
+ if ((*itr).second.MenuID == cond->SourceGroup && (*itr).second.TextID == uint32(cond->SourceEntry))
{
(*itr).second.Conditions.push_back(cond);
return true;
@@ -1441,7 +1441,7 @@ bool ConditionMgr::addToGossipMenuItems(Condition* cond) const
{
for (GossipMenuItemsContainer::iterator itr = pMenuItemBounds.first; itr != pMenuItemBounds.second; ++itr)
{
- if ((*itr).second.MenuId == cond->SourceGroup && (*itr).second.OptionIndex == uint32(cond->SourceEntry))
+ if ((*itr).second.MenuID == cond->SourceGroup && (*itr).second.OptionID == uint32(cond->SourceEntry))
{
(*itr).second.Conditions.push_back(cond);
return true;
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);
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index a82aae71be1..67a025c4756 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -288,7 +288,7 @@ void ObjectMgr::LoadGossipMenuItemsLocales()
_gossipMenuItemsLocaleStore.clear(); // need for reload case
// 0 1 2 3 4
- QueryResult result = WorldDatabase.Query("SELECT MenuId, OptionIndex, Locale, OptionText, BoxText FROM gossip_menu_option_locale");
+ QueryResult result = WorldDatabase.Query("SELECT MenuID, OptionID, Locale, OptionText, BoxText FROM gossip_menu_option_locale");
if (!result)
return;
@@ -298,14 +298,14 @@ void ObjectMgr::LoadGossipMenuItemsLocales()
Field* fields = result->Fetch();
uint32 menuId = fields[0].GetUInt32();
- uint32 optionIndex = fields[1].GetUInt32();
+ uint32 optionId = fields[1].GetUInt32();
std::string localeName = fields[2].GetString();
LocaleConstant locale = GetLocaleByName(localeName);
if (!IsValidLocale(locale) || locale == LOCALE_enUS)
continue;
- GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[std::make_pair(menuId, optionIndex)];
+ GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[std::make_pair(menuId, optionId)];
AddLocaleString(fields[3].GetString(), locale, data.OptionText);
AddLocaleString(fields[4].GetString(), locale, data.BoxText);
} while (result->NextRow());
@@ -9363,7 +9363,7 @@ void ObjectMgr::LoadCreatureTrainers()
_creatureDefaultTrainers.clear();
- if (QueryResult result = WorldDatabase.Query("SELECT CreatureId, TrainerId, MenuId, OptionIndex FROM creature_trainer"))
+ if (QueryResult result = WorldDatabase.Query("SELECT CreatureID, TrainerID, MenuID, OptionID FROM creature_trainer"))
{
do
{
@@ -9371,37 +9371,37 @@ void ObjectMgr::LoadCreatureTrainers()
uint32 creatureId = fields[0].GetUInt32();
uint32 trainerId = fields[1].GetUInt32();
uint32 gossipMenuId = fields[2].GetUInt32();
- uint32 gossipOptionIndex = fields[3].GetUInt32();
+ uint32 gossipOptionId = fields[3].GetUInt32();
if (!GetCreatureTemplate(creatureId))
{
- TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing creature template (CreatureId: %u), ignoring", creatureId);
+ TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing creature template (CreatureID: %u), ignoring", creatureId);
continue;
}
if (!GetTrainer(trainerId))
{
- TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing trainer (TrainerId: %u) for CreatureId %u MenuId %u OptionIndex %u, ignoring",
- trainerId, creatureId, gossipMenuId, gossipOptionIndex);
+ TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing trainer (TrainerID: %u) for CreatureID %u MenuID %u OptionID %u, ignoring",
+ trainerId, creatureId, gossipMenuId, gossipOptionId);
continue;
}
- if (gossipMenuId || gossipOptionIndex)
+ if (gossipMenuId || gossipOptionId)
{
Trinity::IteratorPair<GossipMenuItemsContainer::const_iterator> gossipMenuItems = GetGossipMenuItemsMapBounds(gossipMenuId);
- auto gossipOptionItr = std::find_if(gossipMenuItems.begin(), gossipMenuItems.end(), [gossipOptionIndex](std::pair<uint32 const, GossipMenuItems> const& entry)
+ auto gossipOptionItr = std::find_if(gossipMenuItems.begin(), gossipMenuItems.end(), [gossipOptionId](std::pair<uint32 const, GossipMenuItems> const& entry)
{
- return entry.second.OptionIndex == gossipOptionIndex;
+ return entry.second.OptionID == gossipOptionId;
});
if (gossipOptionItr == gossipMenuItems.end())
{
- TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing gossip menu option (MenuId %u OptionIndex %u) for CreatureId %u and TrainerId %u, ignoring",
- gossipMenuId, gossipOptionIndex, creatureId, trainerId);
+ TC_LOG_ERROR("sql.sql", "Table `creature_trainer` references non-existing gossip menu option (MenuID %u OptionID %u) for CreatureID %u and TrainerID %u, ignoring",
+ gossipMenuId, gossipOptionId, creatureId, trainerId);
continue;
}
}
- _creatureDefaultTrainers[std::make_tuple(creatureId, gossipMenuId, gossipOptionIndex)] = trainerId;
+ _creatureDefaultTrainers[std::make_tuple(creatureId, gossipMenuId, gossipOptionId)] = trainerId;
} while (result->NextRow());
}
@@ -9520,7 +9520,7 @@ void ObjectMgr::LoadGossipMenu()
_gossipMenusStore.clear();
// 0 1
- QueryResult result = WorldDatabase.Query("SELECT MenuId, TextId FROM gossip_menu");
+ QueryResult result = WorldDatabase.Query("SELECT MenuID, TextID FROM gossip_menu");
if (!result)
{
@@ -9534,16 +9534,16 @@ void ObjectMgr::LoadGossipMenu()
GossipMenus gMenu;
- gMenu.MenuId = fields[0].GetUInt32();
- gMenu.TextId = fields[1].GetUInt32();
+ gMenu.MenuID = fields[0].GetUInt32();
+ gMenu.TextID = fields[1].GetUInt32();
- if (!GetNpcText(gMenu.TextId))
+ if (!GetNpcText(gMenu.TextID))
{
- TC_LOG_ERROR("sql.sql", "Table gossip_menu: ID %u is using non-existing TextId %u", gMenu.MenuId, gMenu.TextId);
+ TC_LOG_ERROR("sql.sql", "Table gossip_menu: ID %u is using non-existing TextID %u", gMenu.MenuID, gMenu.TextID);
continue;
}
- _gossipMenusStore.insert(GossipMenusContainer::value_type(gMenu.MenuId, gMenu));
+ _gossipMenusStore.insert(GossipMenusContainer::value_type(gMenu.MenuID, gMenu));
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu IDs in %u ms", uint32(_gossipMenusStore.size()), GetMSTimeDiffToNow(oldMSTime));
@@ -9556,16 +9556,9 @@ void ObjectMgr::LoadGossipMenuItems()
_gossipMenuItemsStore.clear();
QueryResult result = WorldDatabase.Query(
- // 0 1 2 3 4 5 6
- "SELECT o.MenuId, o.OptionIndex, o.OptionIcon, o.OptionText, o.OptionBroadcastTextId, o.OptionType, o.OptionNpcFlag, "
- // 7 8
- "oa.ActionMenuId, oa.ActionPoiId, "
- // 9 10 11 12
- "ob.BoxCoded, ob.BoxMoney, ob.BoxText, ob.BoxBroadcastTextId "
- "FROM gossip_menu_option o "
- "LEFT JOIN gossip_menu_option_action oa ON o.MenuId = oa.MenuId AND o.OptionIndex = oa.OptionIndex "
- "LEFT JOIN gossip_menu_option_box ob ON o.MenuId = ob.MenuId AND o.OptionIndex = ob.OptionIndex "
- "ORDER BY o.MenuId, o.OptionIndex");
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12
+ "SELECT MenuID, OptionID, OptionIcon, OptionText, OptionBroadcastTextID, OptionType, OptionNpcFlag, ActionMenuID, ActionPoiID, BoxCoded, BoxMoney, BoxText, BoxBroadcastTextID "
+ "FROM gossip_menu_option ORDER BY MenuID, OptionID");
if (!result)
{
@@ -9579,54 +9572,54 @@ void ObjectMgr::LoadGossipMenuItems()
GossipMenuItems gMenuItem;
- gMenuItem.MenuId = fields[0].GetUInt32();
- gMenuItem.OptionIndex = fields[1].GetUInt32();
+ gMenuItem.MenuID = fields[0].GetUInt32();
+ gMenuItem.OptionID = fields[1].GetUInt32();
gMenuItem.OptionIcon = GossipOptionIcon(fields[2].GetUInt8());
gMenuItem.OptionText = fields[3].GetString();
- gMenuItem.OptionBroadcastTextId = fields[4].GetUInt32();
+ gMenuItem.OptionBroadcastTextID = fields[4].GetUInt32();
gMenuItem.OptionType = fields[5].GetUInt32();
gMenuItem.OptionNpcFlag = fields[6].GetUInt64();
- gMenuItem.ActionMenuId = fields[7].GetUInt32();
- gMenuItem.ActionPoiId = fields[8].GetUInt32();
+ gMenuItem.ActionMenuID = fields[7].GetUInt32();
+ gMenuItem.ActionPoiID = fields[8].GetUInt32();
gMenuItem.BoxCoded = fields[9].GetBool();
gMenuItem.BoxMoney = fields[10].GetUInt32();
gMenuItem.BoxText = fields[11].GetString();
- gMenuItem.BoxBroadcastTextId = fields[12].GetUInt32();
+ gMenuItem.BoxBroadcastTextID = fields[12].GetUInt32();
if (gMenuItem.OptionIcon >= GossipOptionIcon::Count)
{
- TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for MenuId %u, OptionIndex %u has unknown icon id %u. Replacing with GossipOptionIcon::None", gMenuItem.MenuId, gMenuItem.OptionIndex, uint8(gMenuItem.OptionIcon));
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown icon id %u. Replacing with GossipOptionIcon::None", gMenuItem.MenuID, gMenuItem.OptionID, uint32(gMenuItem.OptionIcon));
gMenuItem.OptionIcon = GossipOptionIcon::None;
}
- if (gMenuItem.OptionBroadcastTextId)
+ if (gMenuItem.OptionBroadcastTextID)
{
- if (!sBroadcastTextStore.LookupEntry(gMenuItem.OptionBroadcastTextId))
+ if (!sBroadcastTextStore.LookupEntry(gMenuItem.OptionBroadcastTextID))
{
- TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for MenuId %u, OptionIndex %u has non-existing or incompatible OptionBroadcastTextID %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionBroadcastTextId);
- gMenuItem.OptionBroadcastTextId = 0;
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible OptionBroadcastTextID %u, ignoring.", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.OptionBroadcastTextID);
+ gMenuItem.OptionBroadcastTextID = 0;
}
}
if (gMenuItem.OptionType >= GOSSIP_OPTION_MAX)
- TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for MenuId %u, OptionIndex %u has unknown option id %u. Option will not be used", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionType);
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown option id %u. Option will not be used", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.OptionType);
- if (gMenuItem.ActionPoiId && !GetPointOfInterest(gMenuItem.ActionPoiId))
+ if (gMenuItem.ActionPoiID && !GetPointOfInterest(gMenuItem.ActionPoiID))
{
- TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for MenuId %u, OptionIndex %u use non-existing action_poi_id %u, ignoring", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.ActionPoiId);
- gMenuItem.ActionPoiId = 0;
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u use non-existing ActionPoiID %u, ignoring", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.ActionPoiID);
+ gMenuItem.ActionPoiID = 0;
}
- if (gMenuItem.BoxBroadcastTextId)
+ if (gMenuItem.BoxBroadcastTextID)
{
- if (!sBroadcastTextStore.LookupEntry(gMenuItem.BoxBroadcastTextId))
+ if (!sBroadcastTextStore.LookupEntry(gMenuItem.BoxBroadcastTextID))
{
- TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for MenuId %u, OptionIndex %u has non-existing or incompatible BoxBroadcastTextId %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.BoxBroadcastTextId);
- gMenuItem.BoxBroadcastTextId = 0;
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible BoxBroadcastTextID %u, ignoring.", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.BoxBroadcastTextID);
+ gMenuItem.BoxBroadcastTextID = 0;
}
}
- _gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuId, gMenuItem));
+ _gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuID, gMenuItem));
} while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " gossip_menu_option entries in %u ms", _gossipMenuItemsStore.size(), GetMSTimeDiffToNow(oldMSTime));
@@ -9637,9 +9630,9 @@ Trainer::Trainer const* ObjectMgr::GetTrainer(uint32 trainerId) const
return Trinity::Containers::MapGetValuePtr(_trainers, trainerId);
}
-uint32 ObjectMgr::GetCreatureTrainerForGossipOption(uint32 creatureId, uint32 gossipMenuId, uint32 gossipOptionIndex) const
+uint32 ObjectMgr::GetCreatureTrainerForGossipOption(uint32 creatureId, uint32 gossipMenuId, uint32 gossipOptionId) const
{
- auto itr = _creatureDefaultTrainers.find(std::make_tuple(creatureId, gossipMenuId, gossipOptionIndex));
+ auto itr = _creatureDefaultTrainers.find(std::make_tuple(creatureId, gossipMenuId, gossipOptionId));
if (itr != _creatureDefaultTrainers.end())
return itr->second;
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 852dd68e121..65956b83e87 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -747,27 +747,27 @@ struct PointOfInterest
struct GossipMenuItems
{
- uint32 MenuId;
- uint32 OptionIndex;
- GossipOptionIcon OptionIcon;
- std::string OptionText;
- uint32 OptionBroadcastTextId;
- uint32 OptionType;
- uint64 OptionNpcFlag;
- uint32 ActionMenuId;
- uint32 ActionPoiId;
- bool BoxCoded;
- uint32 BoxMoney;
- std::string BoxText;
- uint32 BoxBroadcastTextId;
- ConditionContainer Conditions;
+ uint32 MenuID;
+ uint32 OptionID;
+ GossipOptionIcon OptionIcon;
+ std::string OptionText;
+ uint32 OptionBroadcastTextID;
+ uint32 OptionType;
+ uint32 OptionNpcFlag;
+ uint32 ActionMenuID;
+ uint32 ActionPoiID;
+ bool BoxCoded;
+ uint32 BoxMoney;
+ std::string BoxText;
+ uint32 BoxBroadcastTextID;
+ ConditionContainer Conditions;
};
struct GossipMenus
{
- uint32 MenuId;
- uint32 TextId;
- ConditionContainer Conditions;
+ uint32 MenuID;
+ uint32 TextID;
+ ConditionContainer Conditions;
};
typedef std::multimap<uint32, GossipMenus> GossipMenusContainer;
@@ -1570,9 +1570,9 @@ class TC_GAME_API ObjectMgr
if (itr == _pageTextLocaleStore.end()) return nullptr;
return &itr->second;
}
- GossipMenuItemsLocale const* GetGossipMenuItemsLocale(uint32 menuId, uint32 optionIndex) const
+ GossipMenuItemsLocale const* GetGossipMenuItemsLocale(uint32 menuId, uint32 optionId) const
{
- auto itr = _gossipMenuItemsLocaleStore.find(std::make_pair(menuId, optionIndex));
+ auto itr = _gossipMenuItemsLocaleStore.find(std::make_pair(menuId, optionId));
if (itr == _gossipMenuItemsLocaleStore.end()) return nullptr;
return &itr->second;
}
@@ -1636,7 +1636,7 @@ class TC_GAME_API ObjectMgr
{
return GetCreatureTrainerForGossipOption(creatureId, 0, 0);
}
- uint32 GetCreatureTrainerForGossipOption(uint32 creatureId, uint32 gossipMenuId, uint32 gossipOptionIndex) const;
+ uint32 GetCreatureTrainerForGossipOption(uint32 creatureId, uint32 gossipMenuId, uint32 gossipOptionId) const;
VendorItemData const* GetNpcVendorItemList(uint32 entry) const
{