Add led/battery to tutorial
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
module Dodge.Layout (
|
||||
generateLevelFromRoomList,
|
||||
tilesFromRooms,
|
||||
shuffleRoomPos,
|
||||
) where
|
||||
|
||||
import Dodge.Path.Translate
|
||||
|
||||
+15
-20
@@ -1,5 +1,6 @@
|
||||
module Dodge.Room.Tutorial where
|
||||
|
||||
import Dodge.Layout
|
||||
import Dodge.Item.Held.Utility
|
||||
import Control.Monad
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
@@ -36,28 +37,11 @@ import RandomHelp
|
||||
import ShortShow
|
||||
import TreeHelp
|
||||
|
||||
--import Data.List (intersperse)
|
||||
|
||||
testf = PSPos (\x _ -> f x) (\_ -> id) Nothing
|
||||
where
|
||||
f x = case _rpType x of
|
||||
NotLink{} -> Just (PS (_rpPos x) (_rpDir x), x)
|
||||
_ -> Nothing
|
||||
|
||||
tutAnoTree :: State LayoutVars MTRS
|
||||
tutAnoTree = do
|
||||
foldMTRS
|
||||
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
|
||||
, corDoor
|
||||
, tToBTree "test" . return . cleatOnward <$> (roomRectAutoLinks 100 100
|
||||
<&> rmPmnts <>~
|
||||
[sps0 $ PutChasm $ rectNSWE 70 30 30 70
|
||||
, Placement testf (PutFlIt led) Nothing Nothing (const $ const Nothing)
|
||||
]
|
||||
<&> rmPos .~[RoomPos 35 0 mempty (NotLink False) mempty]
|
||||
-- <&> rmPos .~[]
|
||||
)
|
||||
, corDoor
|
||||
, tutHub
|
||||
, tutLight
|
||||
, tutDrop
|
||||
@@ -211,18 +195,29 @@ chasmSimpleMaze =
|
||||
|
||||
tutLight :: State LayoutVars (MetaTree Room String)
|
||||
tutLight = do
|
||||
x <- chasmSimpleMaze
|
||||
x <- shuffleRoomPos =<< chasmSimpleMaze
|
||||
y <- chasmSimpleMaze
|
||||
return $
|
||||
tToBTree "TutLight" $
|
||||
treePost
|
||||
[ x -- & rmPmnts <>~ [sps (PS 0 0) (PutFlIt torch)]
|
||||
[ x & rmPmnts <>~
|
||||
[sps g (PutFlIt led)
|
||||
,sps g (PutFlIt battery)
|
||||
]
|
||||
, corridor & rmPmnts .~ mempty
|
||||
, removeLights y
|
||||
, corridor & rmPmnts .~ mempty
|
||||
, removeLights y
|
||||
, cleatOnward corridor & rmPmnts .~ mempty
|
||||
]
|
||||
where
|
||||
g = PSPos (\x _ -> f x) (\_ -> id) Nothing
|
||||
where
|
||||
f x = case _rpType x of
|
||||
NotLink{} | null (x ^. rpPlacementUse . at UsedPosFloor)
|
||||
-> Just (PS (_rpPos x) (_rpDir x)
|
||||
, x & rpPlacementUse . at UsedPosFloor ?~ ())
|
||||
_ -> Nothing
|
||||
|
||||
removeLights :: Room -> Room
|
||||
removeLights = rmPmnts %~ mapMaybe f
|
||||
@@ -257,7 +252,7 @@ tutHub = do
|
||||
return $
|
||||
tToBTree "DoorTest" $
|
||||
Node
|
||||
(x & rmPmnts .:~ sps0 (PutFlIt led))
|
||||
x
|
||||
[ treeFromPost [triggerDoorRoom i] r1
|
||||
, treeFromPost [triggerDoorRoom j] r2
|
||||
, (rmClusterStatus . csLinks . at OnwardCluster .~ Nothing)
|
||||
|
||||
@@ -2585,7 +2585,7 @@ addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
|
||||
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
|
||||
addIndefiniteArticle src/StringHelp.hs 17;" f
|
||||
addNodes src/Dodge/Path.hs 115;" f
|
||||
addPane src/Dodge/Placement/PlaceSpot.hs 169;" f
|
||||
addPane src/Dodge/Placement/PlaceSpot.hs 172;" f
|
||||
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
|
||||
addPointPolygon src/Geometry/Polygon.hs 133;" f
|
||||
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
|
||||
@@ -2809,7 +2809,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
|
||||
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
|
||||
buttonFlip src/Dodge/Button/Event.hs 17;" f
|
||||
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f
|
||||
cChasm src/Dodge/Room/Tutorial.hs 109;" f
|
||||
cChasm src/Dodge/Room/Tutorial.hs 124;" f
|
||||
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
|
||||
cWireRect src/Dodge/CharacterEnums.hs 10;" f
|
||||
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
|
||||
@@ -2843,7 +2843,7 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
|
||||
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
|
||||
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
|
||||
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
|
||||
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 176;" f
|
||||
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 191;" f
|
||||
chasmTest src/Dodge/Creature/Update.hs 131;" f
|
||||
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
|
||||
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
|
||||
@@ -3612,7 +3612,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 117;" f
|
||||
floorWire src/Dodge/Wire.hs 13;" f
|
||||
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
|
||||
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
|
||||
foldMTRS src/Dodge/Room/Tutorial.hs 54;" f
|
||||
foldMTRS src/Dodge/Room/Tutorial.hs 69;" f
|
||||
foldPairs src/ListHelp.hs 37;" f
|
||||
foldrWhileArb src/ListHelp.hs 110;" f
|
||||
followImpulse src/Dodge/Creature/Impulse.hs 39;" f
|
||||
@@ -3677,8 +3677,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
|
||||
getCommand src/Dodge/Terminal.hs 52;" f
|
||||
getCommands src/Dodge/Terminal.hs 49;" f
|
||||
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 311;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 298;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 335;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 322;" f
|
||||
getDistortions src/Dodge/Render.hs 435;" f
|
||||
getGrenadeHitEffect src/Dodge/HeldUse.hs 1296;" f
|
||||
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
|
||||
@@ -3693,7 +3693,7 @@ getNodePos src/Dodge/Path.hs 31;" f
|
||||
getPJStabiliser src/Dodge/HeldUse.hs 1283;" f
|
||||
getPretty src/AesonHelp.hs 8;" f
|
||||
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 294;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 318;" f
|
||||
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
|
||||
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
|
||||
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
|
||||
@@ -4000,7 +4000,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
|
||||
keyPic src/Dodge/Item/Draw/SPic.hs 475;" f
|
||||
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
|
||||
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
|
||||
lChasm src/Dodge/Room/Tutorial.hs 118;" f
|
||||
lChasm src/Dodge/Room/Tutorial.hs 133;" f
|
||||
lConnect src/Dodge/Render/Connectors.hs 42;" f
|
||||
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
|
||||
lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f
|
||||
@@ -4251,7 +4251,7 @@ mglCreate src/GLHelp.hs 8;" f
|
||||
mglDelete src/GLHelp.hs 14;" f
|
||||
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
|
||||
midBounds src/Dodge/Room/Foreground.hs 151;" f
|
||||
midChasm src/Dodge/Room/Tutorial.hs 139;" f
|
||||
midChasm src/Dodge/Room/Tutorial.hs 154;" f
|
||||
midPad src/Padding.hs 27;" f
|
||||
midPadL src/Padding.hs 33;" f
|
||||
midPoint src/Geometry.hs 84;" f
|
||||
@@ -4311,18 +4311,18 @@ multiLookupTrie src/SimpleTrie.hs 57;" f
|
||||
multiLookupTrieI src/SimpleTrie.hs 66;" f
|
||||
muout src/Dodge/RoomLink.hs 144;" f
|
||||
muzFlareAt src/Dodge/HeldUse.hs 674;" f
|
||||
mvButton src/Dodge/Placement/PlaceSpot.hs 177;" f
|
||||
mvCr src/Dodge/Placement/PlaceSpot.hs 183;" f
|
||||
mvFS src/Dodge/Placement/PlaceSpot.hs 186;" f
|
||||
mvButton src/Dodge/Placement/PlaceSpot.hs 180;" f
|
||||
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
|
||||
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
|
||||
mvGust src/Dodge/Update.hs 770;" f
|
||||
mvLS src/Dodge/Placement/PlaceSpot.hs 251;" f
|
||||
mvLS src/Dodge/Placement/PlaceSpot.hs 254;" f
|
||||
mvP src/Dodge/Wall/Move.hs 54;" f
|
||||
mvPP src/Dodge/Placement/PlaceSpot.hs 180;" f
|
||||
mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f
|
||||
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
|
||||
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 314;" f
|
||||
mvPointToward src/Dodge/Base.hs 136;" f
|
||||
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
|
||||
mvProp src/Dodge/Placement/PlaceSpot.hs 174;" f
|
||||
mvProp src/Dodge/Placement/PlaceSpot.hs 177;" f
|
||||
mvPs src/Dodge/Wall/Move.hs 58;" f
|
||||
myIntersectLineLine src/Geometry/Intersect.hs 212;" f
|
||||
myIntersectSegSeg src/Geometry/Intersect.hs 190;" f
|
||||
@@ -4463,22 +4463,22 @@ pjRemoteSetDirection src/Dodge/Projectile/Update.hs 225;" f
|
||||
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
|
||||
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
|
||||
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
|
||||
plMachine src/Dodge/Placement/PlaceSpot.hs 189;" f
|
||||
plMachine' src/Dodge/Placement/PlaceSpot.hs 226;" f
|
||||
plMachine src/Dodge/Placement/PlaceSpot.hs 192;" f
|
||||
plMachine' src/Dodge/Placement/PlaceSpot.hs 229;" f
|
||||
plNew src/Dodge/Base/NewID.hs 19;" f
|
||||
plNewID src/Dodge/Base/NewID.hs 7;" f
|
||||
plNewUpID src/Dodge/Base/NewID.hs 13;" f
|
||||
plNewUsing src/Dodge/Base/NewID.hs 27;" f
|
||||
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
|
||||
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f
|
||||
plTurret src/Dodge/Placement/PlaceSpot.hs 195;" f
|
||||
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 240;" f
|
||||
plTurret src/Dodge/Placement/PlaceSpot.hs 198;" f
|
||||
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 243;" f
|
||||
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 42;" f
|
||||
placeSpot src/Dodge/Placement/PlaceSpot.hs 32;" f
|
||||
placeSpotID src/Dodge/Placement/PlaceSpot.hs 98;" f
|
||||
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 86;" f
|
||||
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 63;" f
|
||||
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 163;" f
|
||||
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 166;" f
|
||||
plainRegex src/Dodge/DisplayInventory.hs 189;" f
|
||||
playIfFree src/Sound.hs 137;" f
|
||||
playPositionalSoundQueue src/Sound.hs 145;" f
|
||||
@@ -4552,8 +4552,8 @@ pokeWall src/Shader/Poke.hs 78;" f
|
||||
pokeWallsWindows src/Shader/Poke.hs 50;" f
|
||||
poly3 src/Picture/Base.hs 84;" f
|
||||
poly3Col src/Picture/Base.hs 88;" f
|
||||
polyChasm src/Dodge/Room/Tutorial.hs 160;" f
|
||||
polyChasmC src/Dodge/Room/Tutorial.hs 169;" f
|
||||
polyChasm src/Dodge/Room/Tutorial.hs 175;" f
|
||||
polyChasmC src/Dodge/Room/Tutorial.hs 184;" f
|
||||
polyCirc src/Shape.hs 46;" f
|
||||
polyCircx src/Shape.hs 51;" f
|
||||
polyCornerDist src/Geometry/Polygon.hs 60;" f
|
||||
@@ -4744,7 +4744,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 158;" f
|
||||
removeAmmoFromMag src/Dodge/HeldUse.hs 920;" f
|
||||
removeDot src/ShortShow.hs 40;" f
|
||||
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
|
||||
removeLights src/Dodge/Room/Tutorial.hs 212;" f
|
||||
removeLights src/Dodge/Room/Tutorial.hs 236;" f
|
||||
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
|
||||
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
|
||||
renderDataResizeUpdate src/Preload/Update.hs 26;" f
|
||||
@@ -4928,7 +4928,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 196;" f
|
||||
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
|
||||
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
|
||||
sensorSPic src/Dodge/Machine/Draw.hs 81;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 320;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 344;" f
|
||||
sensorTypeDamages src/Dodge/Machine/Update.hs 233;" f
|
||||
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
|
||||
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f
|
||||
@@ -4954,7 +4954,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
|
||||
setOutLinksByType src/Dodge/RoomLink.hs 75;" f
|
||||
setOutLinksPD src/Dodge/RoomLink.hs 95;" f
|
||||
setRBCreatureTargeting src/Dodge/Creature/State.hs 288;" f
|
||||
setRoomInt src/Dodge/Room/Tutorial.hs 61;" f
|
||||
setRoomInt src/Dodge/Room/Tutorial.hs 76;" f
|
||||
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
|
||||
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
|
||||
setShaderSource src/Shader/Compile.hs 290;" f
|
||||
@@ -4964,7 +4964,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 76;" f
|
||||
setTile src/Dodge/Layout.hs 66;" f
|
||||
setTiles src/Dodge/Layout.hs 63;" f
|
||||
setToggle src/Dodge/Prop/Update.hs 44;" f
|
||||
setTreeInts src/Dodge/Room/Tutorial.hs 68;" f
|
||||
setTreeInts src/Dodge/Room/Tutorial.hs 83;" f
|
||||
setViewDistance src/Dodge/Update/Camera.hs 236;" f
|
||||
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
|
||||
setViewport src/Dodge/Render.hs 440;" f
|
||||
@@ -5253,6 +5253,7 @@ testCrossWalls src/Dodge/Room/Path.hs 41;" f
|
||||
testEvent src/Dodge/Event/Test.hs 9;" f
|
||||
testInventory src/Dodge/Creature.hs 292;" f
|
||||
testStringInit src/Dodge/TestString.hs 33;" f
|
||||
testf src/Dodge/Room/Tutorial.hs 41;" f
|
||||
text src/Picture/Base.hs 193;" f
|
||||
textGrad src/Picture/Text.hs 5;" f
|
||||
textInputBlurb src/Dodge/Terminal.hs 37;" f
|
||||
@@ -5398,13 +5399,13 @@ tryUseParent src/Dodge/Creature/State.hs 144;" f
|
||||
turnTo src/Dodge/Movement/Turn.hs 8;" f
|
||||
turret src/Dodge/Placement/Instance/Turret.hs 37;" f
|
||||
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
|
||||
tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f
|
||||
tutDrop src/Dodge/Room/Tutorial.hs 73;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 219;" f
|
||||
tutLight src/Dodge/Room/Tutorial.hs 197;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 331;" f
|
||||
tutAnoTree src/Dodge/Room/Tutorial.hs 47;" f
|
||||
tutDrop src/Dodge/Room/Tutorial.hs 88;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 243;" f
|
||||
tutLight src/Dodge/Room/Tutorial.hs 212;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 355;" f
|
||||
tutRoomTree src/Dodge/Floor.hs 21;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 355;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 379;" f
|
||||
tweenAngles src/Geometry/Vector.hs 195;" f
|
||||
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f
|
||||
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f
|
||||
@@ -5715,7 +5716,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
|
||||
yourRootItem src/Dodge/Base/You.hs 22;" f
|
||||
yourSelectedItem src/Dodge/Base/You.hs 16;" f
|
||||
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
|
||||
zChasm src/Dodge/Room/Tutorial.hs 127;" f
|
||||
zChasm src/Dodge/Room/Tutorial.hs 142;" f
|
||||
zConnect src/Dodge/Render/Connectors.hs 17;" f
|
||||
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
|
||||
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f
|
||||
|
||||
Reference in New Issue
Block a user