diff --git a/src/Dodge/Room/Warning.hs b/src/Dodge/Room/Warning.hs index ae73d937c..b40ffc8ad 100644 --- a/src/Dodge/Room/Warning.hs +++ b/src/Dodge/Room/Warning.hs @@ -52,8 +52,11 @@ addWarningTerminal str outplid = (rmName .++~ "warningTerm-") where outplace = extTrigLitPos (atFstLnkOutShiftBy (\(p,a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a))) - (Just . set plSpot (rprShift moveToSideFirstOutLink) . putMessageTerminal terminalColor . termMessages) - termMessages trpl = basicTerminal & tmScrollCommands .:~ toggleCommand + (Just . set plSpot (rprShift moveToSideFirstOutLink) + . putMessageTerminal terminalColor . termMessages) + termMessages trpl = basicTerminal + & tmFutureLines .~ makeTermPara str + & tmScrollCommands .:~ toggleCommand & tmToggles .~ M.fromList [("DOOR",TerminalToggle (fromJust $ _plMID trpl) (const (const True)))] diff --git a/src/Dodge/Terminal.hs b/src/Dodge/Terminal.hs index 34e59b8f7..d63a2c6d5 100644 --- a/src/Dodge/Terminal.hs +++ b/src/Dodge/Terminal.hs @@ -223,7 +223,7 @@ doLineEffectsInstant tm = foldr f basicTerminal :: Terminal basicTerminal = defaultTerminal {_tmDisplayedLines = [] - ,_tmFutureLines = [] + ,_tmFutureLines = [] ,_tmMaxLines = 14 ,_tmTitle = "TERMINAL" ,_tmInput = defaultTerminalInput @@ -233,6 +233,19 @@ basicTerminal = defaultTerminal , _tmDeathEffect = doDeathTriggers } +lineOutputTerminal :: [TerminalLine] -> Terminal +lineOutputTerminal tls = defaultTerminal + {_tmDisplayedLines = [] + ,_tmFutureLines = [] + ,_tmMaxLines = 14 + ,_tmTitle = "TERMINAL" + ,_tmInput = defaultTerminalInput + ,_tmScrollCommands = [quitCommand] + ,_tmWriteCommands = [helpCommand,commandsCommand] + ,_tmProgram = \_ _ -> connectionBlurbLines tls + , _tmDeathEffect = doDeathTriggers + } + doDeathTriggers :: Terminal -> World -> World doDeathTriggers tm w = w & triggers %~ flip (foldl' $ flip doDeathToggle) xs @@ -248,3 +261,12 @@ connectionBlurb = ,TerminalLineDisplay 10 (const ("...",termTextColor)) ,TerminalLineDisplay 10 (const ("CONNECTED",termTextColor)) ,TerminalLineTerminalEffect 0 (tmStatus .~ TerminalReady)] + +connectionBlurbLines :: [TerminalLine] -> [TerminalLine] +connectionBlurbLines tls = + [termSoundLine computerBeepingS + ,TerminalLineDisplay 0 (const ("CONNECTING",termTextColor)) + ,TerminalLineDisplay 10 (const ("...",termTextColor)) + ,TerminalLineDisplay 10 (const ("CONNECTED",termTextColor)) + ] ++ tls ++ + [TerminalLineTerminalEffect 0 (tmStatus .~ TerminalReady)]