Add crab crit, rethink Action datatype slightly

This commit is contained in:
2026-04-07 15:29:02 +01:00
parent 35d169b585
commit f0e568e694
25 changed files with 606 additions and 465 deletions
+16 -7
View File
@@ -2,6 +2,7 @@
module Dodge.Room.Tutorial where
import Dodge.Item.Held.Stick
import Dodge.Creature.ChaseCrit
import Control.Monad
import Data.Foldable
@@ -427,6 +428,10 @@ tutLight = do
)
_ -> Nothing
crabRoom :: State LayoutVars Room
crabRoom = (putSingleLight =<< roomNgon 6 150)
<&> rmPmnts .:~ psPtPl (PS 100 0) (PutCrit crabCrit)
loadAmmoTut :: State LayoutVars (MetaTree Room String)
loadAmmoTut = do
i <- nextLayoutInt
@@ -445,14 +450,16 @@ loadAmmoTut = do
=<< join (takeOne [roomNgon 6 80, roomRectAutoLights 100 100])
-- =<< join (takeOne [roomNgon 6 80])
droom <- distributerRoom BulletAmmo (10 ^ (4::Int))
ncrits <- takeOne [1,1,2,2,2,3]
croom <- roomCCrits ncrits
croom <- crabRoom
wep <- takeOne [burstRifle,smg]
return $
tToBTree "loadAmmoTest" $
treePost
[ amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90))
[ croom
, door
, amrm & rmPmnts .:~ sps (PS 50 0) (PutFlIt (drumMag & itConsumables ?~ 90))
, triggerDoorRoom i
, wprm & rmPmnts .:~ sps (PS 50 0) (PutFlIt burstRifle)
, wprm & rmPmnts .:~ sps (PS 50 0) (PutFlIt wep)
, triggerDoorRoom j
, droom
, door
@@ -478,11 +485,13 @@ putSingleLight rm = do
, (V2 0 y', V2 x y')
]
return $ rmPmnts .:~ uncurry spanLightI ps
RoomNgon{_rmngonSize = x} -> do
y <- takeOne [21, -21]
return $ rmPmnts .:~ spanLightI (V2 (-x) y) (V2 x y)
RoomNgon{} -> do
let p = rm ^?! rmPolys . ix 0 . ix 0
return $ rmPmnts .:~ spanLightI p (-p)
return . f $ removeLights rm
tutHub :: State LayoutVars (MetaTree Room String)
tutHub = do
(is, wbp) <- setTreeInts =<< critsRoom 1