Refactor damages in circles

This commit is contained in:
2025-06-20 21:52:42 +01:00
parent edcd947c90
commit b2d64ce698
6 changed files with 56 additions and 56 deletions
+4 -1
View File
@@ -3,6 +3,7 @@ module Dodge.Prop.Moving (
fallSmallBounce,
) where
import Dodge.Damage
import Dodge.Creature.Radius
import Dodge.Base
import Dodge.Data.World
@@ -18,8 +19,10 @@ fallSmallBounceDamage pr w =
p = _prPos pr
v = _prVel pr
dodamage
| _prPosZ pr < 25 = cWorld . lWorld . creatures %~ fmap dodamage'
| _prPosZ pr < 25 = damageInCircle (return . const thedam) p 5
-- cWorld . lWorld . creatures . each %~ dodamage'
| otherwise = id
thedam = Crushing (floor . (* 10) . max 0 . subtract 5 . abs $ _prVelZ pr)
dodamage' cr
| dist (_crPos cr) p < crRad (cr ^. crType) + 5 =
cr & crDamage