netserver/HWProto.hs
changeset 1408 fab171a17968
parent 1407 b44fbb630fb6
child 1411 df78c9571bc7
--- 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])])