Add quiet laser sound
This commit is contained in:
@@ -36,7 +36,7 @@ sensorUpdate :: (DamageType -> Either Int Int) -> Machine -> World -> World
|
||||
sensorUpdate damF mc w = w & machines . ix mcid %~ upmc
|
||||
& lightSources . ix lsid %~ upls
|
||||
where
|
||||
upmc = ( mcSensor %~ \x' -> min 750 (max 0 (x' - 5 + newSense)) )
|
||||
upmc = ( mcSensor %~ \x' -> min 1000 (max 0 (x' - 5 + newSense)) )
|
||||
. ( mcHP -~ sum dam )
|
||||
. (mcDamage .~ [])
|
||||
x = _mcSensor mc
|
||||
@@ -44,7 +44,7 @@ sensorUpdate damF mc w = w & machines . ix mcid %~ upmc
|
||||
lsid = head (_mcLSs mc)
|
||||
(senseData,dam) = partitionEithers $ map damF $ _mcDamage mc
|
||||
newSense = sum senseData
|
||||
ni = fromIntegral x / 500
|
||||
ni = fromIntegral x / 1000
|
||||
upls = lsIntensity .~ V3 ni ni ni
|
||||
|
||||
sensorSPic :: Machine -> SPic
|
||||
|
||||
@@ -18,10 +18,10 @@ import Data.List
|
||||
import Control.Lens
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
|
||||
putLasTurret :: Placement
|
||||
putLasTurret = sps0 $ PutMachine blue (reverse $ square wdth) defaultMachine
|
||||
putLasTurret :: Float -> Placement
|
||||
putLasTurret rotSpeed = sps0 $ PutMachine blue (reverse $ square wdth) defaultMachine
|
||||
{ _mcDraw = drawTurret
|
||||
, _mcUpdate = updateTurret
|
||||
, _mcUpdate = updateTurret rotSpeed
|
||||
, _mcType = lasTurret
|
||||
, _mcHP = 50000
|
||||
}
|
||||
@@ -32,8 +32,8 @@ lasTurret = Turret
|
||||
, _tuFireTime = 0
|
||||
}
|
||||
|
||||
updateTurret :: Machine -> World -> World
|
||||
updateTurret mc w
|
||||
updateTurret :: Float -> Machine -> World -> World
|
||||
updateTurret rotSpeed mc w
|
||||
| _mcHP mc < 1 = w & machines %~ IM.delete mcid
|
||||
& deleteWallIDs (_mcWallIDs mc)
|
||||
& makeExplosionAt mcpos
|
||||
@@ -60,7 +60,7 @@ updateTurret mc w
|
||||
dam = sum $ map _dmAmount dams
|
||||
elecDam = sum $ map _dmAmount elecDams
|
||||
doTurn
|
||||
| seesYou = machines . ix mcid . mcDir %~ turnTo 0.005 mcpos ypos
|
||||
| seesYou = machines . ix mcid . mcDir %~ turnTo rotSpeed mcpos ypos
|
||||
| otherwise = id
|
||||
closeFireAngle = seesYou && angleVV (ypos -.- mcpos) (unitVectorAtAngle mcdir) < 1
|
||||
updateFiringStatus
|
||||
|
||||
Reference in New Issue
Block a user