summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-09-12 17:09:51 +0300
committerAndrei Karas <akaras@inbox.ru>2016-09-12 17:09:51 +0300
commit2507f262167386f83b46c4726f5d66fb99dad104 (patch)
treed5309c11216b94a8ac6c097da618e76bb984d95d
parente5598d8183f8b5a015bade5d61a41e054311d5ec (diff)
downloadmv-2507f262167386f83b46c4726f5d66fb99dad104.tar.gz
mv-2507f262167386f83b46c4726f5d66fb99dad104.tar.bz2
mv-2507f262167386f83b46c4726f5d66fb99dad104.tar.xz
mv-2507f262167386f83b46c4726f5d66fb99dad104.zip
Add packet SMSG_PLAYER_HEAL 0x0a27.
-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) +