- Allow delegation to specific person in fixed room
authorunc0rr
Thu, 23 Jan 2014 00:07:27 +0400
changeset 10057 795f5f918c8c
parent 10056 cb9e07753802
child 10058 4ed428389c4e
- Allow delegation to specific person in fixed room - Remove redundant check in DELEGATE handler
gameServer/Actions.hs
gameServer/HWProtoInRoomState.hs
--- a/gameServer/Actions.hs	Wed Jan 22 23:42:41 2014 +0400
+++ b/gameServer/Actions.hs	Thu Jan 23 00:07:27 2014 +0400
@@ -222,7 +222,7 @@
     rnc <- gets roomsClients
     specialRoom <- io $ room'sM rnc isSpecial ri
     newMasterId <- if specialRoom then 
-        return Nothing
+        delegateId
         else
         liftM (\ids -> fromMaybe (listToMaybe . reverse . filter (/= ci) $ ids) $ liftM Just delegateId) . io $ roomClientsIndicesM rnc ri
     newMaster <- io $ client'sM rnc id `DT.mapM` newMasterId
--- a/gameServer/HWProtoInRoomState.hs	Wed Jan 22 23:42:41 2014 +0400
+++ b/gameServer/HWProtoInRoomState.hs	Thu Jan 23 00:07:27 2014 +0400
@@ -352,7 +352,6 @@
         [ChangeMaster (Just newAdminId) |
             (master || serverAdmin)
                 && isJust maybeClientId
-                && ((newAdminId /= thisClientId) || (serverAdmin && not master))
                 && (Just newAdminId /= thisRoomMasterId)
                 && sameRoom]