summaryrefslogtreecommitdiff
path: root/src/net/eathena/chathandler.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-04-05 22:18:33 +0300
committerAndrei Karas <akaras@inbox.ru>2015-04-06 01:56:21 +0300
commit4b5f5a0718db7074c32be2fff266a6bf77dbb518 (patch)
tree2502dc6173ec3d01f66528f2d303119ed5a146f9 /src/net/eathena/chathandler.cpp
parent75ddffb8941594a218ec23f86b8c16b5d54b728a (diff)
downloadmanaplus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.gz
manaplus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.bz2
manaplus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.tar.xz
manaplus-4b5f5a0718db7074c32be2fff266a6bf77dbb518.zip
eathena: impliment packet SMSG_CHAT_ROOM_JOIN_FAILED.
Diffstat (limited to 'src/net/eathena/chathandler.cpp')
-rw-r--r--src/net/eathena/chathandler.cpp31
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)