Simplify flamelet balls
This commit is contained in:
+1
-18
@@ -2,7 +2,6 @@
|
||||
|
||||
module Dodge.EnergyBall (
|
||||
updateEnergyBall,
|
||||
makeFlashBall,
|
||||
makeFlamelet,
|
||||
makeMovingEB,
|
||||
) where
|
||||
@@ -22,16 +21,13 @@ import Linear.V3
|
||||
makeFlamelet :: Point3 -> Point3 -> Float -> Int -> World -> World
|
||||
makeFlamelet p v s t w =
|
||||
w
|
||||
& randGen .~ g
|
||||
& cWorld . lWorld . energyBalls
|
||||
.:~ EnergyBall
|
||||
{ _ebVel = v
|
||||
, _ebPos = p
|
||||
, _ebTimer = t
|
||||
, _ebType = FlameletBall s a
|
||||
, _ebType = FlameletBall s
|
||||
}
|
||||
where
|
||||
(a, g) = randomR (0, 3) $ _randGen w
|
||||
|
||||
updateEnergyBall :: World -> EnergyBall -> (World, Maybe EnergyBall)
|
||||
updateEnergyBall w eb
|
||||
@@ -62,16 +58,6 @@ ebEffect eb = case _ebType eb of
|
||||
soundStart (EBSound (-1)) (eb ^. ebPos . _xy) fireFadeS Nothing
|
||||
_ -> id
|
||||
|
||||
energyBallAt :: EnergyBallType -> Point2 -> World -> World
|
||||
energyBallAt ebt p =
|
||||
cWorld . lWorld . energyBalls
|
||||
.:~ EnergyBall
|
||||
{ _ebVel = 0
|
||||
, _ebPos = p `v2z` 20
|
||||
, _ebTimer = 20
|
||||
, _ebType = ebt
|
||||
}
|
||||
|
||||
makeMovingEB :: Point2 -> EnergyBallType -> Point2 -> World -> World
|
||||
makeMovingEB v ebt p =
|
||||
cWorld . lWorld . energyBalls
|
||||
@@ -82,9 +68,6 @@ makeMovingEB v ebt p =
|
||||
, _ebType = ebt
|
||||
}
|
||||
|
||||
makeFlashBall :: Point2 -> World -> World
|
||||
makeFlashBall = energyBallAt FlashBall
|
||||
|
||||
ebFlicker :: EnergyBall -> World -> World
|
||||
ebFlicker pt
|
||||
| _ebTimer pt `mod` 7 == 0 =
|
||||
|
||||
Reference in New Issue
Block a user