gameServer/HWProtoNEState.hs
changeset 8401 87410ae372f6
parent 8372 3c193ec03e09
child 10076 b235e520ea21
equal deleted inserted replaced
8400:33ab77c0b486 8401:87410ae372f6
    12 handleCmd_NotEntered :: CmdHandler
    12 handleCmd_NotEntered :: CmdHandler
    13 
    13 
    14 handleCmd_NotEntered ["NICK", newNick] = do
    14 handleCmd_NotEntered ["NICK", newNick] = do
    15     (ci, irnc) <- ask
    15     (ci, irnc) <- ask
    16     let cl = irnc `client` ci
    16     let cl = irnc `client` ci
    17     if not . B.null $ nick cl then return [ProtocolError "Nickname already chosen"]
    17     if not . B.null $ nick cl then return [ProtocolError $ loc "Nickname already chosen"]
    18         else
    18         else
    19         if illegalName newNick then return [ByeClient "Illegal nickname"]
    19         if illegalName newNick then return [ByeClient $ loc "Illegal nickname"]
    20             else
    20             else
    21             return $
    21             return $
    22                 ModifyClient (\c -> c{nick = newNick}) :
    22                 ModifyClient (\c -> c{nick = newNick}) :
    23                 AnswerClients [sendChan cl] ["NICK", newNick] :
    23                 AnswerClients [sendChan cl] ["NICK", newNick] :
    24                 [CheckRegistered | clientProto cl /= 0]
    24                 [CheckRegistered | clientProto cl /= 0]
    25 
    25 
    26 handleCmd_NotEntered ["PROTO", protoNum] = do
    26 handleCmd_NotEntered ["PROTO", protoNum] = do
    27     (ci, irnc) <- ask
    27     (ci, irnc) <- ask
    28     let cl = irnc `client` ci
    28     let cl = irnc `client` ci
    29     if clientProto cl > 0 then return [ProtocolError "Protocol already known"]
    29     if clientProto cl > 0 then return [ProtocolError $ loc "Protocol already known"]
    30         else
    30         else
    31         if parsedProto == 0 then return [ProtocolError "Bad number"]
    31         if parsedProto == 0 then return [ProtocolError $ loc "Bad number"]
    32             else
    32             else
    33             return $
    33             return $
    34                 ModifyClient (\c -> c{clientProto = parsedProto}) :
    34                 ModifyClient (\c -> c{clientProto = parsedProto}) :
    35                 AnswerClients [sendChan cl] ["PROTO", showB parsedProto] :
    35                 AnswerClients [sendChan cl] ["PROTO", showB parsedProto] :
    36                 [CheckRegistered | not . B.null $ nick cl]
    36                 [CheckRegistered | not . B.null $ nick cl]
    51 #if defined(OFFICIAL_SERVER)
    51 #if defined(OFFICIAL_SERVER)
    52 handleCmd_NotEntered ["CHECKER", protoNum, newNick, password] = do
    52 handleCmd_NotEntered ["CHECKER", protoNum, newNick, password] = do
    53     (ci, irnc) <- ask
    53     (ci, irnc) <- ask
    54     let cl = irnc `client` ci
    54     let cl = irnc `client` ci
    55 
    55 
    56     if parsedProto == 0 then return [ProtocolError "Bad number"]
    56     if parsedProto == 0 then return [ProtocolError $ loc "Bad number"]
    57         else
    57         else
    58         return $ [
    58         return $ [
    59             ModifyClient (\c -> c{clientProto = parsedProto, nick = newNick, webPassword = password, isChecker = True})
    59             ModifyClient (\c -> c{clientProto = parsedProto, nick = newNick, webPassword = password, isChecker = True})
    60             , CheckRegistered]
    60             , CheckRegistered]
    61     where
    61     where