summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-03-29 12:43:42 +0300
committerAndrei Karas <akaras@inbox.ru>2015-03-29 12:43:42 +0300
commit6eb5d96b568de3632ba755ff7e794a59083d1f62 (patch)
tree3c60ee0a369825fa16d347d46ff1c36ad486446e
parent23b0787ad33fc01e3a65bd53f2d8bc9f52a91224 (diff)
downloadmanaplus-6eb5d96b568de3632ba755ff7e794a59083d1f62.tar.gz
manaplus-6eb5d96b568de3632ba755ff7e794a59083d1f62.tar.bz2
manaplus-6eb5d96b568de3632ba755ff7e794a59083d1f62.tar.xz
manaplus-6eb5d96b568de3632ba755ff7e794a59083d1f62.zip
eathena: add packet CMSG_SET_CHAT_ROOM_OWNER 0x00e0.
-rw-r--r--src/net/chathandler.h2
-rw-r--r--src/net/eathena/chathandler.cpp7
-rw-r--r--src/net/eathena/chathandler.h2
-rw-r--r--src/net/eathena/protocol.h1
-rw-r--r--src/net/tmwa/chathandler.cpp4
-rw-r--r--src/net/tmwa/chathandler.h2
6 files changed, 18 insertions, 0 deletions
diff --git a/src/net/chathandler.h b/src/net/chathandler.h
index 404ee6ab5..2452aecb1 100644
--- a/src/net/chathandler.h
+++ b/src/net/chathandler.h
@@ -90,6 +90,8 @@ class ChatHandler notfinal
const bool isPublic,
const std::string &password,
const std::string &title) const = 0;
+
+ virtual void setChatRoomOwner(const std::string &nick) const = 0;
};
} // namespace Net
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index ad30750a5..3fb487a3a 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -958,4 +958,11 @@ void ChatHandler::setChatRoomOptions(const int limit,
outMsg.writeString(title, sz, "title");
}
+void ChatHandler::setChatRoomOwner(const std::string &nick) const
+{
+ createOutPacket(CMSG_SET_CHAT_ROOM_OWNER);
+ outMsg.writeInt32(0, "role (unused)");
+ outMsg.writeString(nick, 24, "nick");
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h
index 89fc7f43c..87599fd20 100644
--- a/src/net/eathena/chathandler.h
+++ b/src/net/eathena/chathandler.h
@@ -94,6 +94,8 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler
const std::string &password,
const std::string &title) const override final;
+ void setChatRoomOwner(const std::string &nick) const override final;
+
protected:
static std::string extractChannelFromMessage(std::string &chatMsg);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index d1b37bdbf..e95a5716e 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -495,6 +495,7 @@
#define CMSG_CREAYE_CHAT_ROOM 0x00d5
#define CMSG_LEAVE_CHAT_ROOM 0x00e3
#define CMSG_SET_CHAT_ROOM_OPTIONS 0x00de
+#define CMSG_SET_CHAT_ROOM_OWNER 0x00e0
#define CMSG_SKILL_LEVELUP_REQUEST 0x0112
#define CMSG_STAT_UPDATE_REQUEST 0x00bb
diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp
index 086426901..f54d2cac0 100644
--- a/src/net/tmwa/chathandler.cpp
+++ b/src/net/tmwa/chathandler.cpp
@@ -699,4 +699,8 @@ void ChatHandler::setChatRoomOptions(const int limit A_UNUSED,
{
}
+void ChatHandler::setChatRoomOwner(const std::string &nick A_UNUSED) const
+{
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/chathandler.h b/src/net/tmwa/chathandler.h
index ab90f71d3..dee315352 100644
--- a/src/net/tmwa/chathandler.h
+++ b/src/net/tmwa/chathandler.h
@@ -92,6 +92,8 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler
const std::string &password,
const std::string &title) const override final;
+ void setChatRoomOwner(const std::string &nick) const override final;
+
protected:
static void processChat(Net::MessageIn &msg);