Archiviert
1
0

Fix emblem not being the highest

Dieser Commit ist enthalten in:
yoyosource 2022-03-15 13:23:37 +01:00
Ursprung 23f8e687ad
Commit 641c165782

Datei anzeigen

@ -105,6 +105,8 @@ public class UserElo {
return emblemCache.get(user.getId()); return emblemCache.get(user.getId());
} }
int maxEmblemProgression = 0;
int maxEloOfGameMode = 0;
int maxEloOfPlayer = 0; int maxEloOfPlayer = 0;
ArenaMode arenaMode = null; ArenaMode arenaMode = null;
for (ArenaMode mode : ArenaMode.getAllModes()) { for (ArenaMode mode : ArenaMode.getAllModes()) {
@ -112,17 +114,22 @@ public class UserElo {
if (UserElo.getFightsOfSeason(user.getId(), mode.getSchemType()) < 10) continue; if (UserElo.getFightsOfSeason(user.getId(), mode.getSchemType()) < 10) continue;
Optional<Integer> currentElo = UserElo.getElo(user.getId(), mode.getSchemType()); Optional<Integer> currentElo = UserElo.getElo(user.getId(), mode.getSchemType());
if (currentElo.isPresent() && currentElo.get() > maxEloOfPlayer) { if (currentElo.isPresent()) {
int currentMaxEloOfGameMode = UserElo.getMaxElo(mode.getSchemType());
int progression = getProgression(currentElo.get(), currentMaxEloOfGameMode);
if (progression > maxEmblemProgression) {
maxEmblemProgression = progression;
maxEloOfGameMode = currentMaxEloOfGameMode;
maxEloOfPlayer = currentElo.get(); maxEloOfPlayer = currentElo.get();
arenaMode = mode; arenaMode = mode;
} }
} }
}
if (arenaMode == null) { if (arenaMode == null) {
emblemCache.put(user.getId(), ""); emblemCache.put(user.getId(), "");
return ""; return "";
} }
int maxEloOfGameMode = UserElo.getMaxElo(arenaMode.getSchemType());
String emblem = getEmblem(maxEloOfPlayer, maxEloOfGameMode); String emblem = getEmblem(maxEloOfPlayer, maxEloOfGameMode);
emblemCache.put(user.getId(), emblem); emblemCache.put(user.getId(), emblem);
return emblem; return emblem;