gameServer/HWProtoLobbyState.hs
changeset 4936 d65d438acd23
parent 4932 f11d80bac7ed
child 4941 90572c338e60
equal deleted inserted replaced
4935:27fb500dd6b1 4936:d65d438acd23
    40                 showB $ playersIn r,
    40                 showB $ playersIn r,
    41                 showB $ length $ teams r,
    41                 showB $ length $ teams r,
    42                 nick $ irnc `client` masterID r,
    42                 nick $ irnc `client` masterID r,
    43                 head (Map.findWithDefault ["+gen+"] "MAP" (params r)),
    43                 head (Map.findWithDefault ["+gen+"] "MAP" (params r)),
    44                 head (Map.findWithDefault ["Default"] "SCHEME" (params r)),
    44                 head (Map.findWithDefault ["Default"] "SCHEME" (params r)),
    45                 head (Map.findWithDefault ["Default"] "AMMO" (params r))
    45                 head (Map.findWithDefault ["Default"] "AMMO" (params r)),
       
    46                 head (Map.findWithDefault ["Default"] "SCHEME" (params r)),
       
    47                 head (Map.findWithDefault ["0"] "MAPGEN" (params r)),
       
    48                 head (Map.findWithDefault ["seed"] "SEED" (params r))
    46                 ]
    49                 ]
    47 
    50 
    48 
    51 
    49 handleCmd_lobby ["CHAT", msg] = do
    52 handleCmd_lobby ["CHAT", msg] = do
    50     n <- clientNick
    53     n <- clientNick
   100         where
   103         where
   101         readynessMessage cl c = AnswerClients [sendChan cl] ["CLIENT_FLAGS", if isReady c then "+r" else "-r", nick c]
   104         readynessMessage cl c = AnswerClients [sendChan cl] ["CLIENT_FLAGS", if isReady c then "+r" else "-r", nick c]
   102 
   105 
   103         toAnswer cl (paramName, paramStrs) = AnswerClients [sendChan cl] $ "CFG" : paramName : paramStrs
   106         toAnswer cl (paramName, paramStrs) = AnswerClients [sendChan cl] $ "CFG" : paramName : paramStrs
   104 
   107 
   105         answerFullConfig cl pr = map (toAnswer cl) (leftConfigPart ++ rightConfigPart)
   108         answerFullConfig cl pr = map (toAnswer cl) $
   106             where
   109                  ("FULLMAPCONFIG", concatMap ((Map.!) pr) ["MAP", "MAPGEN", "SEED"])
   107             (leftConfigPart, rightConfigPart) = partition (\(p, _) -> p /= "MAP") $ Map.toList pr
   110                  : ("SCHEME", pr Map.! "SCHEME")
       
   111                  : (filter (\(p, _) -> p /= "SCHEME" && p /= "MAP" && p /= "MAPGEN" && p /= "SEED") $ Map.toList pr)
   108 
   112 
   109         answerTeams cl jRoom = let f = if gameinprogress jRoom then teamsAtStart else teams in answerAllTeams cl $ f jRoom
   113         answerTeams cl jRoom = let f = if gameinprogress jRoom then teamsAtStart else teams in answerAllTeams cl $ f jRoom
   110 
   114 
   111         watchRound cl jRoom = if not $ gameinprogress jRoom then
   115         watchRound cl jRoom = if not $ gameinprogress jRoom then
   112                     []
   116                     []