Add bullet damages field, move bullet data into own file
This commit is contained in:
@@ -7,8 +7,6 @@ import Color
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
import Control.Monad.State
|
||||
--import System.Random
|
||||
import Data.List
|
||||
|
||||
applyNoDamage :: [Damage] -> Creature -> World -> World
|
||||
@@ -39,17 +37,13 @@ applyDamageEffect dm de cr w = case de of
|
||||
| dist (_crPos cr) fromDir == 0 = 0
|
||||
| otherwise = min 5 $ (push*5*pushRad / (dist (_crPos cr) fromDir * _crMass cr))**pushexp
|
||||
PushBackDamage pback -> w
|
||||
& creatures . ix (_crID cr) . crPos .+.+~ (1/_crMass cr) *.* pback
|
||||
& creatures . ix (_crID cr) . crPos .+.+~ (pback/_crMass cr) *.* (_dmTo dm -.- fromDir)
|
||||
TorqueDamage rot -> w
|
||||
& creatures . ix (_crID cr) . crDir +~ rot
|
||||
DamageSpawn f -> w & instantParticles .:~ thepart
|
||||
& randGen .~ g
|
||||
where
|
||||
(thepart,g) = runState (f (Left cr) dm) $ _randGen w
|
||||
DamageSpawn' f -> w & instantBullets .:~ thepart
|
||||
& randGen .~ g
|
||||
where
|
||||
(thepart,g) = runState (f (Left cr) dm) $ _randGen w
|
||||
-- DamageSpawn f -> w & instantParticles .:~ thepart
|
||||
-- & randGen .~ g
|
||||
-- where
|
||||
-- (thepart,g) = runState (f (Left cr) dm) $ _randGen w
|
||||
NoDamageEffect -> w
|
||||
where
|
||||
fromDir = _dmFrom dm
|
||||
|
||||
@@ -96,7 +96,7 @@ damToExpBarrel' dm cr = case _dmType dm of
|
||||
$ cr & crHP -~ div amount 200
|
||||
POISONDAM -> cr
|
||||
SPARKING -> cr
|
||||
PUSHDAM -> cr LensHelp.& crPos .+.+~ (1 / _crMass cr *.* _dePushBack (_dmEffect dm))
|
||||
-- PUSHDAM -> cr LensHelp.& crPos .+.+~ (1 / _crMass cr *.* _dePushBack (_dmEffect dm))
|
||||
_ -> cr LensHelp.& crHP -~ amount
|
||||
where
|
||||
amount = _dmAmount dm
|
||||
|
||||
Reference in New Issue
Block a user