summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-14 15:50:29 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-14 15:50:29 +0300
commit9e01119b7fad64dbf8aa4017443aa077f1be308d (patch)
tree4dd3947a8f153e25dafbf27494654f8338a98d8f
parentf201143f1896adc0b94cd62b5f28b9b7bfe5fb39 (diff)
downloadmanaplus-9e01119b7fad64dbf8aa4017443aa077f1be308d.tar.gz
manaplus-9e01119b7fad64dbf8aa4017443aa077f1be308d.tar.bz2
manaplus-9e01119b7fad64dbf8aa4017443aa077f1be308d.tar.xz
manaplus-9e01119b7fad64dbf8aa4017443aa077f1be308d.zip
eathena: add partial support for packet SMSG_ELEMENTAL_UPDATE_STATUS 0x081e.
-rw-r--r--src/net/eathena/elementalhandler.cpp13
-rw-r--r--src/net/eathena/elementalhandler.h3
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h2
4 files changed, 19 insertions, 1 deletions
diff --git a/src/net/eathena/elementalhandler.cpp b/src/net/eathena/elementalhandler.cpp
index 9e4f77c0c..dc21746cd 100644
--- a/src/net/eathena/elementalhandler.cpp
+++ b/src/net/eathena/elementalhandler.cpp
@@ -20,6 +20,8 @@
#include "net/eathena/elementalhandler.h"
+#include "net/eathena/protocol.h"
+
#include "debug.h"
extern Net::ElementalHandler *elementalHandler;
@@ -32,6 +34,7 @@ ElementalHandler::ElementalHandler() :
{
static const uint16_t _messages[] =
{
+ SMSG_ELEMENTAL_UPDATE_STATUS,
0
};
handledMessages = _messages;
@@ -42,9 +45,19 @@ void ElementalHandler::handleMessage(Net::MessageIn &msg)
{
switch (msg.getId())
{
+ case SMSG_ELEMENTAL_UPDATE_STATUS:
+ processElementalUpdateStatus(msg);
+ break;
+
default:
break;
}
}
+void ElementalHandler::processElementalUpdateStatus(Net::MessageIn &msg)
+{
+ msg.readInt16("type");
+ msg.readInt32("value");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/elementalhandler.h b/src/net/eathena/elementalhandler.h
index 13f4d259b..1bbdd2b15 100644
--- a/src/net/eathena/elementalhandler.h
+++ b/src/net/eathena/elementalhandler.h
@@ -36,6 +36,9 @@ class ElementalHandler final : public MessageHandler,
A_DELETE_COPY(ElementalHandler)
void handleMessage(Net::MessageIn &msg) override final;
+
+ protected:
+ void processElementalUpdateStatus(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index e7112205c..ef06cf3ca 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -216,7 +216,7 @@ int16_t packet_lengths[] =
//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// #0x0800
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 20,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 26, 0,
// #0x0840
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 7b3da616c..c5c653d8c 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -298,6 +298,8 @@
#define SMSG_AUCTION_OPEN_WINDOW 0x025f
+#define SMSG_ELEMENTAL_UPDATE_STATUS 0x081e
+
/**********************************
* Packets from client to server *
**********************************/