aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/GossipDef.cpp68
-rw-r--r--src/server/game/Globals/ObjectMgr.h20
2 files changed, 30 insertions, 58 deletions
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp
index 85d6ecb7e3d..20390ce2833 100644
--- a/src/server/game/Entities/Creature/GossipDef.cpp
+++ b/src/server/game/Entities/Creature/GossipDef.cpp
@@ -54,33 +54,26 @@ uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOpt
{
// set baseline orderIndex as higher than whatever exists in db
Trinity::IteratorPair bounds = sObjectMgr->GetGossipMenuItemsMapBounds(_menuId);
- auto itr = std::max_element(bounds.begin(), bounds.end(), [](GossipMenuItemsContainer::value_type const& a, GossipMenuItemsContainer::value_type const& b)
- {
- return a.second.OrderIndex < b.second.OrderIndex;
- });
+ auto itr = std::ranges::max_element(bounds, std::ranges::less(),
+ [](GossipMenuItemsContainer::value_type const& a) { return a.second.OrderIndex; });
+
if (itr != bounds.end())
orderIndex = itr->second.OrderIndex + 1;
}
- if (!_menuItems.empty())
+ for (GossipMenuItem const& _menuItem : _menuItems)
{
- for (GossipMenuItemContainer::const_iterator itr = _menuItems.begin(); itr != _menuItems.end(); ++itr)
- {
- if (int32(itr->OrderIndex) > orderIndex)
- break;
+ if (int32(_menuItem.OrderIndex) > orderIndex)
+ break;
- orderIndex = itr->OrderIndex + 1;
- }
+ orderIndex = _menuItem.OrderIndex + 1;
}
}
if (!gossipOptionId)
gossipOptionId = -(int32(_menuId) * 100 + orderIndex);
- auto where = std::lower_bound(_menuItems.begin(), _menuItems.end(), orderIndex, [](GossipMenuItem const& item, int32 index)
- {
- return int32(item.OrderIndex) < index;
- });
+ auto where = std::ranges::lower_bound(_menuItems, uint32(orderIndex), std::ranges::less(), &GossipMenuItem::OrderIndex);
GossipMenuItem& menuItem = *_menuItems.emplace(where);
menuItem.GossipOptionID = gossipOptionId;
@@ -116,10 +109,8 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, ui
Trinity::IteratorPair bounds = sObjectMgr->GetGossipMenuItemsMapBounds(menuId);
/// Find the one with the given menu item id.
- auto itr = std::find_if(bounds.begin(), bounds.end(), [menuItemId](std::pair<uint32 const, GossipMenuItems> const& itemPair)
- {
- return itemPair.second.OrderIndex == menuItemId;
- });
+ auto itr = std::ranges::find(bounds, menuItemId,
+ [](std::pair<uint32 const, GossipMenuItems> const& itemPair) { return itemPair.second.OrderIndex; });
if (itr == bounds.end())
return;
@@ -167,11 +158,7 @@ void GossipMenu::AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uin
GossipMenuItem const* GossipMenu::GetItem(int32 gossipOptionId) const
{
- auto itr = std::find_if(_menuItems.begin(), _menuItems.end(), [gossipOptionId](GossipMenuItem const& item)
- {
- return item.GossipOptionID == gossipOptionId;
- });
-
+ auto itr = std::ranges::find(_menuItems, gossipOptionId, &GossipMenuItem::GossipOptionID);
if (itr != _menuItems.end())
return &*itr;
@@ -180,11 +167,7 @@ GossipMenuItem const* GossipMenu::GetItem(int32 gossipOptionId) const
GossipMenuItem const* GossipMenu::GetItemByIndex(uint32 orderIndex) const
{
- auto itr = std::find_if(_menuItems.begin(), _menuItems.end(), [orderIndex](GossipMenuItem const& item)
- {
- return item.OrderIndex == orderIndex;
- });
-
+ auto itr = std::ranges::find(_menuItems, orderIndex, &GossipMenuItem::OrderIndex);
if (itr != _menuItems.end())
return &*itr;
@@ -193,8 +176,7 @@ GossipMenuItem const* GossipMenu::GetItemByIndex(uint32 orderIndex) const
uint32 GossipMenu::GetMenuItemSender(uint32 orderIndex) const
{
- GossipMenuItem const* item = GetItemByIndex(orderIndex);
- if (item)
+ if (GossipMenuItem const* item = GetItemByIndex(orderIndex))
return item->Sender;
return 0;
@@ -202,8 +184,7 @@ uint32 GossipMenu::GetMenuItemSender(uint32 orderIndex) const
uint32 GossipMenu::GetMenuItemAction(uint32 orderIndex) const
{
- GossipMenuItem const* item = GetItemByIndex(orderIndex);
- if (item)
+ if (GossipMenuItem const* item = GetItemByIndex(orderIndex))
return item->Action;
return 0;
@@ -211,11 +192,10 @@ uint32 GossipMenu::GetMenuItemAction(uint32 orderIndex) const
bool GossipMenu::IsMenuItemCoded(uint32 orderIndex) const
{
- GossipMenuItem const* item = GetItemByIndex(orderIndex);
- if (item)
+ if (GossipMenuItem const* item = GetItemByIndex(orderIndex))
return item->BoxCoded;
- return 0;
+ return false;
}
void GossipMenu::ClearMenu()
@@ -362,21 +342,15 @@ void QuestMenu::AddMenuItem(uint32 QuestId, uint8 Icon)
ASSERT(_questMenuItems.size() <= GOSSIP_MAX_MENU_ITEMS);
- QuestMenuItem questMenuItem;
+ QuestMenuItem& questMenuItem = _questMenuItems.emplace_back();
questMenuItem.QuestId = QuestId;
questMenuItem.QuestIcon = Icon;
-
- _questMenuItems.push_back(questMenuItem);
}
bool QuestMenu::HasItem(uint32 questId) const
{
- for (QuestMenuItemList::const_iterator i = _questMenuItems.begin(); i != _questMenuItems.end(); ++i)
- if (i->QuestId == questId)
- return true;
-
- return false;
+ return advstd::ranges::contains(_questMenuItems, questId, &QuestMenuItem::QuestId);
}
void QuestMenu::ClearMenu()
@@ -460,7 +434,7 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
packet.PortraitTurnInName = quest->GetPortraitTurnInName();
LocaleConstant localeConstant = _session->GetSessionDbLocaleIndex();
- std::transform(quest->GetConditionalQuestDescription().begin(), quest->GetConditionalQuestDescription().end(), std::back_inserter(packet.ConditionalDescriptionText), [localeConstant](QuestConditionalText const& text)
+ std::ranges::transform(quest->GetConditionalQuestDescription(), std::back_inserter(packet.ConditionalDescriptionText), [localeConstant](QuestConditionalText const& text)
{
std::string_view content = text.Text[LOCALE_enUS];
ObjectMgr::GetLocaleString(text.Text, localeConstant, content);
@@ -559,7 +533,7 @@ void PlayerMenu::SendQuestGiverOfferReward(Quest const* quest, ObjectGuid npcGUI
packet.PortraitTurnInName = quest->GetPortraitTurnInName();
LocaleConstant locale = _session->GetSessionDbLocaleIndex();
- std::transform(quest->GetConditionalOfferRewardText().begin(), quest->GetConditionalOfferRewardText().end(), std::back_inserter(packet.ConditionalRewardText), [locale](QuestConditionalText const& text)
+ std::ranges::transform(quest->GetConditionalOfferRewardText(), std::back_inserter(packet.ConditionalRewardText), [locale](QuestConditionalText const& text)
{
std::string_view content = text.Text[LOCALE_enUS];
ObjectMgr::GetLocaleString(text.Text, locale, content);
@@ -634,7 +608,7 @@ void PlayerMenu::SendQuestGiverRequestItems(Quest const* quest, ObjectGuid npcGU
packet.CompletionText = quest->GetRequestItemsText();
LocaleConstant locale = _session->GetSessionDbLocaleIndex();
- std::transform(quest->GetConditionalRequestItemsText().begin(), quest->GetConditionalRequestItemsText().end(), std::back_inserter(packet.ConditionalCompletionText), [locale](QuestConditionalText const& text)
+ std::ranges::transform(quest->GetConditionalRequestItemsText(), std::back_inserter(packet.ConditionalCompletionText), [locale](QuestConditionalText const& text)
{
std::string_view content = text.Text[LOCALE_enUS];
ObjectMgr::GetLocaleString(text.Text, locale, content);
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index f523e50a225..491e1b92679 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -936,28 +936,26 @@ struct PlayerChoiceResponse
struct PlayerChoice
{
- int32 ChoiceId;
- int32 UiTextureKitId;
- uint32 SoundKitId;
- uint32 CloseSoundKitId;
- int64 Duration;
+ int32 ChoiceId = 0;
+ int32 UiTextureKitId = 0;
+ uint32 SoundKitId = 0;
+ uint32 CloseSoundKitId = 0;
+ int64 Duration = 0;
std::string Question;
std::string PendingChoiceText;
std::vector<PlayerChoiceResponse> Responses;
- bool HideWarboardHeader;
- bool KeepOpenAfterChoice;
+ bool HideWarboardHeader = false;
+ bool KeepOpenAfterChoice = false;
PlayerChoiceResponse const* GetResponse(int32 responseId) const
{
- auto itr = std::find_if(Responses.begin(), Responses.end(),
- [responseId](PlayerChoiceResponse const& playerChoiceResponse) { return playerChoiceResponse.ResponseId == responseId; });
+ auto itr = std::ranges::find(Responses, responseId, &PlayerChoiceResponse::ResponseId);
return itr != Responses.end() ? &(*itr) : nullptr;
}
PlayerChoiceResponse const* GetResponseByIdentifier(int32 responseIdentifier) const
{
- auto itr = std::find_if(Responses.begin(), Responses.end(),
- [responseIdentifier](PlayerChoiceResponse const& playerChoiceResponse) { return playerChoiceResponse.ResponseIdentifier == responseIdentifier; });
+ auto itr = std::ranges::find(Responses, responseIdentifier, &PlayerChoiceResponse::ResponseIdentifier);
return itr != Responses.end() ? &(*itr) : nullptr;
}
};