Fix crsHitRadial, unify some radial damages
This commit is contained in:
+3
-3
@@ -57,12 +57,12 @@ collectDamageTypes = foldl' (flip f) M.empty
|
||||
maxDamageType :: [Damage] -> Maybe (DamageType, Int)
|
||||
maxDamageType = safeMinimumOn (negate . snd) . M.assocs . collectDamageTypes
|
||||
|
||||
damageInCircle :: (Point2 -> [Damage]) -> Point2 -> Float -> World -> World
|
||||
damageInCircle :: (Point2 -> Damage) -> Point2 -> Float -> World -> World
|
||||
damageInCircle f p r w = w
|
||||
& cWorld . lWorld . wallDamages %~ dowldams
|
||||
& cWorld . lWorld . creatures %~ docrdams
|
||||
where
|
||||
dowldams wds = foldl' g wds (wlsHitRadial p r w)
|
||||
docrdams crs = foldl' h crs (crsHitRadial p r w)
|
||||
g wds (x,wl) = wds & at (_wlID wl) . non mempty <>~ f x
|
||||
h crs (x,cr) = crs & ix (_crID cr) . crDamage <>~ f x
|
||||
g wds (x,wl) = wds & at (_wlID wl) . non mempty .:~ f x
|
||||
h crs (x,cr) = crs & ix (_crID cr) . crDamage .:~ f x
|
||||
|
||||
Reference in New Issue
Block a user