diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-04-05 22:18:33 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-04-06 01:56:21 +0300 |
commit | 4b5f5a0718db7074c32be2fff266a6bf77dbb518 (patch) | |
tree | 2502dc6173ec3d01f66528f2d303119ed5a146f9 /src/net | |
parent | 75ddffb8941594a218ec23f86b8c16b5d54b728a (diff) | |
download | plus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.gz plus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.bz2 plus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.xz plus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.zip |
eathena: impliment packet SMSG_CHAT_ROOM_JOIN_FAILED.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/chathandler.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
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) |