diff options
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 | ||||
-rw-r--r-- | src/net/eathena/playerrecv.cpp | 6 |
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) + |