Tweak explosions
This commit is contained in:
@@ -118,7 +118,8 @@ doThrust pj smoke w =
|
|||||||
& randGen .~ g
|
& randGen .~ g
|
||||||
& cWorld . lWorld . projectiles . ix i . prjVel %~ (\v -> accel +.+ frict *.* v)
|
& cWorld . lWorld . projectiles . ix i . prjVel %~ (\v -> accel +.+ frict *.* v)
|
||||||
& soundContinue (ShellSound i) newPos missileLaunchS (Just 1)
|
& soundContinue (ShellSound i) newPos missileLaunchS (Just 1)
|
||||||
& makeFlamelet (oldPos -.- vel) (vel +.+ rotateV (pi + sparkD) accel) 3 10
|
-- & makeFlamelet (oldPos -.- vel) (vel + 2 * rotateV (pi + sparkD) accel) 3 10
|
||||||
|
& makeFlamelet oldPos (vel +.+ rotateV (pi + sparkD) accel) 3 10
|
||||||
& shellTrailCloud
|
& shellTrailCloud
|
||||||
lifetime
|
lifetime
|
||||||
trailfadetime
|
trailfadetime
|
||||||
|
|||||||
@@ -80,10 +80,11 @@ makeExplosionAt p vel w =
|
|||||||
where
|
where
|
||||||
fVs = replicateM 100 (randInCirc 1) & evalState $ _randGen w
|
fVs = replicateM 100 (randInCirc 1) & evalState $ _randGen w
|
||||||
fPs' = replicateM 100 (randInCirc 5) & evalState $ _randGen w
|
fPs' = replicateM 100 (randInCirc 5) & evalState $ _randGen w
|
||||||
|
fdamps = replicateM 100 (state $ randomR (0,1)) & evalState $ _randGen w
|
||||||
inversePushOut v = (15 - magV v) * 0.01 *.* v
|
inversePushOut v = (15 - magV v) * 0.01 *.* v
|
||||||
fVs' = zipWith (+.+) fVs $ map inversePushOut fPs'
|
fVs' = zipWith (+.+) fVs $ map inversePushOut fPs'
|
||||||
sizes = randomRs (2, 9) $ _randGen w
|
sizes = randomRs (2, 9) $ _randGen w
|
||||||
times = randomRs (15, 20) $ _randGen w
|
times = randomRs (15, 20) $ _randGen w
|
||||||
mF q v size time = makeFlamelet (q - (2*v + 2* vel)) (v + vel) size time
|
mF q v damp size time = makeFlamelet (q - (2*v + 2* vel)) (v + damp *.* vel) size time
|
||||||
newFs = zipWith3 (mF p) (zipWith (+) fPs' (fmap (3 *.*) fVs')) sizes times
|
newFs = zipWith4 (mF p) (zipWith (+) fPs' (fmap (3 *.*) fVs')) fdamps sizes times
|
||||||
addFlames w' = foldl' (flip ($)) w' newFs
|
addFlames w' = foldl' (flip ($)) w' newFs
|
||||||
|
|||||||
Reference in New Issue
Block a user