diff -r 20ff80421736 -r e4e366013e9a gameServer/Actions.hs --- a/gameServer/Actions.hs Sun Jun 16 00:46:11 2013 +0400 +++ b/gameServer/Actions.hs Mon Jun 17 16:56:58 2013 +0200 @@ -174,8 +174,12 @@ chans <- liftM (map sendChan) $ roomClientsS ri clNick <- client's nick + allClientsChans <- liftM (Prelude.map sendChan . Prelude.filter isVisible) $! allClientsS - processAction $ AnswerClients chans ["JOINED", clNick] + mapM_ processAction [ + AnswerClients chans ["JOINED", clNick] + , AnswerClients allClientsChans ["CLIENT_FLAGS", "+i", clNick] + ] processAction (MoveToLobby msg) = do @@ -196,6 +200,9 @@ else mapM_ processAction [RemoveClientTeams, AnswerClients chans ["LEFT", clNick, msg]] + allClientsChans <- liftM (Prelude.map sendChan . Prelude.filter isVisible) $! allClientsS + processAction $ AnswerClients allClientsChans ["CLIENT_FLAGS", "-i", clNick] + -- when not removing room ready <- client's isReady when (not master || playersNum > 1) . io $ do