Improve level calculation/Add farm & fight level
This commit is contained in:
@@ -87,11 +87,13 @@ public final class Level {
|
||||
ResultSet pots = Core.getMySql().querySelect("SELECT count(*) as pots FROM coreFoundPots WHERE player" + whereClause);
|
||||
ResultSet stages = Core.getMySql().querySelect("SELECT count(*) as stages FROM jumpUsers WHERE playerId" + whereClause);
|
||||
ResultSet smashClasses = Core.getMySql().querySelect("SELECT count(*) as classes FROM smashClasses WHERE playerId" + whereClause);
|
||||
ResultSet ffStats = Core.getMySql().querySelect("SELECT SUM(totalKillsAlive) as killsAlive, SUM(totalKillsUndead) as killsUndead, SUM(totalDeaths) as totalDeaths, SUM(hasWon) as wins, COUNT(*) as games FROM ffStatsPlayers WHERE playerId" + whereClause);
|
||||
stats.first();
|
||||
features.first();
|
||||
pots.first();
|
||||
stages.first();
|
||||
smashClasses.first();
|
||||
ffStats.first();
|
||||
int time = stats.getInt("onlineTime");
|
||||
double walked = stats.getInt("walkedMeters");
|
||||
int wins = stats.getInt("aimTheWaterWins");
|
||||
@@ -99,15 +101,32 @@ public final class Level {
|
||||
double deaths = stats.getInt("smashDeaths");
|
||||
double killstreak = stats.getInt("smashKillstreak");
|
||||
double smashMoney = stats.getInt("smashMoney");
|
||||
int maxSmashLevel = stats.getInt("maxSmashLevel");
|
||||
int maxFFLevel = stats.getInt("maxFFLevel");
|
||||
int feature = features.getInt("features");
|
||||
int pot = pots.getInt("pots");
|
||||
int stage = stages.getInt("stages");
|
||||
int classes = smashClasses.getInt("classes");
|
||||
double level = (time * 0.0375 + walked / 300.0 + wins * 400 + feature * 1200 + pot * 200 + stage * 300) / 400.0;
|
||||
int ffKills = ffStats.getInt("killsAlive") + ffStats.getInt("killsUndead");
|
||||
int ffDeaths = ffStats.getInt("totalDeaths");
|
||||
int ffWins = ffStats.getInt("wins");
|
||||
int ffGames = ffStats.getInt("games");
|
||||
double fLevel = (ffKills/(ffDeaths + 1)) * 2 * (ffKills / 25) + ffWins / 5 + ffGames / 15;
|
||||
double level = (time * 0.0375 + walked / 300.0 + wins * 250 + feature * 1200 + pot * 200 + stage * 400) / 400.0;
|
||||
double sLevel = ((kills / (deaths + 1)) * kills / 90 + smashMoney / 90 + classes * 5 + (killstreak * killstreak) / 4) / 3 + 1;
|
||||
if (maxSmashLevel < sLevel) {
|
||||
maxSmashLevel = (int) sLevel;
|
||||
}
|
||||
if (maxFFLevel < fLevel) {
|
||||
maxFFLevel = (int) fLevel;
|
||||
}
|
||||
level += (double) (maxSmashLevel / 4);
|
||||
level += (double) maxFFLevel;
|
||||
System.out.println(level);
|
||||
anuraLevel.put(P, (int) level);
|
||||
smashLevel.put(P, (int) sLevel);
|
||||
Core.getMySql().queryUpdate("UPDATE coreStats SET level = '" + level + "', smashLevel = '" + sLevel + "' WHERE player" + whereClause);
|
||||
ffLevel.put(P, (int) fLevel);
|
||||
Core.getMySql().queryUpdate("UPDATE coreStats SET level = '" + level + "', smashLevel = '" + sLevel + "', maxSmashLevel = '" + maxSmashLevel + "', ffLevel = '" + fLevel + "', maxFFLevel = '" + maxFFLevel + "' WHERE player" + whereClause);
|
||||
} catch(Throwable e) {
|
||||
Errors.reportException(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user