mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-25 04:14:34 -08:00
Smarter rooms (#2484)
* Added VIP only room * Added DONATOR room. * Extended Room to include privilege level. * Updated room join logic * Updated server tab permissions column display based on perm+privlevel definitions * Fixed new client -> old server blank permissions column on server tab Added the ability for registered user - VIP/DONATOR/PRIVILEGED room.
This commit is contained in:
@@ -620,23 +620,9 @@ Response::ResponseCode Server_ProtocolHandler::cmdJoinRoom(const Command_JoinRoo
|
||||
if (!r)
|
||||
return Response::RespNameNotFound;
|
||||
|
||||
QString roomPermission = r->getRoomPermission().toLower();
|
||||
if (roomPermission != "none"){
|
||||
if (roomPermission == "registered") {
|
||||
if (!(userInfo->user_level() & ServerInfo_User::IsRegistered))
|
||||
return Response::RespUserLevelTooLow;
|
||||
}
|
||||
|
||||
if (roomPermission == "moderator"){
|
||||
if (!(userInfo->user_level() & ServerInfo_User::IsModerator))
|
||||
return Response::RespUserLevelTooLow;
|
||||
}
|
||||
|
||||
if (roomPermission == "administrator"){
|
||||
if (!(userInfo->user_level() & ServerInfo_User::IsAdmin))
|
||||
return Response::RespUserLevelTooLow;
|
||||
}
|
||||
}
|
||||
if (!(userInfo->user_level() & ServerInfo_User::IsModerator))
|
||||
if (!(r->userMayJoin(*userInfo)))
|
||||
return Response::RespUserLevelTooLow;
|
||||
|
||||
r->addClient(this);
|
||||
rooms.insert(r->getId(), r);
|
||||
|
||||
Reference in New Issue
Block a user