Using doubles in most places again to avoid precision loss

This commit is contained in:
nossr50
2019-06-04 21:12:10 -07:00
parent 32fa6cee96
commit fc6c6ed2c4
59 changed files with 382 additions and 351 deletions

View File

@ -1118,7 +1118,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
private PlayerProfile loadFromLine(String[] character) {
Map<PrimarySkillType, Integer> skills = getSkillMapFromLine(character); // Skill levels
Map<PrimarySkillType, Float> skillsXp = new EnumMap<>(PrimarySkillType.class); // Skill & XP
Map<PrimarySkillType, Double> skillsXp = new EnumMap<>(PrimarySkillType.class); // Skill & XP
Map<SuperAbilityType, Integer> skillsDATS = new EnumMap<>(SuperAbilityType.class); // Ability & Cooldown
Map<UniqueDataType, Integer> uniquePlayerDataMap = new EnumMap<>(UniqueDataType.class);
MobHealthbarType mobHealthbarType;
@ -1126,19 +1126,19 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
// TODO on updates, put new values in a try{} ?
skillsXp.put(PrimarySkillType.TAMING, (float) Integer.valueOf(character[EXP_TAMING]));
skillsXp.put(PrimarySkillType.MINING, (float) Integer.valueOf(character[EXP_MINING]));
skillsXp.put(PrimarySkillType.REPAIR, (float) Integer.valueOf(character[EXP_REPAIR]));
skillsXp.put(PrimarySkillType.WOODCUTTING, (float) Integer.valueOf(character[EXP_WOODCUTTING]));
skillsXp.put(PrimarySkillType.UNARMED, (float) Integer.valueOf(character[EXP_UNARMED]));
skillsXp.put(PrimarySkillType.HERBALISM, (float) Integer.valueOf(character[EXP_HERBALISM]));
skillsXp.put(PrimarySkillType.EXCAVATION, (float) Integer.valueOf(character[EXP_EXCAVATION]));
skillsXp.put(PrimarySkillType.ARCHERY, (float) Integer.valueOf(character[EXP_ARCHERY]));
skillsXp.put(PrimarySkillType.SWORDS, (float) Integer.valueOf(character[EXP_SWORDS]));
skillsXp.put(PrimarySkillType.AXES, (float) Integer.valueOf(character[EXP_AXES]));
skillsXp.put(PrimarySkillType.ACROBATICS, (float) Integer.valueOf(character[EXP_ACROBATICS]));
skillsXp.put(PrimarySkillType.FISHING, (float) Integer.valueOf(character[EXP_FISHING]));
skillsXp.put(PrimarySkillType.ALCHEMY, (float) Integer.valueOf(character[EXP_ALCHEMY]));
skillsXp.put(PrimarySkillType.TAMING, (double) Integer.valueOf(character[EXP_TAMING]));
skillsXp.put(PrimarySkillType.MINING, (double) Integer.valueOf(character[EXP_MINING]));
skillsXp.put(PrimarySkillType.REPAIR, (double) Integer.valueOf(character[EXP_REPAIR]));
skillsXp.put(PrimarySkillType.WOODCUTTING, (double) Integer.valueOf(character[EXP_WOODCUTTING]));
skillsXp.put(PrimarySkillType.UNARMED, (double) Integer.valueOf(character[EXP_UNARMED]));
skillsXp.put(PrimarySkillType.HERBALISM, (double) Integer.valueOf(character[EXP_HERBALISM]));
skillsXp.put(PrimarySkillType.EXCAVATION, (double) Integer.valueOf(character[EXP_EXCAVATION]));
skillsXp.put(PrimarySkillType.ARCHERY, (double) Integer.valueOf(character[EXP_ARCHERY]));
skillsXp.put(PrimarySkillType.SWORDS, (double) Integer.valueOf(character[EXP_SWORDS]));
skillsXp.put(PrimarySkillType.AXES, (double) Integer.valueOf(character[EXP_AXES]));
skillsXp.put(PrimarySkillType.ACROBATICS, (double) Integer.valueOf(character[EXP_ACROBATICS]));
skillsXp.put(PrimarySkillType.FISHING, (double) Integer.valueOf(character[EXP_FISHING]));
skillsXp.put(PrimarySkillType.ALCHEMY, (double) Integer.valueOf(character[EXP_ALCHEMY]));
// Taming - Unused
skillsDATS.put(SuperAbilityType.SUPER_BREAKER, Integer.valueOf(character[COOLDOWN_SUPER_BREAKER]));

View File

@ -1049,7 +1049,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
private PlayerProfile loadFromResult(String playerName, ResultSet result) throws SQLException {
Map<PrimarySkillType, Integer> skills = new EnumMap<>(PrimarySkillType.class); // Skill & Level
Map<PrimarySkillType, Float> skillsXp = new EnumMap<>(PrimarySkillType.class); // Skill & XP
Map<PrimarySkillType, Double> skillsXp = new EnumMap<>(PrimarySkillType.class); // Skill & XP
Map<SuperAbilityType, Integer> skillsDATS = new EnumMap<>(SuperAbilityType.class); // Ability & Cooldown
Map<UniqueDataType, Integer> uniqueData = new EnumMap<>(UniqueDataType.class); //Chimaera wing cooldown and other misc info
MobHealthbarType mobHealthbarType;
@ -1076,19 +1076,19 @@ public final class SQLDatabaseManager implements DatabaseManager {
skills.put(PrimarySkillType.FISHING, result.getInt(OFFSET_SKILLS + 12));
skills.put(PrimarySkillType.ALCHEMY, result.getInt(OFFSET_SKILLS + 13));
skillsXp.put(PrimarySkillType.TAMING, result.getFloat(OFFSET_XP + 1));
skillsXp.put(PrimarySkillType.MINING, result.getFloat(OFFSET_XP + 2));
skillsXp.put(PrimarySkillType.REPAIR, result.getFloat(OFFSET_XP + 3));
skillsXp.put(PrimarySkillType.WOODCUTTING, result.getFloat(OFFSET_XP + 4));
skillsXp.put(PrimarySkillType.UNARMED, result.getFloat(OFFSET_XP + 5));
skillsXp.put(PrimarySkillType.HERBALISM, result.getFloat(OFFSET_XP + 6));
skillsXp.put(PrimarySkillType.EXCAVATION, result.getFloat(OFFSET_XP + 7));
skillsXp.put(PrimarySkillType.ARCHERY, result.getFloat(OFFSET_XP + 8));
skillsXp.put(PrimarySkillType.SWORDS, result.getFloat(OFFSET_XP + 9));
skillsXp.put(PrimarySkillType.AXES, result.getFloat(OFFSET_XP + 10));
skillsXp.put(PrimarySkillType.ACROBATICS, result.getFloat(OFFSET_XP + 11));
skillsXp.put(PrimarySkillType.FISHING, result.getFloat(OFFSET_XP + 12));
skillsXp.put(PrimarySkillType.ALCHEMY, result.getFloat(OFFSET_XP + 13));
skillsXp.put(PrimarySkillType.TAMING, result.getDouble(OFFSET_XP + 1));
skillsXp.put(PrimarySkillType.MINING, result.getDouble(OFFSET_XP + 2));
skillsXp.put(PrimarySkillType.REPAIR, result.getDouble(OFFSET_XP + 3));
skillsXp.put(PrimarySkillType.WOODCUTTING, result.getDouble(OFFSET_XP + 4));
skillsXp.put(PrimarySkillType.UNARMED, result.getDouble(OFFSET_XP + 5));
skillsXp.put(PrimarySkillType.HERBALISM, result.getDouble(OFFSET_XP + 6));
skillsXp.put(PrimarySkillType.EXCAVATION, result.getDouble(OFFSET_XP + 7));
skillsXp.put(PrimarySkillType.ARCHERY, result.getDouble(OFFSET_XP + 8));
skillsXp.put(PrimarySkillType.SWORDS, result.getDouble(OFFSET_XP + 9));
skillsXp.put(PrimarySkillType.AXES, result.getDouble(OFFSET_XP + 10));
skillsXp.put(PrimarySkillType.ACROBATICS, result.getDouble(OFFSET_XP + 11));
skillsXp.put(PrimarySkillType.FISHING, result.getDouble(OFFSET_XP + 12));
skillsXp.put(PrimarySkillType.ALCHEMY, result.getDouble(OFFSET_XP + 13));
// Taming - Unused - result.getInt(OFFSET_DATS + 1)
skillsDATS.put(SuperAbilityType.SUPER_BREAKER, result.getInt(OFFSET_DATS + 2));