Commit before trying to add machine footprint
This commit is contained in:
@@ -14,11 +14,26 @@ destroyMachine :: Machine -> World -> World
|
||||
destroyMachine mc =
|
||||
(cWorld . lWorld . machines %~ IM.delete (_mcID mc))
|
||||
. deleteWallIDs (_mcWallIDs mc)
|
||||
. makeExplosionAt (_mcPos mc `v2z` 20) 0
|
||||
. makeMachineDebris mc
|
||||
. makeSmallExplosionAt (_mcPos mc `v2z` 20) 0
|
||||
. mcKillTerm mc
|
||||
. mcKillBut mc
|
||||
. destroyMcType (mc ^. mcType) mc
|
||||
|
||||
--explodeMachine :: Machine -> MachineType -> World -> World
|
||||
--explodeMachine mc = \case
|
||||
|
||||
makeMachineDebris :: Machine -> World -> World
|
||||
makeMachineDebris mc = id -- foldl' (flip $ makeDebris mt) w ps
|
||||
-- where
|
||||
-- dsize = debrisSize mt
|
||||
-- ps = gridInPolygon dsize $ shrinkPolyOnEdges dsize $ reverse (_mcFootprint bl)
|
||||
-- mt = fromMaybe Stone $ do
|
||||
-- wlids <- w ^? cWorld . lWorld . blocks . ix (_blID bl) . blWallIDs
|
||||
-- (wlid, _) <- IS.minView wlids
|
||||
-- wl <- w ^? cWorld . lWorld . walls . ix wlid
|
||||
-- return $ _wlMaterial wl
|
||||
|
||||
destroyMcType :: MachineType -> Machine -> World -> World
|
||||
destroyMcType mt mc w = case mt of
|
||||
McTurret tu _ -> fromMaybe w $ do
|
||||
|
||||
Reference in New Issue
Block a user