diff -r 4feced261c68 -r de822cd3df3a gameServer/HWProtoInRoomState.hs --- a/gameServer/HWProtoInRoomState.hs Tue Jan 21 22:38:13 2014 +0100 +++ b/gameServer/HWProtoInRoomState.hs Tue Jan 21 22:43:06 2014 +0100 @@ -215,7 +215,7 @@ gs <- if (not $ isReady cl) && (isSpecial rm) && (unreadyClients == [cl]) then startGame else return [] - return $ + return $ ModifyRoom (\r -> r{readyPlayers = readyPlayers r + (if isReady cl then -1 else 1)}) : ModifyClient (\c -> c{isReady = not $ isReady cl}) : (AnswerClients chans $ if clientProto cl < 38 then @@ -236,7 +236,7 @@ if teamsInGame cl > 0 && (isJust $ gameInfo rm) && (not $ B.null legalMsgs) then return $ AnswerClients chans ["EM", legalMsgs] - : [ModifyRoom (\r -> r{gameInfo = liftM + : [ModifyRoom (\r -> r{gameInfo = liftM (\g -> g{ roundMsgs = if B.null nonEmptyMsgs then roundMsgs g else nonEmptyMsgs : roundMsgs g , lastFilteredTimedMsg = fromMaybe (lastFilteredTimedMsg g) lastFTMsg}) @@ -306,7 +306,7 @@ if not $ isMaster cl then [ProtocolError $ loc "Not room master"] else - if illegalName newName then + if illegalName newName then [Warning $ loc "Illegal room name"] else if isSpecial rm then