diff -r b96080df19d0 -r af9aa8d5863c gameServer/HWProtoInRoomState.hs --- a/gameServer/HWProtoInRoomState.hs Fri Feb 19 00:07:59 2016 +0100 +++ b/gameServer/HWProtoInRoomState.hs Sat Feb 20 22:02:13 2016 +0300 @@ -54,7 +54,7 @@ , AnswerClients chans ["RUN_GAME"] , SendUpdateOnThisRoom , AnswerClients chans $ "CLIENT_FLAGS" : "+g" : nicks - , ModifyRoomClients (\c -> c{isInGame = True}) + , ModifyRoomClients (\c -> c{isInGame = True, teamIndexes = map snd . filter (\(t, _) -> teamowner t == nick cl) $ zip (teams rm) [0..]}) ] else return [Warning $ loc "Less than two clans!"] @@ -260,6 +260,8 @@ rm <- thisRoom chans <- roomOthersChans + let (legalMsgs, nonEmptyMsgs, lastFTMsg) = checkNetCmd (teamIndexes cl) msg + if teamsInGame cl > 0 && (isJust $ gameInfo rm) && (not $ B.null legalMsgs) then return $ AnswerClients chans ["EM", legalMsgs] : [ModifyRoom (\r -> r{gameInfo = liftM @@ -269,8 +271,6 @@ $ gameInfo r}), RegisterEvent EngineMessage] else return [] - where - (legalMsgs, nonEmptyMsgs, lastFTMsg) = checkNetCmd msg handleCmd_inRoom ["ROUNDFINISHED", _] = do