summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-17 20:19:38 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-17 20:19:38 +0300
commitadd9701f5d104cc130e6589ed211f1beb7966052 (patch)
tree6f32366ca008708220ddaf97f92660860cd503cd
parent9c50afdf192d9407eb72e3fdcd1844f9b5ae9885 (diff)
downloadplus-add9701f5d104cc130e6589ed211f1beb7966052.tar.gz
plus-add9701f5d104cc130e6589ed211f1beb7966052.tar.bz2
plus-add9701f5d104cc130e6589ed211f1beb7966052.tar.xz
plus-add9701f5d104cc130e6589ed211f1beb7966052.zip
eathena: add partial support for packet SMSG_PLAYER_HEAL 0x013d.
-rw-r--r--src/net/eathena/playerhandler.cpp14
-rw-r--r--src/net/eathena/playerhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 17 insertions, 0 deletions
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index fd17105c9..0a75e7066 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -60,6 +60,7 @@ PlayerHandler::PlayerHandler() :
SMSG_PLAYER_SHOW_EQUIP,
SMSG_PLAYER_GET_EXP,
SMSG_PVP_INFO,
+ SMSG_PLAYER_HEAL,
0
};
handledMessages = _messages;
@@ -123,6 +124,10 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
processPvpInfo(msg);
break;
+ case SMSG_PLAYER_HEAL:
+ processPlayerHeal(msg);
+ break;
+
default:
break;
}
@@ -424,4 +429,13 @@ void PlayerHandler::setViewEquipment(const bool allow) const
outMsg.writeInt32(allow ? 1 : 0);
}
+void PlayerHandler::processPlayerHeal(Net::MessageIn &msg)
+{
+ // +++ probably need show effect or adjust hp/sp?
+ // 5 - hp
+ // 7 - sp
+ msg.readInt16("var id");
+ msg.readInt16("value");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h
index 9f63a639c..f94fd0652 100644
--- a/src/net/eathena/playerhandler.h
+++ b/src/net/eathena/playerhandler.h
@@ -79,6 +79,8 @@ class PlayerHandler final : public MessageHandler, public Ea::PlayerHandler
void processPvpInfo(Net::MessageIn &msg);
+ void processPlayerHeal(Net::MessageIn &msg);
+
static void processWalkResponse(Net::MessageIn &msg);
};
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index a11e5239e..70be26dc7 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -79,6 +79,7 @@
#define SMSG_PLAYER_ARROW_MESSAGE 0x013b
#define SMSG_PLAYER_SKILLS 0x010f
#define SMSG_PLAYER_SKILL_UP 0x010e
+#define SMSG_PLAYER_HEAL 0x013d
#define SMSG_SKILL_FAILED 0x0110
#define SMSG_SKILL_DAMAGE 0x01de
#define SMSG_SKILL_AUTO_CAST 0x0147