equal
deleted
inserted
replaced
35 ModifyRoom (\r -> r{params = Map.insert paramName paramStrs (params r)}), |
35 ModifyRoom (\r -> r{params = Map.insert paramName paramStrs (params r)}), |
36 AnswerClients chans ("CFG" : paramName : paramStrs)] |
36 AnswerClients chans ("CFG" : paramName : paramStrs)] |
37 else |
37 else |
38 return [ProtocolError "Not room master"] |
38 return [ProtocolError "Not room master"] |
39 |
39 |
40 {- |
40 handleCmd_inRoom ("ADD_TEAM" : name : color : grave : fort : voicepack : flag : difStr : hhsInfo) |
41 handleCmd_inRoom clID clients rooms ("ADD_TEAM" : name : color : grave : fort : voicepack : flag : difStr : hhsInfo) |
41 | length hhsInfo /= 16 = return [ProtocolError "Corrupted hedgehogs info"] |
42 | length hhsInfo == 15 && clientProto client < 30 = handleCmd_inRoom clID clients rooms ("ADD_TEAM" : name : color : grave : fort : voicepack : " " : flag : difStr : hhsInfo) |
42 {- | length (teams room) == 6 = [Warning "too many teams"] |
43 | length hhsInfo /= 16 = [ProtocolError "Corrupted hedgehogs info"] |
|
44 | length (teams room) == 6 = [Warning "too many teams"] |
|
45 | canAddNumber <= 0 = [Warning "too many hedgehogs"] |
43 | canAddNumber <= 0 = [Warning "too many hedgehogs"] |
46 | isJust findTeam = [Warning "There's already a team with same name in the list"] |
44 | isJust findTeam = [Warning "There's already a team with same name in the list"] |
47 | gameinprogress room = [Warning "round in progress"] |
45 | gameinprogress room = [Warning "round in progress"] |
48 | isRestrictedTeams room = [Warning "restricted"] |
46 | isRestrictedTeams room = [Warning "restricted"] |
49 | otherwise = |
47 | otherwise = |
61 newTeam = (TeamInfo clID (nick client) name color grave fort voicepack flag difficulty newTeamHHNum (hhsList hhsInfo)) |
59 newTeam = (TeamInfo clID (nick client) name color grave fort voicepack flag difficulty newTeamHHNum (hhsList hhsInfo)) |
62 difficulty = fromMaybe 0 (maybeRead difStr :: Maybe Int) |
60 difficulty = fromMaybe 0 (maybeRead difStr :: Maybe Int) |
63 hhsList [] = [] |
61 hhsList [] = [] |
64 hhsList (n:h:hhs) = HedgehogInfo n h : hhsList hhs |
62 hhsList (n:h:hhs) = HedgehogInfo n h : hhsList hhs |
65 newTeamHHNum = min 4 canAddNumber |
63 newTeamHHNum = min 4 canAddNumber |
66 |
64 -} |
|
65 {- |
67 handleCmd_inRoom clID clients rooms ["REMOVE_TEAM", teamName] |
66 handleCmd_inRoom clID clients rooms ["REMOVE_TEAM", teamName] |
68 | noSuchTeam = [Warning "REMOVE_TEAM: no such team"] |
67 | noSuchTeam = [Warning "REMOVE_TEAM: no such team"] |
69 | nick client /= teamowner team = [ProtocolError "Not team owner!"] |
68 | nick client /= teamowner team = [ProtocolError "Not team owner!"] |
70 | otherwise = |
69 | otherwise = |
71 [RemoveTeam teamName, |
70 [RemoveTeam teamName, |