24 lines
789 B
Haskell
24 lines
789 B
Haskell
module Dodge.Item.Weapon.Radar where
|
|
|
|
import Control.Lens
|
|
import Dodge.Data.World
|
|
import Dodge.Default
|
|
import Dodge.RadarSweep
|
|
|
|
autoDetector :: Detector -> Item
|
|
autoDetector dt =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnWrist
|
|
& itUse . equipEffect . eeUse .~ EDetector dt --autoEffect (detectorEffect dt) 100 click1S
|
|
& itUse . equipEffect . eeParams .~ EquipCounter 0
|
|
& itUse . equipEffect . eeViewDist ?~ 350
|
|
& itType .~ EQUIP (AUTODETECTOR dt)
|
|
|
|
-- , _itEffect = autoRadarEffect
|
|
|
|
detectorEffect :: Detector -> Item -> Creature -> World -> World
|
|
detectorEffect dt = case dt of
|
|
ITEMDETECTOR -> const (aRadarPulse ObItem)
|
|
CREATUREDETECTOR -> const (aRadarPulse ObCreature)
|
|
WALLDETECTOR -> const (aRadarPulse ObWall)
|