gameServer/HWProtoLobbyState.hs
changeset 7668 4cb423f42105
parent 7537 833a0c34fafc
child 7677 f63c55db82eb
equal deleted inserted replaced
7667:4346566c5a58 7668:4cb423f42105
     4 import qualified Data.Map as Map
     4 import qualified Data.Map as Map
     5 import qualified Data.Foldable as Foldable
     5 import qualified Data.Foldable as Foldable
     6 import Data.Maybe
     6 import Data.Maybe
     7 import Data.List
     7 import Data.List
     8 import Control.Monad.Reader
     8 import Control.Monad.Reader
       
     9 import qualified Data.ByteString.Char8 as B
     9 --------------------------------------
    10 --------------------------------------
    10 import CoreTypes
    11 import CoreTypes
    11 import Actions
    12 import Actions
    12 import Utils
    13 import Utils
    13 import HandlerUtils
    14 import HandlerUtils
    67     let jRI = fromJust maybeRI
    68     let jRI = fromJust maybeRI
    68     let jRoom = irnc `room` jRI
    69     let jRoom = irnc `room` jRI
    69     let sameProto = clientProto cl == roomProto jRoom
    70     let sameProto = clientProto cl == roomProto jRoom
    70     let jRoomClients = map (client irnc) $ roomClients irnc jRI
    71     let jRoomClients = map (client irnc) $ roomClients irnc jRI
    71     let nicks = map nick jRoomClients
    72     let nicks = map nick jRoomClients
       
    73     let owner = fromJust $ find isMaster jRoomClients
    72     let chans = map sendChan (cl : jRoomClients)
    74     let chans = map sendChan (cl : jRoomClients)
    73     let isBanned = host cl `elem` roomBansList jRoom
    75     let isBanned = host cl `elem` roomBansList jRoom
    74     return $
    76     return $
    75         if isNothing maybeRI || not sameProto then
    77         if isNothing maybeRI || not sameProto then
    76             [Warning "No such room"]
    78             [Warning "No such room"]
    82             [NoticeMessage WrongPassword]
    84             [NoticeMessage WrongPassword]
    83             else
    85             else
    84             [
    86             [
    85                 MoveToRoom jRI,
    87                 MoveToRoom jRI,
    86                 AnswerClients [sendChan cl] $ "JOINED" : nicks,
    88                 AnswerClients [sendChan cl] $ "JOINED" : nicks,
    87                 AnswerClients chans ["CLIENT_FLAGS", "-r", nick cl]
    89                 AnswerClients chans ["CLIENT_FLAGS", "-r", nick cl],
       
    90                 AnswerClients [sendChan cl] $ ["WARNING", "Room owner is " `B.append` nick owner]
    88             ]
    91             ]
    89             ++ map (readynessMessage cl) jRoomClients
    92             ++ map (readynessMessage cl) jRoomClients
    90             ++ answerFullConfig cl (mapParams jRoom) (params jRoom)
    93             ++ answerFullConfig cl (mapParams jRoom) (params jRoom)
    91             ++ answerTeams cl jRoom
    94             ++ answerTeams cl jRoom
    92             ++ watchRound cl jRoom
    95             ++ watchRound cl jRoom