[3.3.5] Scripts/Commands: .arena command conversion

Port From (https://github.com/TrinityCore/TrinityCore/commit/706163743d481e092111401752c9cbb056b35e69)
This commit is contained in:
hondacrx
2022-06-07 17:47:02 -04:00
parent 96e3386cf4
commit 22e3faa502
5 changed files with 64 additions and 156 deletions
+4 -6
View File
@@ -36,8 +36,8 @@ namespace Game.Arenas
public bool Create(ObjectGuid captainGuid, byte _type, string arenaTeamName, uint backgroundColor, byte emblemStyle, uint emblemColor, byte borderStyle, uint borderColor)
{
// Check if captain is present
if (!Global.ObjAccessor.FindPlayer(captainGuid))
// Check if captain exists
if (Global.CharacterCacheStorage.GetCharacterCacheByGuid(captainGuid) == null)
return false;
// Check if arena team name is already taken
@@ -570,11 +570,9 @@ namespace Game.Arenas
// Update team's rank, start with rank 1 and increase until no team with more rating was found
stats.Rank = 1;
foreach (var i in Global.ArenaTeamMgr.GetArenaTeamMap())
{
if (i.Value.GetArenaType() == type && i.Value.GetStats().Rating > stats.Rating)
foreach (var (_, team) in Global.ArenaTeamMgr.GetArenaTeamMap())
if (team.GetArenaType() == type && team.GetStats().Rating > stats.Rating)
++stats.Rank;
}
}
public int WonAgainst(uint ownMMRating, uint opponentMMRating, ref int ratingChange)
+8 -9
View File
@@ -36,27 +36,26 @@ namespace Game.Arenas
public ArenaTeam GetArenaTeamByName(string arenaTeamName)
{
string search = arenaTeamName.ToLower();
foreach (var team in ArenaTeamStorage.Values)
{
string teamName = team.GetName().ToLower();
if (search == teamName)
foreach (var (_, team) in ArenaTeamStorage)
if (search == team.GetName().ToLower())
return team;
}
return null;
}
public ArenaTeam GetArenaTeamByCaptain(ObjectGuid guid)
{
foreach (var pair in ArenaTeamStorage)
if (pair.Value.GetCaptain() == guid)
return pair.Value;
foreach (var (_, team) in ArenaTeamStorage)
if (team.GetCaptain() == guid)
return team;
return null;
}
public void AddArenaTeam(ArenaTeam arenaTeam)
{
ArenaTeamStorage[arenaTeam.GetId()] = arenaTeam;
var added = ArenaTeamStorage.TryAdd(arenaTeam.GetId(), arenaTeam);
Cypher.Assert(!added, $"Duplicate arena team with ID {arenaTeam.GetId()}");
}
public void RemoveArenaTeam(uint arenaTeamId)