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 }