Control wall damage effects using the wall

This commit is contained in:
2021-11-01 16:50:09 +00:00
parent 7ddbbdda14
commit e4c73b9b8b
7 changed files with 93 additions and 57 deletions
+5 -5
View File
@@ -218,15 +218,15 @@ defaultMachine = Machine
, _mcDraw = const mempty
, _mcPos = V2 0 0
, _mcDir = 0
, _mcHP = 100
, _mcHP = 1000
, _mcSensor = 0
, _mcDamage = []
}
defaultMachineUpdate :: Machine -> World -> World
defaultMachineUpdate mc w
| _mcHP mc < 1 = w & machines %~ IM.delete mcid
& deleteWallIDs (_mcWallIDs mc)
| otherwise = w & machines . ix mcid %~ ( (mcDamage .~ []) . (mcHP -~ dams) )
defaultMachineUpdate mc
| _mcHP mc < 1 = (machines %~ IM.delete mcid)
. deleteWallIDs (_mcWallIDs mc)
| otherwise = machines . ix mcid %~ ( (mcDamage .~ []) . (mcHP -~ dams) )
where
dams = sum $ map _dmAmount $ _mcDamage mc
mcid = _mcID mc