From 4b5f5a0718db7074c32be2fff266a6bf77dbb518 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 5 Apr 2015 22:18:33 +0300 Subject: eathena: impliment packet SMSG_CHAT_ROOM_JOIN_FAILED. --- src/net/eathena/chathandler.cpp | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'src/net/eathena/chathandler.cpp') diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp index 6aca795c2..a8f9709ed 100644 --- a/src/net/eathena/chathandler.cpp +++ b/src/net/eathena/chathandler.cpp @@ -932,8 +932,35 @@ void ChatHandler::processChatRoomDestroy(Net::MessageIn &msg) void ChatHandler::processChatRoomJoinFailed(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - msg.readUInt8("flag"); + const int result = msg.readUInt8("flag"); + switch(result) + { + case 0: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_FULL); + break; + case 1: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_WRONG_PASSWORD); + break; + case 2: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_KICKED); + break; + case 3: + break; + case 4: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_ZENY); + break; + case 5: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_LOW_LEVEL); + break; + case 6: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_HIGH_LEVEL); + break; + case 7: + NotifyManager::notify(NotifyTypes::ROOM_ERROR_RACE); + break; + default: + UNIMPLIMENTEDPACKET; + } } void ChatHandler::processChatRoomAddMember(Net::MessageIn &msg) -- cgit v1.2.3-60-g2f50