Add airlocks
This commit is contained in:
+29
-23
@@ -12,6 +12,7 @@ import Dodge.Room.Link
|
||||
import Dodge.Room.Door
|
||||
import Dodge.Room.Branch
|
||||
import Dodge.Room.Boss
|
||||
import Dodge.Room.Airlock
|
||||
import Dodge.Base
|
||||
import Dodge.Layout
|
||||
import Dodge.Layout.Tree.Polymorphic
|
||||
@@ -40,29 +41,34 @@ roomTreex = do
|
||||
let struct = treeFromPost [[SpecificRoom $ fmap (pure . Right) testRoom]] [EndRoom]
|
||||
let t' = padCorridors struct
|
||||
t = treeFromTrunk
|
||||
[[StartRoom]
|
||||
,[DoorAno]
|
||||
,[SpecificRoom $ fmap (pure . Right) $ randomiseAllLinks =<< centerVaultRoom 1 200 200 50]
|
||||
,[SpecificRoom blockedCorridor]
|
||||
,[OrAno [[DoorAno]
|
||||
,[Corridor]
|
||||
,[DoorNumAno 0,AirlockAno]]
|
||||
]
|
||||
,[FirstWeapon]
|
||||
,[Corridor]
|
||||
,[SpecificRoom $ fmap (pure . Right) testRoom]
|
||||
,[Corridor]
|
||||
,[OrAno [[SpecificRoom $ branchRectWith $ fmap (pure . Left) armouredChasers]
|
||||
,[BossAno $ addArmour launcherCrit & crHP +~ 800
|
||||
& crState . crDropsOnDeath .~ DropSpecific [0] ]
|
||||
]
|
||||
]
|
||||
,[Corridor]
|
||||
,[SpecificRoom $ fmap (pure . Right) armouredCorridor]
|
||||
,[Corridor]
|
||||
,[TreasureAno [addArmour autoCrit,addArmour autoCrit] [launcher]]
|
||||
]
|
||||
t'
|
||||
[[StartRoom]
|
||||
,[Corridor]
|
||||
,[SpecificRoom $ (pure . pure . Right) $ airlockCrystal 20]
|
||||
,[Corridor]
|
||||
,[DoorAno]
|
||||
,[SpecificRoom $ fmap (pure . Right)
|
||||
$ randomiseLinksBy shuffleTail =<< centerVaultRoom 1 200 200 50]
|
||||
,[SpecificRoom blockedCorridor]
|
||||
,[OrAno [[DoorAno]
|
||||
,[Corridor]
|
||||
,[DoorNumAno 0,AirlockAno]]
|
||||
]
|
||||
,[FirstWeapon]
|
||||
,[Corridor]
|
||||
,[SpecificRoom $ fmap (pure . Right) testRoom]
|
||||
,[Corridor]
|
||||
,[OrAno
|
||||
[[SpecificRoom $ branchRectWith $ fmap (pure . Left) armouredChasers]
|
||||
,[BossAno $ addArmour launcherCrit & crHP +~ 800
|
||||
& crState . crDropsOnDeath .~ DropSpecific [0] ]
|
||||
]
|
||||
]
|
||||
,[Corridor]
|
||||
,[SpecificRoom $ fmap (pure . Right) armouredCorridor]
|
||||
,[Corridor]
|
||||
,[TreasureAno [addArmour autoCrit,addArmour autoCrit] [launcher]]
|
||||
]
|
||||
t'
|
||||
fmap (shiftExpandTree . expandTreeBy id) $ mapM annoToRoomTree t
|
||||
|
||||
levx :: RandomGen g => State g [Room]
|
||||
|
||||
Reference in New Issue
Block a user