summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/chathandler.cpp15
-rw-r--r--src/net/eathena/chathandler.h4
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index 60b93f89e..8013513a1 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -221,6 +221,21 @@ void ChatHandler::unIgnoreAll() const
outMsg.writeInt8(1, "flag");
}
+
+void ChatHandler::ignore(const std::string &nick) const
+{
+ MessageOut outMsg(CMSG_IGNORE_NICK);
+ outMsg.writeString(nick, 24, "nick");
+ outMsg.writeInt8(0, "flag");
+}
+
+void ChatHandler::unIgnore(const std::string &nick) const
+{
+ MessageOut outMsg(CMSG_IGNORE_NICK);
+ outMsg.writeString(nick, 24, "nick");
+ outMsg.writeInt8(1, "flag");
+}
+
void ChatHandler::createChatRoom(const std::string &title,
const std::string &password,
const int limit,
diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h
index 119651ef4..78da589ab 100644
--- a/src/net/eathena/chathandler.h
+++ b/src/net/eathena/chathandler.h
@@ -64,6 +64,10 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler
static void processRaw(MessageOut &restrict outMsg,
const std::string &restrict line);
+ void ignore(const std::string &nick) const override final;
+
+ void unIgnore(const std::string &nick) const override final;
+
protected:
void processChat(Net::MessageIn &msg);
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index d16fd66ad..e5fdfc683 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -334,6 +334,7 @@
#define CMSG_SOLVE_CHAR_NAME 0x0368
#define CMSG_IGNORE_ALL 0x00d0
+#define CMSG_IGNORE_NICK 0x00cf
#define CMSG_REQUEST_RANKS 0x097c
#define CMSG_SET_SHORTCUTS 0x02ba
#define CMSG_NPC_COMPLETE_PROGRESS_BAR 0x02f1