summaryrefslogtreecommitdiff
path: root/src/net/eathena/chathandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/chathandler.cpp')
-rw-r--r--src/net/eathena/chathandler.cpp46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index 5d5e889d9..13dd438d8 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -378,9 +378,49 @@ void ChatHandler::unIgnore(const std::string &nick) const
void ChatHandler::processIgnoreNickAck(Net::MessageIn &msg)
{
- UNIMPLIMENTEDPACKET;
- msg.readUInt8("type");
- msg.readUInt8("flag");
+ const int type = msg.readUInt8("type");
+ const int flag = msg.readUInt8("flag");
+ switch (type)
+ {
+ case 0:
+ switch (flag)
+ {
+ case 0:
+ NotifyManager::notify(NotifyTypes::IGNORE_PLAYER_SUCCESS);
+ break;
+ case 1:
+ NotifyManager::notify(NotifyTypes::IGNORE_PLAYER_FAILURE);
+ break;
+ case 2:
+ NotifyManager::notify(NotifyTypes::IGNORE_PLAYER_TOO_MANY);
+ break;
+ default:
+ NotifyManager::notify(NotifyTypes::IGNORE_PLAYER_UNKNOWN);
+ break;
+ }
+ break;
+ case 1:
+ switch (flag)
+ {
+ case 0:
+ NotifyManager::notify(
+ NotifyTypes::UNIGNORE_PLAYER_SUCCESS);
+ break;
+ case 1:
+ NotifyManager::notify(
+ NotifyTypes::UNIGNORE_PLAYER_FAILURE);
+ break;
+ default:
+ NotifyManager::notify(
+ NotifyTypes::UNIGNORE_PLAYER_UNKNOWN);
+ break;
+ }
+ break;
+
+ default:
+ NotifyManager::notify(NotifyTypes::IGNORE_PLAYER_TYPE_UNKNOWN);
+ break;
+ }
}
void ChatHandler::requestIgnoreList() const