Decrease muzzle flare light time
This commit is contained in:
+1
-1
@@ -573,9 +573,9 @@ data Wall
|
||||
, _blHP :: Int
|
||||
, _wlIsSeeThrough :: Bool
|
||||
, _blVisible :: Bool
|
||||
, _blShadows :: [Int]
|
||||
, _blDegrades :: [Int]
|
||||
, _wlCastShadow :: Bool
|
||||
, _blShadows :: [Int]
|
||||
}
|
||||
| MultiBlock
|
||||
{ _wlLine :: [Point2]
|
||||
|
||||
+25
-19
@@ -62,6 +62,7 @@ pistol = Weapon
|
||||
, _wpFireState = 0
|
||||
, _wpFire = shootWithSound 0
|
||||
. withRandomDir 0.1
|
||||
. withMuzFlare
|
||||
. withVelWthHiteff (30,0) 2
|
||||
$ threeEff' bulHitCr' bulHitWall' bulHitFF'
|
||||
, _wpSpread = 0.02
|
||||
@@ -124,17 +125,19 @@ autoGun = defaultGun
|
||||
, _itInvDisplay = displayAutoGun
|
||||
}
|
||||
autoFireMode = shootWithSound (fromIntegral autoGunSound)
|
||||
$ withRecoil 40
|
||||
$ torqueBefore 0.05
|
||||
$ withRandomDir (autogunSpread/2)
|
||||
$ withVelWthHiteff (50,0) 3
|
||||
$ threeEff' bulHitCr' bulHitWall' bulHitFF'
|
||||
. withRecoil 40
|
||||
. torqueBefore 0.05
|
||||
. withRandomDir (autogunSpread/2)
|
||||
. withMuzFlare
|
||||
. withVelWthHiteff (50,0) 3
|
||||
$ threeEff' bulHitCr' bulHitWall' bulHitFF'
|
||||
singleFireMode = shootWithSound (fromIntegral autoGunSound)
|
||||
$ withRecoil 40
|
||||
$ torqueAfter 0.03
|
||||
$ withRandomDir (autogunSpread/2)
|
||||
$ withVelWthHiteff (50,0) 3
|
||||
$ threeEff' bulHitCr' bulHitWall' bulHitFF'
|
||||
. withRecoil 40
|
||||
. torqueAfter 0.03
|
||||
. withRandomDir (autogunSpread/2)
|
||||
. withMuzFlare
|
||||
. withVelWthHiteff (50,0) 3
|
||||
$ threeEff' bulHitCr' bulHitWall' bulHitFF'
|
||||
|
||||
incMode :: Int -> World -> World
|
||||
incMode _ w
|
||||
@@ -422,9 +425,10 @@ hvAutoGun = defaultAutoGun
|
||||
, _itEquipPict = drawWeapon $ color orange $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
}
|
||||
where mkHvBul = withSound (fromIntegral longGunSound)
|
||||
$ withThinSmoke
|
||||
$ withVelWthHiteff (80,0) 6
|
||||
$ threeEff'
|
||||
. withThinSmoke
|
||||
. withMuzFlare
|
||||
. withVelWthHiteff (80,0) 6
|
||||
$ threeEff'
|
||||
hvBulHitCr' hvBulHitWall' bulHitFF'
|
||||
|
||||
ltAutoGun = defaultAutoGun
|
||||
@@ -436,7 +440,8 @@ ltAutoGun = defaultAutoGun
|
||||
, _wpReloadState = 0
|
||||
, _wpFireRate = 4
|
||||
, _wpFireState = 0
|
||||
, _wpFire = shootWithSound 0 . withRandomDir 0.3 $ withVelWthHiteff (30,0) 2 bulletEffect'
|
||||
, _wpFire = shootWithSound 0 . withRandomDir 0.3
|
||||
. withMuzFlare $ withVelWthHiteff (30,0) 2 bulletEffect'
|
||||
, _wpSpread = 0.5
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = onLayer FlItLayer $ color green $ pictures [polygon $ rectNSWE 4 (-4) (-4) 0
|
||||
@@ -463,6 +468,7 @@ miniGun = defaultAutoGun
|
||||
, _wpFire = withWarmUp 50 . torqueBefore 0.03 . withSidePush 50 . withRecoil 15
|
||||
. withRandomDir 0.1
|
||||
. withRandomOffset 9
|
||||
. withMuzFlare
|
||||
$ withVelWthHiteff (30,0) 2 bulletEffect'
|
||||
, _wpSpread = autogunSpread
|
||||
, _wpRange = 20
|
||||
@@ -555,11 +561,11 @@ longGun = defaultGun
|
||||
, _wpFireRate = 100
|
||||
, _wpFireState = 0
|
||||
, _wpFire = shootWithSound (fromIntegral longGunSound)
|
||||
$ withThickSmoke
|
||||
$ torqueAfter 0.05
|
||||
$ withVelWthHiteff (60,0) 6
|
||||
$ threeEff'
|
||||
hvBulHitCr' hvBulHitWall' bulHitFF'
|
||||
. withThickSmoke
|
||||
. torqueAfter 0.05
|
||||
. withMuzFlare
|
||||
. withVelWthHiteff (60,0) 6
|
||||
$ threeEff' hvBulHitCr' hvBulHitWall' bulHitFF'
|
||||
|
||||
, _wpSpread = 0.0
|
||||
, _wpRange = 200
|
||||
|
||||
@@ -94,7 +94,7 @@ shoot f cid w | fireCondition = over (pointerToItem . wpLoadedAmmo) (\ammo -> am
|
||||
reloadCondition = _wpLoadedAmmo item == 0
|
||||
|
||||
withMuzFlare :: (Int -> World -> World) -> Int -> World -> World
|
||||
withMuzFlare f cid w = over tempLightSources (tLightAt 4 pos :)
|
||||
withMuzFlare f cid w = over tempLightSources (tLightAt 3 pos :)
|
||||
. lowLightAt pos2 $ f cid w
|
||||
where cr = _creatures w IM.! cid
|
||||
dir = _crDir cr
|
||||
@@ -112,8 +112,8 @@ withRandomDir acc f cid w = over (creatures . ix cid . crDir) (\d -> d - a)
|
||||
withVelWthHiteff :: Point2 -> Float -> HitEffect' -> Int -> World -> World
|
||||
withVelWthHiteff vel width hiteff cid w
|
||||
= over particles' ((:) newbul)
|
||||
. over tempLightSources ((:) (tLightAt 4 pos))
|
||||
. lowLightAt pos2
|
||||
-- . over tempLightSources ((:) (tLightAt 4 pos))
|
||||
-- . lowLightAt pos2
|
||||
$ set randGen g
|
||||
w
|
||||
where cr = _creatures w IM.! cid
|
||||
|
||||
+5
-1
@@ -36,6 +36,7 @@ closestPointOnLineParam a b p
|
||||
rectNESW :: Float -> Float -> Float -> Float -> [Point2]
|
||||
rectNESW a b c d = [(b,a),(b,c),(d,c),(d,a)
|
||||
]
|
||||
rectNSEW :: Float -> Float -> Float -> Float -> [Point2]
|
||||
rectNSEW n s e w = rectNESW n e s w
|
||||
|
||||
rectNSWE :: Float -> Float -> Float -> Float -> [Point2]
|
||||
@@ -89,6 +90,7 @@ safeNormalizeV p = normalizeV p
|
||||
-- this has been called somewhere with l1 == l2
|
||||
isLHS :: Point2 -> Point2 -> Point2 -> Bool
|
||||
{-# INLINE isLHS #-}
|
||||
isLHS' :: (Float, Float) -> (Float, Float) -> Point2 -> Bool
|
||||
isLHS' l1 l2 p | l1 == l2 = False
|
||||
| otherwise = closestPointOnLineParam l1 (l1 +.+ vNormal (l2 -.- l1)) p < 0
|
||||
|
||||
@@ -138,6 +140,7 @@ circOnLine p1 p2 c rad = magV (p1 -.- c) <= rad || magV (p2 -.- c) <= rad
|
||||
isJustTrue (Just True) = True
|
||||
isJustTrue _ = False
|
||||
|
||||
difference :: (Ord a, Num a) => a -> a -> a
|
||||
difference x y | x > y = x - y
|
||||
| otherwise = y - x
|
||||
|
||||
@@ -145,6 +148,7 @@ reflectIn :: Point2 -> Point2 -> Point2
|
||||
reflectIn line vec = let angle = 2 * angleBetween line vec
|
||||
in rotateV angle vec
|
||||
|
||||
angleBetween :: Point2 -> Point2 -> Float
|
||||
angleBetween v1 v2 = argV v1 - argV v2
|
||||
|
||||
doublePair :: (a,a) -> [(a,a)]
|
||||
@@ -195,7 +199,7 @@ ssaTri :: Float -> Float -> Float -> Float
|
||||
ssaTri ab bc a
|
||||
| sin a == 0 = 0
|
||||
| bc == 0 = ab
|
||||
| otherwise = let c = asin ( (ab * (sin a))/bc)
|
||||
| otherwise = let c = asin ( (ab * sin a)/bc)
|
||||
b = pi - (a + c)
|
||||
in sin b * bc / sin a
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import qualified Graphics.Rendering.OpenGL as GL
|
||||
import Control.Monad
|
||||
import System.Mem
|
||||
import Foreign.C
|
||||
import Geometry
|
||||
|
||||
import Preload
|
||||
|
||||
|
||||
Reference in New Issue
Block a user