Add light source to flamer flames
This commit is contained in:
@@ -4,6 +4,7 @@ Creation of particles in the world.
|
|||||||
module Dodge.WorldEvent.SpawnParticle
|
module Dodge.WorldEvent.SpawnParticle
|
||||||
where
|
where
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
|
import Dodge.Default
|
||||||
import Dodge.Creature.State.Data
|
import Dodge.Creature.State.Data
|
||||||
import Dodge.Base
|
import Dodge.Base
|
||||||
import Dodge.Base.Zone
|
import Dodge.Base.Zone
|
||||||
@@ -62,9 +63,6 @@ drawFlame rotd pt = thePic
|
|||||||
, aPic 1 prot2 18 (V2 (scaleChange + 1) 2 ) $ V4 2 (-1) (-1) 0.5
|
, aPic 1 prot2 18 (V2 (scaleChange + 1) 2 ) $ V4 2 (-1) (-1) 0.5
|
||||||
, aPic 1 prot 19 (V2 (scaleChange + 0.5) 1) $ V4 1 0.5 0 2
|
, aPic 1 prot 19 (V2 (scaleChange + 0.5) 1) $ V4 1 0.5 0 2
|
||||||
, aPic 1 prot3 20 (V2 scaleChange 0.5 ) $ V4 1 1 1 1
|
, aPic 1 prot3 20 (V2 scaleChange 0.5 ) $ V4 1 1 1 1
|
||||||
--, aPic 3 prot2 18 (V2 (scaleChange + 1) 2 ) red
|
|
||||||
--, aPic 4 prot 19 (V2 (scaleChange + 0.5) 1.5) orange
|
|
||||||
--, aPic 5 prot3 20 (V2 scaleChange 1 ) white
|
|
||||||
]
|
]
|
||||||
aPic :: Int -> (Point2 -> Point2) -> Float -> Point2 -> Color -> Picture
|
aPic :: Int -> (Point2 -> Point2) -> Float -> Point2 -> Color -> Picture
|
||||||
aPic lay offset depth (V2 scalex scaley) col
|
aPic lay offset depth (V2 scalex scaley) col
|
||||||
@@ -96,11 +94,20 @@ moveFlame rotd w pt
|
|||||||
| otherwise = case thingsHitExceptCr (_btPassThrough' pt) sp ep w of
|
| otherwise = case thingsHitExceptCr (_btPassThrough' pt) sp ep w of
|
||||||
((_,E3x1 _):_) -> (soundAndGlare damcrs , mvPt')
|
((_,E3x1 _):_) -> (soundAndGlare damcrs , mvPt')
|
||||||
(thing@(p,E3x2 wl):_) -> (fst $ hiteff [thing] damcrs , rfl wl p)
|
(thing@(p,E3x2 wl):_) -> (fst $ hiteff [thing] damcrs , rfl wl p)
|
||||||
_ -> (soundAndGlare damcrs , mvPt)
|
_ -> (glare $ soundAndGlare damcrs , mvPt)
|
||||||
where
|
where
|
||||||
time = _btTimer' pt
|
time = _btTimer' pt
|
||||||
soundAndGlare = soundFrom Flame fireSound 2 500 -- . over worldEvents ((.) $ flameGlareAt ep)
|
soundAndGlare = soundFrom Flame fireSound 2 500 -- . over worldEvents ((.) $ flameGlareAt ep)
|
||||||
sp = _btPos' pt
|
glare
|
||||||
|
| time `mod` 5 == 0
|
||||||
|
= tempLightSources %~ (theTLS :)
|
||||||
|
| otherwise = id
|
||||||
|
theTLS = defaultTLS
|
||||||
|
{ _tlsPos = V3 x y 15
|
||||||
|
, _tlsRad = 70
|
||||||
|
, _tlsIntensity = V3 0.5 0 0
|
||||||
|
}
|
||||||
|
sp@(V2 x y) = _btPos' pt
|
||||||
vel = _btVel' pt
|
vel = _btVel' pt
|
||||||
ep = sp +.+ vel
|
ep = sp +.+ vel
|
||||||
mvPt = Just $ pt {_btTimer' = time - 1, _btPos' = ep
|
mvPt = Just $ pt {_btTimer' = time - 1, _btPos' = ep
|
||||||
|
|||||||
Reference in New Issue
Block a user