From fd4c1fbb953d3219ce4e215372666a2d838abc99 Mon Sep 17 00:00:00 2001 From: Qweqker Date: Fri, 21 Feb 2020 12:11:26 -0500 Subject: [PATCH] Added Check to see if the player has died previously on HCIM. Added separate SQL entry to execute specific SQL if the player passes that check. --- .../mysql/impl/HighscoreSQLHandler.java | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/Server/src/org/crandor/game/system/mysql/impl/HighscoreSQLHandler.java b/Server/src/org/crandor/game/system/mysql/impl/HighscoreSQLHandler.java index a1bb5e864..d57cc016a 100644 --- a/Server/src/org/crandor/game/system/mysql/impl/HighscoreSQLHandler.java +++ b/Server/src/org/crandor/game/system/mysql/impl/HighscoreSQLHandler.java @@ -37,7 +37,7 @@ public final class HighscoreSQLHandler extends SQLEntryHandler { return; } StringBuilder b = new StringBuilder("INSERT highscores(username,overall_xp,total_level,ironManMode,xp_0,xp_1,xp_2,xp_3,xp_4,xp_5,xp_6,xp_7,xp_8,xp_9,xp_10,xp_11,xp_12,xp_13,xp_14,xp_15,xp_16,xp_17,xp_18,xp_19,xp_20,xp_21,xp_22,xp_23) "); - b.append("VALUES('" + value + "', '" + getTotalXp() + "', '" + entry.getSkills().getTotalLevel() + "', '" + entry.getIronmanManager().getMode().name() + "', "); + b.append("VALUES('" + value + "', '" + entry.getSkills().getTotalXp() + "', '" + entry.getSkills().getTotalLevel() + "', '" + entry.getIronmanManager().getMode().name() + "', "); int xp; for (int i = 0; i < Skills.SKILL_NAME.length; i++) { xp = (int) entry.getSkills().getExperience(i); @@ -59,16 +59,15 @@ public final class HighscoreSQLHandler extends SQLEntryHandler { create(); return; } - if (entry.getIronmanManager().checkRestriction(IronmanMode.HARDCORE_DEAD)) - { + if (entry.getSavedData().getActivityData().getHardcoreDeath() == 1){ //Update the SQL table to indicate the player was a Hardcore ironman that died, do not update hiscores - StringBuilder b = new StringBuilder("UPDATE highscores SET ironManMode='" + entry.getIronmanManager().getMode().name() + "' WHERE username ='" + value +"'"); + StringBuilder b = new StringBuilder("UPDATE highscores SET ironManMode='HARDCORE_DEAD' WHERE username ='" + value + "'"); PreparedStatement statement = connection.prepareStatement(b.toString()); statement.executeUpdate(); SQLManager.close(statement.getConnection()); return; } - StringBuilder b = new StringBuilder("UPDATE highscores SET overall_xp='" + getTotalXp() + "', total_level='" + entry.getSkills().getTotalLevel() + "', ironManMode='" + entry.getIronmanManager().getMode().name() + "', "); + StringBuilder b = new StringBuilder("UPDATE highscores SET overall_xp='" + entry.getSkills().getTotalXp() + "', total_level='" + entry.getSkills().getTotalLevel() + "', ironManMode='" + entry.getIronmanManager().getMode().name() + "', "); int xp; for (int i = 0; i < Skills.SKILL_NAME.length; i++) { xp = (int) entry.getSkills().getExperience(i); @@ -97,16 +96,4 @@ public final class HighscoreSQLHandler extends SQLEntryHandler { return SQLManager.getConnection(); } - /** - * Gets the total exp. - * @return the exp. - */ - public int getTotalXp() { - int total = 0; - for (int skill = 0; skill < Skills.SKILL_NAME.length; skill++) { - total += entry.getSkills().getExperience(skill); - } - return total; - } - } \ No newline at end of file