summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/charserverrecv.cpp16
-rw-r--r--src/net/eathena/playerhandler.cpp10
2 files changed, 12 insertions, 14 deletions
diff --git a/src/net/eathena/charserverrecv.cpp b/src/net/eathena/charserverrecv.cpp
index 3178a6d5f..f60fb1ff0 100644
--- a/src/net/eathena/charserverrecv.cpp
+++ b/src/net/eathena/charserverrecv.cpp
@@ -91,15 +91,17 @@ void CharServerRecv::readPlayerData(Net::MessageIn &msg,
else
data.mAttributes[Attributes::PLAYER_EXP] = msg.readInt32("exp");
data.mAttributes[Attributes::MONEY] = msg.readInt32("money");
- Stat &jobStat = data.mStats[Attributes::PLAYER_JOB];
if (packetVersion >= 20170830)
- jobStat.exp = msg.readInt64("job exp");
+ {
+ data.mAttributes[Attributes::PLAYER_JOB_EXP] =
+ msg.readInt64("job exp");
+ }
else
- jobStat.exp = msg.readInt32("job exp");
-
- const int temp = msg.readInt32("job level");
- jobStat.base = temp;
- jobStat.mod = temp;
+ {
+ data.mAttributes[Attributes::PLAYER_JOB_EXP] =
+ msg.readInt32("job exp");
+ }
+ data.mAttributes[Attributes::PLAYER_JOB] =msg.readInt32("job level");
msg.readInt16("shoes?");
const int gloves = msg.readInt16("gloves");
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index c7361e1b0..9106fce26 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -532,8 +532,7 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::setAttribute(Attributes::PLAYER_EXP, base);
break;
case Sp::JOBEXP:
- PlayerInfo::setStatExperience(Attributes::PLAYER_JOB, base,
- PlayerInfo::getStatExperience(Attributes::PLAYER_JOB).second);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP, base);
break;
case Sp::KARMA:
PlayerInfo::setStatBase(Attributes::PLAYER_KARMA, base);
@@ -632,11 +631,8 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
case Sp::NEXTBASEEXP:
PlayerInfo::setAttribute(Attributes::PLAYER_EXP_NEEDED, base);
break;
- // ++ here used in wrong way. Need like Sp::NEXTBASEEXP?
case Sp::NEXTJOBEXP:
- PlayerInfo::setStatExperience(Attributes::PLAYER_JOB,
- PlayerInfo::getStatExperience(Attributes::PLAYER_JOB).first,
- base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP_NEEDED, base);
break;
case Sp::WEIGHT:
PlayerInfo::setAttribute(Attributes::TOTAL_WEIGHT, base);
@@ -708,7 +704,7 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::updateAttrs();
break;
case Sp::JOBLEVEL:
- PlayerInfo::setStatBase(Attributes::PLAYER_JOB, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB, base);
break;
default: