Files
loop/src/Dodge/Placement/Instance/Turret.hs
T

46 lines
1.1 KiB
Haskell

module Dodge.Placement.Instance.Turret where
import Dodge.Item.Held.BatteryGuns
import Color
import Dodge.Data.GenWorld
import Dodge.Default
import Dodge.LevelGen.PlacementHelper
import Geometry
import LensHelp
putTurret :: Item -> Float -> Placement
putTurret itm rotSpeed =
sps0 $
PutMachine
(reverse $ square 10)
( defaultMachine
& mcColor .~ blue
& mcType .~ (turret itm & _McTurret . tuTurnSpeed .~ rotSpeed)
& mcHP .~ 50000
)
defaultMachineWall
putLasTurret :: Float -> Placement
putLasTurret rotSpeed =
sps0 $
PutMachine
(reverse $ square 10)
( defaultMachine
& mcColor .~ blue
& mcType .~ (lasTurret & _McTurret . tuTurnSpeed .~ rotSpeed)
& mcHP .~ 50000
)
defaultMachineWall
turret :: Item -> MachineType
turret wp = lasTurret & mctTurret . tuWeapon .~ wp
lasTurret :: MachineType
lasTurret = McTurret $
Turret
{ _tuWeapon = laser
, _tuTurnSpeed = 0.1
, _tuFireTime = 0
, _tuDir = 0
}