summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-11 14:05:07 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-11 14:05:07 +0300
commitd0e9d200299f9b6c2cc8a95f405c7821d8d5dc78 (patch)
treed12841102e58913a0ffe3d99512b91bbb20bdc15
parentbdc996059d8dac1bcd063890dcf80b3ce6932c50 (diff)
downloadmanaverse-d0e9d200299f9b6c2cc8a95f405c7821d8d5dc78.tar.gz
manaverse-d0e9d200299f9b6c2cc8a95f405c7821d8d5dc78.tar.bz2
manaverse-d0e9d200299f9b6c2cc8a95f405c7821d8d5dc78.tar.xz
manaverse-d0e9d200299f9b6c2cc8a95f405c7821d8d5dc78.zip
eathena: add partial support for packet SMSG_MONSTER_INFO 0x018c.
-rw-r--r--src/net/eathena/beinghandler.cpp19
-rw-r--r--src/net/eathena/beinghandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 22 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 5a2a9208f..603b7a56d 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -117,6 +117,7 @@ BeingHandler::BeingHandler(const bool enableSync) :
SMSG_MOB_INFO,
SMSG_BEING_MOVE3,
SMSG_BEING_ATTRS,
+ SMSG_MONSTER_INFO,
0
};
handledMessages = _messages;
@@ -313,6 +314,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
processBeingAttrs(msg);
break;
+ case SMSG_MONSTER_INFO:
+ processMonsterInfo(msg);
+ break;
+
default:
break;
}
@@ -1632,4 +1637,18 @@ void BeingHandler::processBeingAttrs(Net::MessageIn &msg)
}
}
+void BeingHandler::processMonsterInfo(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+
+ msg.readInt16("class");
+ msg.readInt16("level");
+ msg.readInt16("size");
+ msg.readInt32("hp");
+ msg.readInt16("def");
+ msg.readInt16("race");
+ msg.readInt16("mdef");
+ msg.readInt16("ele");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index b4520c201..cbd43f492 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -122,6 +122,8 @@ class BeingHandler final : public MessageHandler, public Ea::BeingHandler
static void processMobInfo(Net::MessageIn &msg);
static void processBeingAttrs(Net::MessageIn &msg);
+
+ static void processMonsterInfo(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 3a8ab7b1e..8c300d524 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -264,6 +264,7 @@
#define SMSG_RANKS_LIST 0x097d
#define SMSG_MONSTER_HP 0x0977
+#define SMSG_MONSTER_INFO 0x018c
#define SMSG_PLAYER_HP 0x080e
#define SMSG_PVP_INFO 0x0210