Add quiet laser sound

This commit is contained in:
2021-11-21 23:27:14 +00:00
parent afeb9d2b64
commit 1aa797ddef
10 changed files with 227 additions and 209 deletions
+6 -6
View File
@@ -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