diff --git a/src/main/java/client/AbstractCharacterObject.java b/src/main/java/client/AbstractCharacterObject.java index e178ac1f43..4703007a72 100644 --- a/src/main/java/client/AbstractCharacterObject.java +++ b/src/main/java/client/AbstractCharacterObject.java @@ -39,7 +39,7 @@ public abstract class AbstractCharacterObject extends AbstractAnimatedMapObject protected MapleMap map; protected int str, dex, luk, int_, hp, maxhp, mp, maxmp; protected int hpMpApUsed, remainingAp; - protected int[] remainingSp = new int[10]; + protected int[] remainingSp = new int[10]; // TODO: change to a simple int. Evan is not in v83, so why support it? protected transient int clientmaxhp, clientmaxmp, localmaxhp = 50, localmaxmp = 5; protected float transienthp = Float.NEGATIVE_INFINITY, transientmp = Float.NEGATIVE_INFINITY; diff --git a/src/main/java/client/Character.java b/src/main/java/client/Character.java index 7319976567..34db6c5472 100644 --- a/src/main/java/client/Character.java +++ b/src/main/java/client/Character.java @@ -8451,7 +8451,7 @@ public class Character extends AbstractCharacterObject { ps.setInt(10, stats.mp()); ps.setInt(11, stats.maxHp()); ps.setInt(12, stats.maxMp()); - ps.setString(13, stats.sp()); + ps.setString(13, String.valueOf(stats.sp())); ps.setInt(14, stats.ap()); ps.setInt(15, stats.gmLevel()); ps.setInt(16, stats.skin()); @@ -8566,15 +8566,8 @@ public class Character extends AbstractCharacterObject { .mp(mp) .maxHp(maxhp) .maxMp(maxmp) - .ap(remainingAp); - - StringBuilder sps = new StringBuilder(); - for (int j : remainingSp) { - sps.append(j); - sps.append(","); - } - String sp = sps.toString(); - builder.sp(sp.substring(0, sp.length() - 1)); + .ap(remainingAp) + .sp(remainingSp[0]); } finally { statWlock.unlock(); effLock.unlock(); diff --git a/src/main/java/client/CharacterStats.java b/src/main/java/client/CharacterStats.java index 199b78907c..022a1f5501 100644 --- a/src/main/java/client/CharacterStats.java +++ b/src/main/java/client/CharacterStats.java @@ -20,7 +20,7 @@ public record CharacterStats( int mp, int maxHp, int maxMp, - String sp, + int sp, int ap, int gmLevel, int skin, diff --git a/src/main/java/database/character/CharacterRepository.java b/src/main/java/database/character/CharacterRepository.java index 505148e1e5..e7d1931120 100644 --- a/src/main/java/database/character/CharacterRepository.java +++ b/src/main/java/database/character/CharacterRepository.java @@ -31,7 +31,7 @@ public class CharacterRepository { .bind("max_hp", stats.maxHp()) .bind("max_mp", stats.maxMp()) .bind("ap", stats.ap()) - .bind("sp", parseSp(stats.sp())) + .bind("sp", stats.sp()) .bind("job", stats.job()) .bind("fame", stats.fame()) .bind("gender", stats.gender()) @@ -88,7 +88,7 @@ public class CharacterRepository { .bind("max_hp", stats.maxHp()) .bind("max_mp", stats.maxMp()) .bind("ap", stats.ap()) - .bind("sp", parseSp(stats.sp())) + .bind("sp", stats.sp()) .bind("job", stats.job()) .bind("fame", stats.fame()) .bind("gender", stats.gender()) @@ -136,17 +136,4 @@ public class CharacterRepository { return updatedRows > 0; } - - private int parseSp(String sp) { - if (sp == null) { - return 0; - } - - if (!sp.contains(",")) { - return Integer.parseInt(sp); - } - - // Old multi skillbook sp to support Evan skills. To be changed - sp will be simple integer in new db. - return Integer.parseInt(sp.split(",")[0]); - } }