aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/ArenaTeamMgr.cpp
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-09-06 23:36:23 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-05 13:57:50 +0100
commit706163743d481e092111401752c9cbb056b35e69 (patch)
treeeca161d19bec27a57de0e7e258019bd40b179149 /src/server/game/Battlegrounds/ArenaTeamMgr.cpp
parentca498ffab23e9be7a4ffc6ea6adbfa3c01d5e6f6 (diff)
[3.3.5] Scripts/Commands: .arena command conversion (PR #25407)
(cherry picked from commit b63d655e20a0facf14fc77798c52ea67d8551fa7)
Diffstat (limited to 'src/server/game/Battlegrounds/ArenaTeamMgr.cpp')
-rw-r--r--src/server/game/Battlegrounds/ArenaTeamMgr.cpp26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp
index a85484a2331..51c811f3221 100644
--- a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp
+++ b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp
@@ -45,36 +45,30 @@ ArenaTeam* ArenaTeamMgr::GetArenaTeamById(uint32 arenaTeamId) const
ArenaTeamContainer::const_iterator itr = ArenaTeamStore.find(arenaTeamId);
if (itr != ArenaTeamStore.end())
return itr->second;
-
return nullptr;
}
-ArenaTeam* ArenaTeamMgr::GetArenaTeamByName(const std::string& arenaTeamName) const
+ArenaTeam* ArenaTeamMgr::GetArenaTeamByName(std::string_view arenaTeamName) const
{
- std::string search = arenaTeamName;
- std::transform(search.begin(), search.end(), search.begin(), ::toupper);
- for (ArenaTeamContainer::const_iterator itr = ArenaTeamStore.begin(); itr != ArenaTeamStore.end(); ++itr)
- {
- std::string teamName = itr->second->GetName();
- std::transform(teamName.begin(), teamName.end(), teamName.begin(), ::toupper);
- if (search == teamName)
- return itr->second;
- }
+ for (auto [teamId, team] : ArenaTeamStore)
+ if (StringEqualI(arenaTeamName, team->GetName()))
+ return team;
return nullptr;
}
ArenaTeam* ArenaTeamMgr::GetArenaTeamByCaptain(ObjectGuid guid) const
{
- for (ArenaTeamContainer::const_iterator itr = ArenaTeamStore.begin(); itr != ArenaTeamStore.end(); ++itr)
- if (itr->second->GetCaptain() == guid)
- return itr->second;
-
+ for (auto [teamId, team] : ArenaTeamStore)
+ if (team->GetCaptain() == guid)
+ return team;
return nullptr;
}
void ArenaTeamMgr::AddArenaTeam(ArenaTeam* arenaTeam)
{
- ArenaTeamStore[arenaTeam->GetId()] = arenaTeam;
+ ArenaTeam*& team = ArenaTeamStore[arenaTeam->GetId()];
+ ASSERT((team == nullptr) || (team == arenaTeam), "Duplicate arena team with ID %u", arenaTeam->GetId());
+ team = arenaTeam;
}
void ArenaTeamMgr::RemoveArenaTeam(uint32 arenaTeamId)