Work on placements/room generation
This commit is contained in:
+48
-24
@@ -1,14 +1,9 @@
|
||||
module Dodge.Room.Tutorial (tutAnoTree) where
|
||||
|
||||
import Dodge.Cleat
|
||||
import Dodge.Room.Room
|
||||
import Dodge.Item.Held.Cane
|
||||
import Dodge.Item.Ammo
|
||||
import Dodge.Annotation.Data
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.Ngon
|
||||
import Dodge.Room.Door
|
||||
import TreeHelp
|
||||
import Dodge.Tree.Compose
|
||||
import Dodge.Room.RezBox
|
||||
import Dodge.Cleat
|
||||
--import Control.Monad
|
||||
--import qualified Data.Set as S
|
||||
--import Dodge.Cleat
|
||||
@@ -18,34 +13,68 @@ import Dodge.Default.Terminal
|
||||
import Dodge.LevelGen.PlacementHelper
|
||||
--import Dodge.LightSource
|
||||
import Dodge.Placement.Instance
|
||||
import Dodge.Room.Door
|
||||
import Dodge.Room.LasTurret
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.Ngon
|
||||
--import Dodge.Room.Corridor
|
||||
--import Dodge.Room.Door
|
||||
--import Dodge.Room.Link
|
||||
import Dodge.Room.Procedural
|
||||
import Dodge.Room.RezBox
|
||||
import Dodge.Room.Room
|
||||
import Dodge.Room.Warning
|
||||
--import Dodge.Room.RoadBlock
|
||||
import Dodge.RoomLink
|
||||
import Dodge.Terminal
|
||||
import Dodge.Tree.Compose
|
||||
--import Dodge.Tree
|
||||
import Geometry
|
||||
import LensHelp
|
||||
--import Padding
|
||||
import RandomHelp
|
||||
import Data.List (intersperse)
|
||||
import TreeHelp
|
||||
|
||||
--import Data.List (intersperse)
|
||||
|
||||
tutAnoTree :: Annotation
|
||||
tutAnoTree = OnwardList $
|
||||
intersperse
|
||||
(AnTree $ zoom lyGen corDoor)
|
||||
[AnTree . zoom lyGen $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
,AnTree $ zoom lyGen tutRooms
|
||||
]
|
||||
tutAnoTree =
|
||||
OnwardList $
|
||||
[ AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
, AnTree corDoor
|
||||
, AnTree $ tutRooms
|
||||
, AnTree $ pickupTut
|
||||
, AnTree $ weaponTut
|
||||
]
|
||||
|
||||
tutRooms :: State StdGen (MetaTree Room String)
|
||||
weaponTut :: State LayoutVars (MetaTree Room String)
|
||||
weaponTut = do
|
||||
x <- shuffleLinks $ roomNgon 6 100
|
||||
& rmPmnts .:~ sps (PS 0 0) (PutFlIt $ burstRifle)
|
||||
return $ tToBTree "WeaponTestTest" $ treePost $ [x]
|
||||
|
||||
pickupTut :: State LayoutVars (MetaTree Room String)
|
||||
pickupTut = do
|
||||
i <- nextLayoutInt
|
||||
x <- shuffleLinks $ analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i $ roomNgon 6 100
|
||||
& rmPmnts .:~ sps (PS 0 0) (PutFlIt $ drumMag & itConsumables ?~ 100)
|
||||
return $ tToBTree "PickupTest" $ treePost $ [x, cleatOnward $ triggerDoorRoom i]
|
||||
|
||||
tutRooms :: State LayoutVars (MetaTree Room String)
|
||||
tutRooms = do
|
||||
ys <- toggleDoorTest
|
||||
return $ tToBTree "DoorTest" $ treePost $ [] <> ys
|
||||
i <- nextLayoutInt
|
||||
j <- nextLayoutInt
|
||||
x <- shuffleLinks $ analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
|
||||
$ addDoorAtNthLinkToggleTerminal 1 (makeTermPara s) j
|
||||
$ roomNgon 6 100
|
||||
return $ tToBTree "DoorTest" $ Node x
|
||||
[Node (cleatOnward $ triggerDoorRoom i) []
|
||||
,Node ( triggerDoorRoom j) []
|
||||
]
|
||||
where
|
||||
s = "INTERACTION TEST 1: USE KEYBOARD OR SCROLL TO ENTER COMMANDS."
|
||||
|
||||
tutRezBox :: State StdGen Room
|
||||
tutRezBox :: RandomGen g => State g Room
|
||||
tutRezBox = do
|
||||
ls <- rezColor
|
||||
return $
|
||||
@@ -63,8 +92,3 @@ tutRezBox = do
|
||||
|
||||
tutorialMessage1 :: String
|
||||
tutorialMessage1 = "SYNTHESIS SUCCESSFUL. MOVEMENT TEST 1 INITIATED [WASD]. INTERACTION TEST 1 IN QUEUE [SPACE]."
|
||||
|
||||
toggleDoorTest :: State StdGen [Room]
|
||||
toggleDoorTest = do
|
||||
x <- shuffleLinks $ roomNgon 6 100
|
||||
return [x,door]
|
||||
|
||||
Reference in New Issue
Block a user