Commit before tweaking placementn/room generation
This commit is contained in:
+61
-31
@@ -1,5 +1,6 @@
|
||||
module Dodge.Room.Tutorial where
|
||||
|
||||
import Dodge.Room.Room
|
||||
import Dodge.Annotation.Data
|
||||
import Dodge.Cleat
|
||||
--import Control.Monad
|
||||
@@ -26,7 +27,6 @@ import Dodge.Room.Ngon
|
||||
import Dodge.Room.Procedural
|
||||
import Dodge.Room.RezBox
|
||||
import Dodge.Room.RoadBlock
|
||||
import Dodge.Room.Room
|
||||
import Dodge.Room.Warning
|
||||
--import Dodge.Room.RoadBlock
|
||||
import Dodge.RoomLink
|
||||
@@ -49,6 +49,9 @@ tutAnoTree =
|
||||
[ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
, AnTree corDoor
|
||||
, AnTree $ tutRooms
|
||||
, AnTree corDoor
|
||||
, AnTree $ tToBTree "critroom" <$> weaponBehindPillar
|
||||
, AnTree corDoor
|
||||
, AnTree $ tutDrop
|
||||
, AnTree $ return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||
---- , AnTree $ pickupTut
|
||||
@@ -73,7 +76,18 @@ tutDrop = do
|
||||
& plSpot .~ rprBoolShift isUnusedLnk
|
||||
(\(p, a) -> (p + 10 *.* unitVectorAtAngle (a - pi/2), a))
|
||||
ss =
|
||||
[ makeTermLine "USE [F] OR CLICK AND DRAG TO DROP ITEMS"
|
||||
[makeTermLine "--------------------------------------------"
|
||||
,makeTermLine "YOU CAN ONLY CARRY A LIMITED AMOUNT OF ITEMS"
|
||||
,makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE") <>
|
||||
[ makeTermLine "USE [F] TO DROP SINGLE ITEMS"
|
||||
,makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE") <>
|
||||
[ makeTermLine "YOU CAN SELECT AND MOVE MULTIPLE ITEMS"
|
||||
, makeTermLine " WITH THE MOUSE"
|
||||
, makeTermLine "-------------------------------------------"
|
||||
]
|
||||
|
||||
tutRooms :: State LayoutVars (MetaTree Room String)
|
||||
@@ -81,7 +95,7 @@ tutRooms = do
|
||||
i <- nextLayoutInt
|
||||
j <- nextLayoutInt
|
||||
x <-
|
||||
shuffleLinks =<< analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
|
||||
shuffleLinks =<< analyserByDoorWithPrompt sensorTut (RequireEquipment (AMMOMAG DRUMMAG)) i
|
||||
<$> addDoorAtNthLinkToggleTerminal 1 ss j
|
||||
<$> roomNgon 6 100
|
||||
bcor <- blockedCorridor
|
||||
@@ -97,13 +111,15 @@ tutRooms = do
|
||||
]
|
||||
where
|
||||
ss =
|
||||
[ makeTermLine "SOME TERMINALS CAN BE INTERACTED WITH DIRECTLY"
|
||||
, makeTermLine " THESE WILL DISPLAY A PROMPT SYMBOL"
|
||||
, makeTermLine " _____"
|
||||
, makeTermLine " | | TYPE OR SCROLL TO ENTER COMMANDS"
|
||||
, makeTermLine " | > |"
|
||||
, makeTermLine " | | CLICK OR USE [RETURN] TO CONFIRM"
|
||||
, makeTermLine " ^^^^^"
|
||||
[ makeTermLine "---------------------------------------------"
|
||||
, makeTermLine "YOU CAN INTERACT WITH SOME TERMINALS DIRECTLY"
|
||||
, makeTermLine " THESE WILL DISPLAY A PROMPT SYMBOL"
|
||||
, makeTermLine " *****"
|
||||
, makeTermLine " * * TYPE OR SCROLL TO ENTER COMMANDS"
|
||||
, makeTermLine " * > *"
|
||||
, makeTermLine " * * CLICK OR USE [RETURN] TO CONFIRM"
|
||||
, makeTermLine " ***** "
|
||||
, makeTermLine "---------------------------------------------"
|
||||
, makeTermLine ""
|
||||
]
|
||||
r x = roomRectAutoLinks 100 100 <&> rmPmnts .:~ sps (PS 50 0) (PutFlIt x)
|
||||
@@ -114,27 +130,34 @@ tutRooms = do
|
||||
& plSpot .~ rprBoolShift isUnusedLnk
|
||||
(\(p, a) -> (p + 10 *.* unitVectorAtAngle (a - pi/2), a))
|
||||
ss' =
|
||||
[ makeTermLine "HOLD [CAPS] AND SCROLL"
|
||||
, makeTermLine " OR CLICK AND DRAG TO REARRANGE INVENTORY ITEMS"
|
||||
, makeTermLine ""
|
||||
, makeTermLine "AMMO MAGS ARE TYPICALLY LOADED BENEATH WEAPONS"
|
||||
[ makeTermLine "---------------------------------------------"
|
||||
, makeTermLine "HOLD [CAPS] AND SCROLL"
|
||||
, makeTermLine " OR CLICK AND DRAG"
|
||||
, makeTermLine " TO REARRANGE INVENTORY ITEMS"
|
||||
, makeTermLine "---------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE") <>
|
||||
[ makeTermLine "AMMO MAGS ARE NORMALLY LOADED BENEATH WEAPONS"
|
||||
, makeTermLine " .-------."
|
||||
, makeTermLine " BURSTRIFLE |DRUMMAG|"
|
||||
, makeTermLine " <------^-------^"
|
||||
, makeTermLine ""
|
||||
, makeTermLine "HOLD [RMB] TO AIM"
|
||||
, makeTermLine "*AND* THEN TAP [LMB] TO FIRE LOADED WEAPONS"
|
||||
, makeTermLine "---------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE") <>
|
||||
[ makeTermLine "HOLD [RMB] TO AIM"
|
||||
, makeTermLine " THEN CLICK [LMB] TO FIRE LOADED WEAPONS"
|
||||
, makeTermLine "---------------------------------------------"
|
||||
]
|
||||
|
||||
sensorTut :: [TerminalLine]
|
||||
sensorTut =
|
||||
[ makeTermLine "SOME TERMINALS DETECT EXTERNAL CONDITIONS"
|
||||
, makeTermLine "WHILE WORKING THESE DISPLAY SPINNING SYMBOL"
|
||||
, makeTermLine ""
|
||||
, makeTermLine "**CAUTION**"
|
||||
, makeTermLine "THE CONDITIONS AND ANY EFFECTS MAY BE HIDDEN"
|
||||
, makeTermLine ""
|
||||
[ makeTermLine "--------------------------------------------"
|
||||
, makeTermLine "SOME TERMINALS DETECT EXTERNAL CONDITIONS"
|
||||
, makeTermLine "WHILE ACTIVE THESE DISPLAY A SPINNING SYMBOL"
|
||||
, makeTermLine " | / - \\"
|
||||
, makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE")
|
||||
|
||||
tutRezBox :: RandomGen g => State g Room
|
||||
tutRezBox = do
|
||||
@@ -156,17 +179,24 @@ tutRezBox = do
|
||||
& restrictOutLinks (\(V2 _ h, _) -> h > 59)
|
||||
& rmName .~ "tutRezBox"
|
||||
where
|
||||
s w = tutorialMessage1 (w ^. cWorld . cwGen . cwgSeed)
|
||||
s w = tutorialMessage1 (w ^. gwWorld . cWorld . cwGen . cwgSeed)
|
||||
|
||||
tutorialMessage1 :: Int -> [TerminalLine]
|
||||
tutorialMessage1 i =
|
||||
[ makeTermLine $ "WELCOME TO ENVIRONMENT " ++ show i
|
||||
[ makeTermLine "--------------------------------------------"
|
||||
, makeTermLine $ "WELCOME TO ENVIRONMENT " ++ show i
|
||||
, makeTermLine ""
|
||||
, makeTermLine "USE [SPACE] TO INTERACT WITH NEARBY OBJECTS"
|
||||
, makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "USE [SPACE] TO INTERACT WITH NEARBY OBJECTS")
|
||||
<> [ makeTermLine "USE [SPACE] TO INTERACT WITH NEARBY OBJECTS"
|
||||
, makeTermLine ""
|
||||
, makeTermLine "USE [W]"
|
||||
, makeTermLine " [A] [S]"
|
||||
, makeTermLine " [D] TO MOVE"
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE")
|
||||
<> [ makeTermLine "USE [W]"
|
||||
, makeTermLine " [A] [S]"
|
||||
, makeTermLine " [D] TO MOVE"
|
||||
, makeTermLine "--------------------------------------------"
|
||||
]
|
||||
<> tlSetStatus (TerminalPressTo "CONTINUE") <>
|
||||
[ makeTermLine "AFTER EXITING THIS TERMINAL YOUR INVENTORY"
|
||||
, makeTermLine " AND NEARBY OBJECTS WILL BE DISPLAYED"
|
||||
, makeTermLine "--------------------------------------------"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user