diff -r b44fbb630fb6 -r fab171a17968 netserver/HWProto.hs --- a/netserver/HWProto.hs Fri Oct 24 14:28:47 2008 +0000 +++ b/netserver/HWProto.hs Fri Oct 24 15:02:26 2008 +0000 @@ -245,13 +245,15 @@ clRoom = roomByName (room client) rooms newReadyPlayers = (readyPlayers clRoom) + if isReady client then -1 else 1 -handleCmd_inRoom client _ rooms ["ROUNDFINISHED"] = +handleCmd_inRoom client clients rooms ["ROUNDFINISHED"] = if isMaster client then - (noChangeClients, modifyRoom clRoom{gameinprogress = False}, []) + (modifyRoomClients clRoom (\cl -> cl{isReady = False}), modifyRoom clRoom{gameinprogress = False, readyPlayers = 0}, answerAllNotReady) else (noChangeClients, noChangeRooms, []) where clRoom = roomByName (room client) rooms + sameRoomClients = filter (\ci -> room ci == name clRoom) clients + answerAllNotReady = map (\cl -> (sameRoom, ["NOT_READY", nick cl])) sameRoomClients handleCmd_inRoom client _ _ ["GAMEMSG", msg] = (noChangeClients, noChangeRooms, [(othersInRoom, ["GAMEMSG", msg])])