# HG changeset patch # User unc0rr # Date 1368470954 -14400 # Node ID a25e182959596c57b5abead56ae7b8e1e02257b2 # Parent 0c0141cf851a6b937b58a3c3e4a1f9608f18edeb Restore ready toggle for room admins (issue 432) diff -r 0c0141cf851a -r a25e18295959 QTfrontend/net/newnetclient.cpp --- a/QTfrontend/net/newnetclient.cpp Mon May 13 14:10:51 2013 -0400 +++ b/QTfrontend/net/newnetclient.cpp Mon May 13 22:49:14 2013 +0400 @@ -425,8 +425,7 @@ { if (nick == mynick) { - if (isChief && !setFlag) ToggleReady(); - else emit setMyReadyStatus(setFlag); + emit setMyReadyStatus(setFlag); } m_playersModel->setFlag(nick, PlayersListModel::Ready, setFlag); } diff -r 0c0141cf851a -r a25e18295959 gameServer/Actions.hs --- a/gameServer/Actions.hs Mon May 13 14:10:51 2013 -0400 +++ b/gameServer/Actions.hs Mon May 13 22:49:14 2013 +0400 @@ -216,12 +216,12 @@ , name = newRoomName , isRestrictedJoins = False , isRestrictedTeams = False - , isRegisteredOnly = False - , readyPlayers = if isReady newMaster then readyPlayers r else readyPlayers r + 1}) - , ModifyClient2 newMasterId (\c -> c{isMaster = True, isReady = True}) + , isRegisteredOnly = False} + ) + , ModifyClient2 newMasterId (\c -> c{isMaster = True}) , AnswerClients [sendChan newMaster] ["ROOM_CONTROL_ACCESS", "1"] , AnswerClients thisRoomChans ["CLIENT_FLAGS", "-h", oldMaster] - , AnswerClients thisRoomChans ["CLIENT_FLAGS", "+hr", nick newMaster] + , AnswerClients thisRoomChans ["CLIENT_FLAGS", "+h", nick newMaster] ] newRoom' <- io $ room'sM rnc id ri diff -r 0c0141cf851a -r a25e18295959 gameServer/HWProtoInRoomState.hs --- a/gameServer/HWProtoInRoomState.hs Mon May 13 14:10:51 2013 -0400 +++ b/gameServer/HWProtoInRoomState.hs Mon May 13 22:49:14 2013 +0400 @@ -169,17 +169,15 @@ handleCmd_inRoom ["TOGGLE_READY"] = do cl <- thisClient chans <- roomClientsChans - if isMaster cl then - return [] - else - 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 - [if isReady cl then "NOT_READY" else "READY", nick cl] - else - ["CLIENT_FLAGS", if isReady cl then "-r" else "+r", nick cl] - ] + + 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 + [if isReady cl then "NOT_READY" else "READY", nick cl] + else + ["CLIENT_FLAGS", if isReady cl then "-r" else "+r", nick cl] + ] handleCmd_inRoom ["START_GAME"] = do