Remove hvAuto, replace with machineGun
This commit is contained in:
+11
-35
@@ -28,8 +28,7 @@ disconnectTerminal tm w = w
|
||||
& terminals . ix (_tmID tm) . tmStatus .~ TerminalOff
|
||||
& exitTerminalSubInv
|
||||
& terminals . ix (_tmID tm) . tmFutureLines .~
|
||||
[ TerminalLineTerminalEffect 0 (tmDisplayedLines .~ [])
|
||||
]
|
||||
[ TerminalLineTerminalEffect 0 (tmDisplayedLines .~ []) ]
|
||||
|
||||
exitTerminalSubInv :: World -> World
|
||||
exitTerminalSubInv w = case w ^? hud . hudElement . subInventory . termID of
|
||||
@@ -41,16 +40,12 @@ damageCodeCommand = TerminalCommand
|
||||
{ _tcString = "DAMAGECODE"
|
||||
, _tcAlias = ["DCODE","DC"]
|
||||
, _tcHelp = "DISPLAYS THE SHAPE AND COLOR ASSOCIATED WITH A GIVEN DAMAGE TYPE."
|
||||
, _tcEffect = \_ w -> OneArgument "A DAMAGE TYPE" $ getDamageCoding w
|
||||
-- , _tcArgumentType = Just "A DAMAGE TYPE"
|
||||
-- , _tcArguments = \_ -> map (map toUpper . show) . M.keys . _sensorCoding . _genParams
|
||||
-- , _tcEffect = f
|
||||
, _tcEffect = \_ -> OneArgument "A DAMAGE TYPE" . getDamageCoding
|
||||
}
|
||||
getDamageCoding :: World -> M.Map String [TerminalLine]
|
||||
getDamageCoding = decodedtmap . _sensorCoding . _genParams
|
||||
|
||||
decodedtmap :: M.Map DamageType (PaletteColor,DecorationShape)
|
||||
-> M.Map String [TerminalLine]
|
||||
decodedtmap :: M.Map DamageType (PaletteColor,DecorationShape) -> M.Map String [TerminalLine]
|
||||
decodedtmap = M.mapKeys show . M.map ((:[]) . makeTermLine . show)
|
||||
|
||||
sensorCommand :: TerminalCommand
|
||||
@@ -58,33 +53,19 @@ sensorCommand = TerminalCommand
|
||||
{ _tcString = "SENSOR"
|
||||
, _tcAlias = ["SEN"]
|
||||
, _tcHelp = "ACCESS INFORMATION CONCERNING THE CONNECTED SENSOR."
|
||||
, _tcEffect = \tm w -> OneArgument "A SENSOR PARAMETER" (sensorInfoMap tm w)
|
||||
, _tcEffect = \tm -> OneArgument "A SENSOR PARAMETER" . sensorInfoMap tm
|
||||
}
|
||||
sensorInfoMap :: Terminal -> World -> M.Map String [TerminalLine]
|
||||
sensorInfoMap tm w = M.fromList
|
||||
[("REQUIREMENT", getSensor _proxRequirement tm w)
|
||||
,("DISTANCE", getSensor _proxDist tm w)
|
||||
,("CURRENTSTATUS", getSensor _proxStatus tm w)
|
||||
,("PASTSTATUS", getSensor _sensToggle tm w)
|
||||
[("REQUIREMENT", getSensor _proxRequirement tm w)
|
||||
,("DISTANCE", getSensor _proxDist tm w)
|
||||
,("CURRENTSTATUS", getSensor _proxStatus tm w)
|
||||
,("PASTSTATUS", getSensor _sensToggle tm w)
|
||||
]
|
||||
getSensor :: Show a => (Sensor -> a) -> Terminal -> World -> [TerminalLine]
|
||||
getSensor f tm w = maybe [] (makeTermPara . map toUpper . show . f)
|
||||
(w ^? machines . ix (_tmMachineID tm) . mcSensor)
|
||||
|
||||
|
||||
effectArgMessage :: (String -> Terminal -> World -> Maybe [String])
|
||||
-> [String] -> Terminal -> World -> Either String [TerminalLine]
|
||||
effectArgMessage f args tm w = maybe (Left "") Right $ do
|
||||
arg <- safeHead args
|
||||
strs <- f arg tm w
|
||||
return $ map makeTermLine strs
|
||||
|
||||
sensf :: String -> Terminal -> World -> Maybe [String]
|
||||
sensf arg tm w = case arg of
|
||||
-- "REQUIREMENT","DISTANCE","CURRENTSTATUS","PASTSTATUS"]
|
||||
"BOOL" -> Just [show $ w ^? machines . ix (_tmMachineID tm) . mcSensor . sensToggle]
|
||||
_ -> Nothing
|
||||
|
||||
toggleCommand :: TerminalCommand
|
||||
toggleCommand = TerminalCommand
|
||||
{ _tcString = "TOGGLE"
|
||||
@@ -105,9 +86,6 @@ helpCommand = TerminalCommand
|
||||
, _tcEffect = \tm -> OneArgument "AN AVAILABLE COMMAND" . getCommandsHelp tm
|
||||
}
|
||||
getCommandsHelp :: Terminal -> World -> M.Map String [TerminalLine]
|
||||
--getCommandsHelp tm w = fromMaybe mempty $ do
|
||||
-- tcs <- getCommands tm w
|
||||
-- return $ foldr f mempty tcs
|
||||
getCommandsHelp tm w = foldr f mempty $ getCommands tm
|
||||
where
|
||||
f tc = M.insert (_tcString tc)
|
||||
@@ -126,8 +104,7 @@ getCommands tm = _tmScrollCommands tm ++ _tmWriteCommands tm
|
||||
infoClearInput :: Terminal -> [TerminalLine] -> World -> World
|
||||
infoClearInput tm tls = terminals . ix (_tmID tm) %~
|
||||
( (tmInput .~ TerminalInput T.empty True (0,0))
|
||||
. (tmFutureLines ++.~ tls
|
||||
)
|
||||
. (tmFutureLines ++.~ tls)
|
||||
)
|
||||
|
||||
argumentHelp :: TerminalCommand -> Terminal -> World -> (String,Maybe [String])
|
||||
@@ -171,7 +148,7 @@ commandsCommand = TerminalCommand
|
||||
, _tcEffect = \tm _ -> NoArguments
|
||||
( makeTermLine "AVAILABLE COMMANDS:"
|
||||
: makeColorTermPara commandColor (unwords (map _tcString $ getCommands tm))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
commandColor :: Color
|
||||
@@ -202,7 +179,7 @@ terminalReturnEffect :: Terminal -> World -> World
|
||||
terminalReturnEffect tm w = guardDisconnected tm w $ fromMaybe w $ do
|
||||
s <- fmap T.unpack $ w ^? terminals . ix (_tmID tm) . tmInput . tiText
|
||||
return $ runTerminalString s tm $ w
|
||||
& terminals . ix (_tmID tm) . tmFutureLines .~ [makeTermLine ('>':s)]
|
||||
& terminals . ix (_tmID tm) . tmFutureLines .~ [makeTermLine ('>':s)]
|
||||
|
||||
commandFutureLines :: String -> Terminal -> World -> [TerminalLine]
|
||||
commandFutureLines s tm w = fromMaybe [errline "^ INVALID COMMAND"] $ do
|
||||
@@ -266,4 +243,3 @@ connectionBlurb1 =
|
||||
,TerminalLineDisplay 10 (const ("...",white))
|
||||
,TerminalLineDisplay 10 (const ("CONNECTED",white))
|
||||
,TerminalLineTerminalEffect 0 (tmStatus .~ TerminalReady)]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user