Add more procedural girders
This commit is contained in:
@@ -5,12 +5,15 @@ import Dodge.LevelGen.Data
|
||||
import Dodge.RandomHelp
|
||||
import Dodge.Room.Procedural
|
||||
import Dodge.Room.Tanks
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.Ngon
|
||||
import LensHelp
|
||||
import Geometry
|
||||
--import Dodge.Item.Equipment
|
||||
|
||||
import System.Random
|
||||
import Control.Monad.State
|
||||
|
||||
|
||||
roomsContaining :: RandomGen g => [Creature] -> [Item] -> State g (SubCompTree Room)
|
||||
roomsContaining crs its = do
|
||||
endroom <- join $ takeOne
|
||||
@@ -18,3 +21,15 @@ roomsContaining crs its = do
|
||||
, tanksRoom crs its
|
||||
]
|
||||
return $ treeFromPost [] $ UseAll endroom
|
||||
|
||||
pedestalRoom :: RandomGen g => Item -> State g Room
|
||||
pedestalRoom it = do
|
||||
let flit = PutFlIt it
|
||||
x <- state $ randomR (150,250)
|
||||
ngon <- state $ randomR (5,9)
|
||||
r <- takeOne
|
||||
[ shuffleLinks =<< (centerVaultRoom x x 50 <&> rmPmnts .:~ sps0 flit)
|
||||
, shuffleLinks $ roomRectAutoLinks (2*x) (2*x) & rmPmnts .:~ sPS (V2 x x) 0 flit
|
||||
, shuffleLinks $ roomNgon ngon x & rmPmnts .:~ sps0 flit
|
||||
]
|
||||
r <&> rmName .++~ "ped-"
|
||||
|
||||
Reference in New Issue
Block a user