summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/packetsin.inc1
-rw-r--r--src/net/eathena/playerrecv.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 2da521008..38c61c38f 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -839,6 +839,7 @@ if (packetVersion >= 20150513)
packet(SMSG_BEING_VISIBLE, 0x09ff, -1, &BeingRecv::processBeingVisible, 20150513);
packet(SMSG_BEING_SPAWN, 0x09fe, -1, &BeingRecv::processBeingSpawn, 20150513);
packet(SMSG_BEING_MOVE, 0x09fd, -1, &BeingRecv::processBeingMove, 20150513);
+ packet(SMSG_PLAYER_HEAL, 0x0a27, 8, &PlayerRecv::processPlayerHeal, 20150513);
}
// 20150805
diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp
index 8f223363c..03909943e 100644
--- a/src/net/eathena/playerrecv.cpp
+++ b/src/net/eathena/playerrecv.cpp
@@ -251,7 +251,11 @@ void PlayerRecv::processPlayerHeal(Net::MessageIn &msg)
return;
const int type = msg.readInt16("var id");
- const int amount = msg.readInt16("value");
+ int amount;
+ if (msg.getVersion() >= 20150513)
+ amount = msg.readInt32("value");
+ else
+ amount = msg.readInt16("value");
if (type == Sp::HP)
{
const int base = PlayerInfo::getAttribute(Attributes::PLAYER_HP) +