102 , [eml ["eseed ", mParams Map.! "SEED"]] |
102 , [eml ["eseed ", mParams Map.! "SEED"]] |
103 , [eml ["e$gmflags ", showB gameFlags]] |
103 , [eml ["e$gmflags ", showB gameFlags]] |
104 , schemeFlags |
104 , schemeFlags |
105 , schemeAdditional |
105 , schemeAdditional |
106 , [eml ["e$template_filter ", mParams Map.! "TEMPLATE"]] |
106 , [eml ["e$template_filter ", mParams Map.! "TEMPLATE"]] |
|
107 , [eml ["e$feature_size ", mParams Map.! "FEATURE_SIZE"]] |
107 , [eml ["e$mapgen ", mapgen]] |
108 , [eml ["e$mapgen ", mapgen]] |
108 , mapgenSpecific |
109 , mapgenSpecific |
109 , concatMap teamSetup ti |
110 , concatMap teamSetup ti |
110 , msgs |
111 , msgs |
111 , [em "!"] |
112 , [em "!"] |
112 ] |
113 ] |
113 where |
114 where |
114 keys1, keys2 :: Set.Set B.ByteString |
115 keys1, keys2 :: Set.Set B.ByteString |
115 keys1 = Set.fromList ["MAP", "MAPGEN", "MAZE_SIZE", "SEED", "TEMPLATE"] |
116 keys1 = Set.fromList ["FEATURE_SIZE", "MAP", "MAPGEN", "MAZE_SIZE", "SEED", "TEMPLATE"] |
116 keys2 = Set.fromList ["AMMO", "SCHEME", "SCRIPT", "THEME"] |
117 keys2 = Set.fromList ["AMMO", "SCHEME", "SCRIPT", "THEME"] |
117 sane = Set.null (keys1 Set.\\ Map.keysSet mParams) |
118 sane = Set.null (keys1 Set.\\ Map.keysSet mParams) |
118 && Set.null (keys2 Set.\\ Map.keysSet prms) |
119 && Set.null (keys2 Set.\\ Map.keysSet prms) |
119 && (not . null . drop 40 $ scheme) |
120 && (not . null . drop 40 $ scheme) |
120 && (not . null . tail $ prms Map.! "AMMO") |
121 && (not . null . tail $ prms Map.! "AMMO") |