Modularise code concerning items

This commit is contained in:
2021-03-12 02:29:24 +01:00
parent 9bdc6fddd7
commit 22275beb89
9 changed files with 339 additions and 292 deletions
+10 -8
View File
@@ -1,7 +1,7 @@
module Dodge.Rooms where
-- imports {{{
import Dodge.Data
import Dodge.Weapons
import Dodge.Item.Weapon
import Dodge.Critters
import Dodge.LevelGen
import Dodge.Base
@@ -89,8 +89,6 @@ corridor = Room
where lnks = [((20,70) ,0)
,((20,80) +.+ rotateV (0-pi/3) (-20,0), pi/6)
,((20,80) +.+ rotateV ( pi/3) ( 20,0),0-pi/6)
-- ,((40,0) +.+ rotateV ( pi/3) (-20,0), 2*pi/3)
-- ,(( 0,0) +.+ rotateV (0-pi/3) ( 20,0),0-2*pi/3)
,((20,10) ,pi)
]
corridorN :: Room
@@ -207,7 +205,8 @@ door = Room
{ _rmPolys = [rectNSWE 40 0 0 40]
, _rmLinks = lnks
, _rmPath = [((20,35),(20,5))]
, _rmPS = [PS (0,20) 0 $ PutAutoDoor (0,0) (40,0)]
-- door extends into side walls (for shadows as rendered 12/03)
, _rmPS = [PS (0,20) 0 $ PutAutoDoor (-10,0) (50,0)]
, _rmBound = []
}
where lnks = [((20,35),0)
@@ -531,11 +530,14 @@ weaponLongCorridor = do
i2 <- state $ randomR (2,5)
let branch1 = treeTrunk (replicate i1 $ Left corridor) (connectRoom $ putCrs connectingRoom)
let branch2 = treeTrunk (replicate i2 $ Left corridor) (deadRoom $ putWp corridorN)
return $ Node (Left root) [branch1,branch2]
return $ Node (Left $ addLS root) [branch1,branch2]
where putCrs = set rmPS [PS (10,40) (-pi/2) $ randC
,PS (-10,40) (-pi/2) $ randC
]
putWp = set rmPS [PS (20,40) 0 $ RandPS randFirstWeapon]
,PS (-10,40) (-pi/2) $ randC
]
putWp = set rmPS [PS (20,40) 0 $ RandPS randFirstWeapon
,PS (20,60) 0 $ basicLS
]
addLS = id -- set rmPS [PS (0,60) 0 $ basicLS]
critInDeadEnd :: Room
critInDeadEnd = set rmPS [PS (0,0) 0 $ randC] deadEndRoom