Refactor damages

This commit is contained in:
2025-06-07 14:26:00 +01:00
parent 7a192e7631
commit 81a7dcd962
24 changed files with 271 additions and 277 deletions
+13 -18
View File
@@ -18,27 +18,22 @@ defDamageMaterial :: Damage -> Float -> World -> (Int, World)
defDamageMaterial dm _ w = (_dmAmount dm, w)
damageStone :: Damage -> Float -> World -> (Int, World)
damageStone dm dir = case _dmType dm of
LASERING -> a 0 $ makeSpark NormalSpark outTo (argV $ reflectIn (p -.- sp) v)
PIERCING -> a d $ makeSpark FireSpark outTo (argV $ reflectIn (p -.- sp) v)
BLUNT -> a d id
SHATTERING -> a d id
CRUSHING -> a d id
EXPLOSIVE -> a d id
CUTTING -> a d id
SPARKING -> a 0 id
FLAMING -> a 0 id
ELECTRICAL -> a 0 id
CONCUSSIVE -> a d id
POISONDAM -> a 0 id
ENTERREMENT -> a 0 id
damageStone dm dir = case dm of
Lasering x p t -> a 0 $ makeSpark FireSpark (outTo p t) (argV $ reflectIn t v)
Piercing x p t -> a x $ makeSpark NormalSpark (outTo p t) (argV $ reflectIn t v)
Blunt x p t -> a x $ makeSpark NormalSpark (outTo p t) (argV $ reflectIn t v)
Shattering {} -> a 0 id
Crushing {} -> a 0 id
Explosive {} -> a 0 id
Sparking {} -> a 0 id
Flaming {} -> a 0 id
Electrical {} -> a 0 id
Poison {} -> a 0 id
Enterrement {} -> a 0 id
where
v = unitVectorAtAngle dir
a x f w = (x, f w)
d = _dmAmount dm
sp = _dmFrom dm
p = _dmAt dm
outTo = p +.+ squashNormalizeV (sp -.- p)
outTo x t = x -.- squashNormalizeV t
--damageGlass :: Damage -> Float -> World -> (World,Int)
--damageGlass dm dir w = w & case _dmType dm of