Start to implement lock and key system
This commit is contained in:
@@ -7,6 +7,8 @@ import Dodge.Data
|
||||
import Dodge.Room.Data
|
||||
import Dodge.Room.Placement
|
||||
import Dodge.LevelGen.Data
|
||||
import Dodge.Creature
|
||||
import Dodge.RandomHelp
|
||||
import Geometry
|
||||
|
||||
import Control.Monad.State
|
||||
@@ -40,3 +42,13 @@ roomOctogon x = Room
|
||||
|
||||
bossRoom :: RandomGen g => Creature -> State g Room
|
||||
bossRoom cr = pure $ roomOctogon 300 & rmPS %~ ( PS (0,100) (negate $ pi/2) (PutCrit cr) :)
|
||||
|
||||
armouredChasers :: RandomGen g => State g Room
|
||||
armouredChasers = do
|
||||
ps <- takeN 5 [(x,y) | x <- [-200,-120 .. 200] ,y <- [-200,-120 .. 200] ]
|
||||
as <- replicateM 5 . state $ randomR (0,2*pi)
|
||||
let theCrits = zipWith3 (\p a c -> PS p a (PutCrit armourChaseCrit)) ps as cs
|
||||
pure $ roomOctogon 300 & rmPS %~ (++ theCrits)
|
||||
where
|
||||
cs = (armourChaseCrit & crState . crDropsOnDeath .~ DropSpecific [0])
|
||||
: replicate 4 (armourChaseCrit & crState . crDropsOnDeath .~ DropSpecific [1])
|
||||
|
||||
Reference in New Issue
Block a user