diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/net/chathandler.h | 4 | ||||
-rw-r--r-- | src/net/eathena/chathandler.cpp | 15 | ||||
-rw-r--r-- | src/net/eathena/chathandler.h | 4 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 | ||||
-rw-r--r-- | src/net/tmwa/chathandler.cpp | 14 | ||||
-rw-r--r-- | src/net/tmwa/chathandler.h | 4 | ||||
-rw-r--r-- | src/net/tmwa/protocol.h | 2 |
7 files changed, 44 insertions, 0 deletions
diff --git a/src/net/chathandler.h b/src/net/chathandler.h index 0246978df..c0bef3855 100644 --- a/src/net/chathandler.h +++ b/src/net/chathandler.h @@ -58,6 +58,10 @@ class ChatHandler notfinal virtual void unIgnoreAll() const = 0; + virtual void ignore(const std::string &nick) const = 0; + + virtual void unIgnore(const std::string &nick) const = 0; + virtual void clear() = 0; virtual void createChatRoom(const std::string &title, const std::string &password, const int limit, const bool isPublic) = 0; 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 diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp index 197661d08..1635cdbc1 100644 --- a/src/net/tmwa/chathandler.cpp +++ b/src/net/tmwa/chathandler.cpp @@ -246,6 +246,20 @@ 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 A_UNUSED, const std::string &password A_UNUSED, const int limit A_UNUSED, diff --git a/src/net/tmwa/chathandler.h b/src/net/tmwa/chathandler.h index 52b88ebd7..95989835f 100644 --- a/src/net/tmwa/chathandler.h +++ b/src/net/tmwa/chathandler.h @@ -64,6 +64,10 @@ class ChatHandler final : public MessageHandler, public Ea::ChatHandler const int limit, const bool isPublic) override final; + 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/tmwa/protocol.h b/src/net/tmwa/protocol.h index f3652da7d..0b158c342 100644 --- a/src/net/tmwa/protocol.h +++ b/src/net/tmwa/protocol.h @@ -287,7 +287,9 @@ #define CMSG_GUILD_ALLIANCE_DELETE 0x0183 #define CMSG_SOLVE_CHAR_NAME 0x0193 +#define CMSG_IGNORE_NICK 0x00cf #define SMSG_SOLVE_CHAR_NAME 0x0194 + #define CMSG_CLIENT_DISCONNECT 0x7532 #define SMSG_SKILL_CASTING 0x013e #define SMSG_SKILL_CAST_CANCEL 0x01b9 |