Rework annotations
This commit is contained in:
@@ -34,7 +34,7 @@ import LensHelp
|
||||
import Control.Monad.State
|
||||
import System.Random
|
||||
|
||||
blinkAcrossChallenge :: RandomGen g => State g (LabTree Room)
|
||||
blinkAcrossChallenge :: RandomGen g => State g (MetaTree Room)
|
||||
blinkAcrossChallenge = do
|
||||
teleFromRoom <- shuffleLinks $ roomRectAutoLinks 200 200
|
||||
teleToRoom <- shuffleLinks $ roomRectAutoLinks 200 200
|
||||
|
||||
@@ -15,7 +15,7 @@ import Geometry
|
||||
|
||||
import Data.List
|
||||
|
||||
roomsContaining :: RandomGen g => [Creature] -> [Item] -> State g (LabTree Room)
|
||||
roomsContaining :: RandomGen g => [Creature] -> [Item] -> State g (MetaTree Room)
|
||||
roomsContaining crs its = do
|
||||
endroom <- join $ takeOne
|
||||
[ randomFourCornerRoomCrsIts crs its
|
||||
|
||||
@@ -53,7 +53,7 @@ glassLesson = do
|
||||
, mntLS vShape (V2 180 200) (V3 160 180 50)
|
||||
]
|
||||
]
|
||||
glassLessonRunPast :: RandomGen g => State g (LabTree Room)
|
||||
glassLessonRunPast = (f <$> glassLesson) <&> (toOnward "glassLessonRunPast",)
|
||||
glassLessonRunPast :: RandomGen g => State g (MetaTree Room)
|
||||
glassLessonRunPast = (f <$> glassLesson) >>= rToOnward "glassLessonRunPast"
|
||||
where
|
||||
f (Node r rs) = Node r $ return (cleatLabel 0 $ door & rmConnectsTo .~ S.member (OnEdge West)) : rs
|
||||
|
||||
@@ -71,15 +71,15 @@ lightSensByDoor outplid rm = rm
|
||||
covershape = rectNSEW 10 (-10) 20 (-20)
|
||||
sensorshift (p,a) = (p +.+ rotateV a (V2 60 (-20)), a)
|
||||
|
||||
keyCardRoomRunPast :: RandomGen g => Int -> Int -> State g (LabTree Room)
|
||||
keyCardRoomRunPast :: RandomGen g => Int -> Int -> State g (MetaTree Room)
|
||||
keyCardRoomRunPast keyid rmid = do
|
||||
cenroom <- shuffleLinks $ keyCardAnalyserByDoor keyid rmid $ roomNgon 6 200
|
||||
let doorroom = triggerDoorRoom rmid
|
||||
return (toOnward "keyCardRoomRunPast",
|
||||
rToOnward "keyCardRoomRunPast" $
|
||||
treeFromTrunk [door] $ Node cenroom
|
||||
[ treeFromPost [doorroom] (cleatOnward door)
|
||||
, treeFromPost [door] (cleatLabel rmid corridor)
|
||||
])
|
||||
]
|
||||
|
||||
keyCardAnalyserByDoor :: Int -> Int -> Room -> Room
|
||||
keyCardAnalyserByDoor keyid = analyserByDoor (RequireEquipment (KEYCARD keyid))
|
||||
@@ -114,13 +114,13 @@ healthTest n = do
|
||||
, cleatOnward door
|
||||
]
|
||||
|
||||
lasSensorTurretTest :: RandomGen g => Int -> State g (LabTree Room)
|
||||
lasSensorTurretTest :: RandomGen g => Int -> State g (MetaTree Room)
|
||||
lasSensorTurretTest n = do
|
||||
cenroom <- shuffleLinks $ lightSensInsideDoor n cenLasTur
|
||||
rToOnward "lasSensorTurretTest" $ treePost
|
||||
[ door, cenroom, triggerDoorRoom n, cleatOnward door]
|
||||
|
||||
lasCenSensEdge :: RandomGen g => Int -> State g (LabTree Room)
|
||||
lasCenSensEdge :: RandomGen g => Int -> State g (MetaTree Room)
|
||||
lasCenSensEdge n = do
|
||||
cenroom <- shuffleLinks $ lightSensByDoor n cenLasTur
|
||||
let doorroom = triggerDoorRoom n
|
||||
@@ -165,7 +165,7 @@ lasTunnel y = do
|
||||
]
|
||||
|
||||
-- a y value of 400 is probably "unrunnable"
|
||||
lasTunnelRunPast :: RandomGen g => Float -> State g (LabTree Room)
|
||||
lasTunnelRunPast :: RandomGen g => Float -> State g (MetaTree Room)
|
||||
lasTunnelRunPast y = do
|
||||
r <- lasTunnel y
|
||||
r1 <- takeOne [door,corridor]
|
||||
|
||||
@@ -140,7 +140,7 @@ slowDoorRoom = do
|
||||
proom <- southPillarsRoom x y h
|
||||
addButtonSlowDoor x h (proom & rmPmnts %~ (++ (crits ++ barrels)))
|
||||
|
||||
slowDoorRoomRunPast :: RandomGen g => State g (LabTree Room)
|
||||
slowDoorRoomRunPast :: RandomGen g => State g (MetaTree Room)
|
||||
slowDoorRoomRunPast = do
|
||||
r <- slowDoorRoom
|
||||
rToOnward "slowDoorRoomRunPast" $ treeFromTrunk [ door] $ Node r
|
||||
|
||||
@@ -47,7 +47,7 @@ longRoom = do
|
||||
| crx <- [12.5,37.5,62.5] ] ++
|
||||
[sPS (V2 25 lampy ) 0 putLamp | lampy <- [20,h-10] ]
|
||||
|
||||
longRoomRunPast :: RandomGen g => State g (LabTree Room)
|
||||
longRoomRunPast :: RandomGen g => State g (MetaTree Room)
|
||||
longRoomRunPast = do
|
||||
r <- longRoom
|
||||
rToOnward "longRoomRunPast"
|
||||
|
||||
@@ -123,11 +123,11 @@ rot90Around cen p = cen +.+ vNormal (p -.- cen)
|
||||
-- So, the idea is to attach outer children to the bottommost right nodes
|
||||
-- inside an inner tree
|
||||
-- no idea what was going on here...
|
||||
roomMiniIntro :: RandomGen g => State g (LabTree Room)
|
||||
roomMiniIntro :: RandomGen g => State g (MetaTree Room)
|
||||
roomMiniIntro = do
|
||||
midroom <- join $ takeOne [miniTree2] --,glassLesson]
|
||||
return ( toOnward "roomMiniIntro"
|
||||
, midroom )
|
||||
rToOnward "roomMiniIntro"
|
||||
midroom
|
||||
|
||||
roomCenterPillar :: RandomGen g => State g Room
|
||||
roomCenterPillar = shuffleLinks . restrictInLinks ((\p -> dist p (V2 120 0) < 10) . fst)
|
||||
@@ -396,7 +396,7 @@ pistolerRoom = pillarGrid
|
||||
]
|
||||
++)
|
||||
|
||||
shootingRange :: RandomGen g => State g (LabTree Room)
|
||||
shootingRange :: RandomGen g => State g (MetaTree Room)
|
||||
shootingRange = do
|
||||
rm1 <- shootersRoom1 >>= shuffleLinks . restrictInLinks (\(V2 _ y,_) -> y < 40)
|
||||
. restrictOutLinks (\(V2 _ y,r) -> y > 200 && r /= 0)
|
||||
|
||||
@@ -56,7 +56,7 @@ sensorRoom senseType n = do
|
||||
p' = p +.+ rotateV d (V2 0 (negate 100))
|
||||
isclose = dist (_rlPos rl) p' < 30
|
||||
|
||||
sensorRoomRunPast :: RandomGen g => DamageType -> Int -> State g (LabTree Room)
|
||||
sensorRoomRunPast :: RandomGen g => DamageType -> Int -> State g (MetaTree Room)
|
||||
sensorRoomRunPast dt n = do
|
||||
t <- sensorRoom dt n
|
||||
rToOnward "sensorRoomRunPast" $ t & applyToSubforest [0]
|
||||
|
||||
@@ -48,7 +48,7 @@ powerFakeout = do
|
||||
, keyholeCorridor, corridor])
|
||||
`treeFromPost` cleatOnward door
|
||||
|
||||
startRoom :: RandomGen g => Int -> State g (LabTree Room)
|
||||
startRoom :: RandomGen g => Int -> State g (MetaTree Room)
|
||||
startRoom i = join (takeOne
|
||||
[-- (,) (0.5::Float) ((chainUses <$> sequence [powerFakeout,fmap fst $weaponRoom i])
|
||||
-- <&> (,TreeSubLabelling "chainUses <$> sequence [powerFakeout,weaponRoom i]" Nothing))
|
||||
@@ -56,11 +56,11 @@ startRoom i = join (takeOne
|
||||
-- rezBoxesWp >>= rToOnward "rezBoxesWp"
|
||||
-- , rezBoxThenWeaponRoom i
|
||||
-- , rezBoxesWpCrit >>= rToOnward "rezBoxesWpCrit"
|
||||
runPastStart i >>= rToOnward ("runPastStart " ++ show i)
|
||||
runPastStart i >>= rToOnward ("runPastStart " ++ show i)
|
||||
-- , startCrafts >>= roomsContaining' [] >>= rezBoxThenRooms
|
||||
-- >>= rToOnward "startCrafts >>= roomsContaining [] >>= rezBoxThenRooms"
|
||||
])
|
||||
randomChallenges :: RandomGen g => State g (LabTree Room)
|
||||
randomChallenges :: RandomGen g => State g (MetaTree Room)
|
||||
randomChallenges = shootingRange
|
||||
-- join (takeOne
|
||||
-- [fmap (return . useAll) doubleCorridorBarrels <&> (,TreeSubLabelling "doubleCorridorBarrels" Nothing)
|
||||
@@ -88,13 +88,12 @@ rezBoxesThenWeaponRoom i = do
|
||||
wroom <- snd <$> weaponRoom i
|
||||
return (rboxes `passUntiluseAll` [wroom] , "rezBoxesThenWeaponRoom " ++ show i)
|
||||
|
||||
rezBoxThenWeaponRoom :: RandomGen g => Int -> State g (LabTree Room)
|
||||
rezBoxThenWeaponRoom :: RandomGen g => Int -> State g (MetaTree Room)
|
||||
rezBoxThenWeaponRoom i = do
|
||||
rcol <- rezColor
|
||||
(_,wroom) <- weaponRoom i
|
||||
return (toOnward ("rezBoxThenWeaponRoom "++ show i)
|
||||
, treeFromTrunk [ rezBox rcol, door] wroom
|
||||
)
|
||||
rToOnward ("rezBoxThenWeaponRoom "++ show i)
|
||||
$ treeFromTrunk [ rezBox rcol, door] wroom
|
||||
|
||||
rezBoxThenRoom :: RandomGen g => Room -> State g (Tree Room)
|
||||
rezBoxThenRoom r = do
|
||||
|
||||
@@ -37,7 +37,7 @@ import qualified Data.Map.Strict as M
|
||||
--import qualified Data.Text as T
|
||||
|
||||
|
||||
warningRooms :: RandomGen g => Int -> State g (LabTree Room)
|
||||
warningRooms :: RandomGen g => Int -> State g (MetaTree Room)
|
||||
warningRooms n = do
|
||||
rm <- takeOne [roomNgon 8 200, roomRectAutoLinks 200 200]
|
||||
cenroom <- shuffleLinks $ addWarningTerminal n rm
|
||||
|
||||
Reference in New Issue
Block a user