Separate out ammo data
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
module Dodge.Gas where
|
||||
import Dodge.Data
|
||||
import Geometry
|
||||
import Dodge.Flame
|
||||
import Dodge.WorldEvent
|
||||
|
||||
createGas :: GasCreate -> Float -> Point2 -> Float -> Creature -> World -> World
|
||||
createGas gc = case gc of
|
||||
CreatePoisonGas -> aGasCloud
|
||||
CreateFlame -> aFlame
|
||||
|
||||
aGasCloud :: Float -> Point2 -> Float -> Creature -> World -> World
|
||||
aGasCloud pressure pos dir cr = makeGasCloud pos
|
||||
$ (_crPos cr -.- _crOldPos cr) +.+ pressure *.* unitVectorAtAngle dir
|
||||
|
||||
aFlame :: Float -> Point2 -> Float -> Creature -> World -> World
|
||||
aFlame pressure pos dir cr = makeFlame pos vel
|
||||
--w & instantParticles .:~ aFlameParticle t pos vel Nothing -- (Just $ _crID cr)
|
||||
where
|
||||
-- (t,_) = randomR (99,101) (_randGen w)
|
||||
vel = (_crPos cr -.- _crOldPos cr) +.+ pressure *.* unitVectorAtAngle dir
|
||||
Reference in New Issue
Block a user