summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-13 11:04:15 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-13 17:41:29 +0300
commit3931471031744a47fd2eaf7adf52d59eb51d17a4 (patch)
tree34e86f6b4e6aee116a5f486f79f9a33e170a45a5
parent981f1272f2355653c1e7e7233cd37b0f9ebfc335 (diff)
downloadmv-3931471031744a47fd2eaf7adf52d59eb51d17a4.tar.gz
mv-3931471031744a47fd2eaf7adf52d59eb51d17a4.tar.bz2
mv-3931471031744a47fd2eaf7adf52d59eb51d17a4.tar.xz
mv-3931471031744a47fd2eaf7adf52d59eb51d17a4.zip
eathena: update to hercules version 20150000.
-rw-r--r--src/net/eathena/beinghandler.cpp15
-rw-r--r--src/net/eathena/packets.h4
-rw-r--r--src/net/eathena/protocol.h6
3 files changed, 17 insertions, 8 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 32305c4b1..d9229caae 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -1007,7 +1007,10 @@ void BeingHandler::processBeingVisible(Net::MessageIn &msg)
dstBeing->setLevel(level);
msg.readInt16("font");
- // here map hp/hp for PACKETVER >= 20150000 for now unsupported
+ // +++ need use hp and boss flag
+ msg.readInt32("max hp");
+ msg.readInt32("hp");
+ msg.readInt8("is boss");
dstBeing->setStunMode(stunMode);
dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>(
@@ -1177,7 +1180,10 @@ void BeingHandler::processBeingMove(Net::MessageIn &msg)
dstBeing->setLevel(level);
msg.readInt16("font");
- // here map hp/hp for PACKETVER >= 20150000 for now unsupported
+ // +++ need use hp and boss flag
+ msg.readInt32("max hp");
+ msg.readInt32("hp");
+ msg.readInt8("is boss");
dstBeing->setStunMode(stunMode);
dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>(
@@ -1336,7 +1342,10 @@ void BeingHandler::processBeingSpawn(Net::MessageIn &msg)
dstBeing->setLevel(level);
msg.readInt16("font");
- // here map hp/hp for PACKETVER >= 20150000 for now unsupported
+ // +++ need use hp and boss flag
+ msg.readInt32("max hp");
+ msg.readInt32("hp");
+ msg.readInt8("is boss");
dstBeing->setStunMode(stunMode);
dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>(
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 3c1848f45..36af9a997 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -237,8 +237,8 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 a b c d e f
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0900
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
+ 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// #0x0940
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index fea3c0c0e..20e041374 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -88,9 +88,9 @@
#define SMSG_ITEM_VISIBLE 0x009d /**< An item is on the floor */
#define SMSG_ITEM_DROPPED 0x084b /**< An item is dropped */
#define SMSG_ITEM_REMOVE 0x00a1 /**< An item disappers */
-#define SMSG_BEING_VISIBLE 0x0857
-#define SMSG_BEING_MOVE 0x0856 /**< A nearby monster moves */
-#define SMSG_BEING_SPAWN 0x0858 /**< A being spawns nearby */
+#define SMSG_BEING_VISIBLE 0x0915
+#define SMSG_BEING_MOVE 0x0914 /**< A nearby monster moves */
+#define SMSG_BEING_SPAWN 0x090f /**< A being spawns nearby */
#define SMSG_BEING_MOVE2 0x0086 /**< New eAthena being moves */
#define SMSG_BEING_REMOVE 0x0080
#define SMSG_BEING_CHANGE_LOOKS 0x00c3