diff options
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 15 | ||||
-rw-r--r-- | src/net/eathena/packets.h | 4 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 6 |
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 |