Add (cosmetic, indestructible) pipe connecting storage/distributer
This commit is contained in:
+19
-1
@@ -13,6 +13,10 @@ module Dodge.Room.Room (
|
||||
distributerRoom,
|
||||
) where
|
||||
|
||||
import Linear
|
||||
import Color
|
||||
import Dodge.Placement.Instance.Pipe
|
||||
import ShapePicture
|
||||
import Shape
|
||||
import Dodge.Default
|
||||
import Dodge.Data.AmmoType
|
||||
@@ -411,6 +415,7 @@ critsRoom i =
|
||||
distributerRoom :: AmmoType -> Int -> State LayoutVars Room
|
||||
distributerRoom atype aamount = do
|
||||
i <- nextLayoutInt
|
||||
i1 <- nextLayoutInt
|
||||
w <- state $ randomR (100, 400)
|
||||
h <- state $ randomR (200, 400)
|
||||
r <- roomRectAutoLinks w h
|
||||
@@ -425,8 +430,21 @@ distributerRoom atype aamount = do
|
||||
dst gw = let mj = gw ^? genPmnt . ix i . plMID . _Just
|
||||
in sps (unusedOffPathAwayFromLink 50)
|
||||
(PutMachine (reverse $ square 10) (mcdist mj) Nothing)
|
||||
& plExternalID ?~ i1
|
||||
thepipe gw =
|
||||
let p1 = gw ^?! genPmnt . ix i . plSpot . psPos
|
||||
p2 = gw ^?! genPmnt . ix i1 . plSpot . psPos
|
||||
in sps (PS p1 0)
|
||||
(PutForeground
|
||||
(ForegroundShape 0 0
|
||||
(noPic . colorSH orange $ horPipe 70 0 (p2 - p1)
|
||||
<> translateSH (V3 0 0 30) (verticalPipe (70 - 30))
|
||||
<> translateSH (0 & _xy .~p2 - p1) (verticalPipe 70)
|
||||
)
|
||||
)
|
||||
)
|
||||
return $ r & rmPmnts .:~ store
|
||||
& rmInPmnt .:~ (0,dst)
|
||||
& rmInPmnt <>~ [(0,dst),(1,thepipe)]
|
||||
|
||||
-- cor <- shuffleLinks corridor
|
||||
-- return $ tToBTree "corDoor" $ treePost [door,cor,cleatOnward door]
|
||||
|
||||
Reference in New Issue
Block a user