Refactor damages
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user