From aa6d25139f433eb765c78d3f3d856954a82b5fa5 Mon Sep 17 00:00:00 2001 From: Jonathan Williams Date: Fri, 22 Apr 2016 02:04:57 -0500 Subject: [PATCH] Tweaked elo for team games. --- .../src/mineplex/core/elo/EloManager.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/elo/EloManager.java b/Plugins/Mineplex.Core/src/mineplex/core/elo/EloManager.java index db452c0fa..96de85bbb 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/elo/EloManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/elo/EloManager.java @@ -21,12 +21,12 @@ public class EloManager extends MiniDbClientPlugin _repository = new EloRepository(plugin); _ratingSystem = new EloRatingSystem ( - new KFactor(0, 1299, 30), - new KFactor(1300, 1899, 25), - new KFactor(1900, 2499, 20), - new KFactor(2500, 3099, 15), - new KFactor(3100, 3699, 10), - new KFactor(3700, 5000, 5) + new KFactor(0, 1299, 50), + new KFactor(1300, 1899, 45), + new KFactor(1900, 2499, 40), + new KFactor(2500, 3099, 30), + new KFactor(3100, 3699, 20), + new KFactor(3700, 5000, 10) ); } @@ -42,11 +42,9 @@ public class EloManager extends MiniDbClientPlugin { EloTeam newTeam = new EloTeam(); - int newTotal = _ratingSystem.getNewRating(teamA.TotalElo / teamA.getPlayers().size(), teamB.TotalElo / teamB.getPlayers().size(), result) * teamA.getPlayers().size(); - for (EloPlayer player : teamA.getPlayers()) { - int newRating = (int)(player.getRating() + ((double)player.getRating() / (double)teamA.TotalElo) * (newTotal - teamA.TotalElo)); + int newRating = _ratingSystem.getNewRating(player.getRating(), (teamB.TotalElo / teamB.getPlayers().size()), result); EloPlayer newPlayer = new EloPlayer(player.getPlayer(), newRating); newTeam.addPlayer(newPlayer);