summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-10 21:16:08 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-10 21:16:08 +0300
commit0295c338fcb43f10f6dbc664c0f86021464248c7 (patch)
tree872bb8b874e1b551b94f8ffa544d643ed9323592
parent38315e4cc40ec0990b1e4f4e6d814fafdd064aae (diff)
downloadmv-0295c338fcb43f10f6dbc664c0f86021464248c7.tar.gz
mv-0295c338fcb43f10f6dbc664c0f86021464248c7.tar.bz2
mv-0295c338fcb43f10f6dbc664c0f86021464248c7.tar.xz
mv-0295c338fcb43f10f6dbc664c0f86021464248c7.zip
eathena: add partial support for packet SMSG_CHAT_ROLE_CHANGE 0x00e1.
-rw-r--r--src/net/eathena/chathandler.cpp12
-rw-r--r--src/net/eathena/chathandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index dd232305c..07d57dcd0 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -82,6 +82,7 @@ ChatHandler::ChatHandler() :
SMSG_CHAT_JOIN_FAILED,
SMSG_CHAT_ADD_MEMBER,
SMSG_CHAT_SETTINGS,
+ SMSG_CHAT_ROLE_CHANGE,
0
};
handledMessages = _messages;
@@ -186,6 +187,10 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
processChatSettings(msg);
break;
+ case SMSG_CHAT_ROLE_CHANGE:
+ processChatRoleChange(msg);
+ break;
+
default:
break;
}
@@ -833,4 +838,11 @@ void ChatHandler::processChatSettings(Net::MessageIn &msg)
msg.readString(sz, "title");
}
+void ChatHandler::processChatRoleChange(Net::MessageIn &msg)
+{
+ UNIMPLIMENTEDPACKET;
+ msg.readInt32("role");
+ msg.readString(24, "name");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h
index 5ca4899f0..cfb9b8108 100644
--- a/src/net/eathena/chathandler.h
+++ b/src/net/eathena/chathandler.h
@@ -137,6 +137,8 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler
static void processChatAddMember(Net::MessageIn &msg);
static void processChatSettings(Net::MessageIn &msg);
+
+ static void processChatRoleChange(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index a929d9d6b..0953b82d9 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -266,6 +266,7 @@
#define SMSG_CHAT_ADD_MEMBER 0x00dc
#define SMSG_CHAT_LEAVE 0x00dd
#define SMSG_CHAT_SETTINGS 0x00df
+#define SMSG_CHAT_ROLE_CHANGE 0x00e1
#define SMSG_CHAT_JOIN_CHANNEL 0x0b08
#define SMSG_MAIL_OPEN_WINDOW 0x0260