Files
loop/src/Dodge/WorldEvent/DamageBlock.hs
T
2021-10-28 00:05:57 +01:00

14 lines
332 B
Haskell

module Dodge.WorldEvent.DamageBlock
where
import Dodge.Data
import Control.Lens
damageBlocksBy :: Int -> Wall -> World -> World
damageBlocksBy x wl = case _wlBlockID wl of
Just blid -> blocks . ix blid . blHPs %~ reduceHeadBy x
Nothing -> id
where
reduceHeadBy y (z:zs) = z - y : zs
reduceHeadBy _ [] = []