diff --git a/graph/itemCombinations.gv b/graph/itemCombinations.gv index 6ae54b9ee..c585fefd2 100644 --- a/graph/itemCombinations.gv +++ b/graph/itemCombinations.gv @@ -74,11 +74,11 @@ digraph { 97 [shape=box ,label="HELD {_ibtHeld = FLATSHIELD}"]; 107 [shape=box - ,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"]; + ,label="HELD {_ibtHeld = DETECTOR ITEMDETECTOR}"]; 110 [shape=box - ,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"]; + ,label="HELD {_ibtHeld = DETECTOR WALLDETECTOR}"]; 112 [shape=box - ,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"]; + ,label="HELD {_ibtHeld = DETECTOR CREATUREDETECTOR}"]; 114 [shape=box ,label="HELD {_ibtHeld = TORCH}"]; 115 [shape=box diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index b0cc6a2b5..e18c96118 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -7,6 +7,7 @@ module Dodge.HeldUse ( mcUseHeld, ) where +import Dodge.RadarSweep import Color import Control.Monad import Data.Maybe @@ -19,7 +20,6 @@ import Dodge.Data.World import Dodge.Gas import Dodge.Inventory.Lock import Dodge.Item.HeldOffset -import Dodge.Item.Weapon.Radar import Dodge.Item.Weapon.Shatter import Dodge.Item.Weapon.TriggerType import Dodge.Projectile.Create @@ -251,7 +251,10 @@ useLoadedAmmo itmtree cr (cme, w) (mzid, Just (mz, x, magtree)) = (,) (cme & cme itemDetectorEffect :: Item -> Creature -> World -> World itemDetectorEffect itm cr w = fromMaybe w $ do DETECTOR dt <- itm ^? itType . ibtHeld - return $ detectorEffect dt itm cr w + return $ case dt of + ITEMDETECTOR -> aRadarPulse ObItem cr w + CREATUREDETECTOR -> aRadarPulse ObCreature cr w + WALLDETECTOR -> aRadarPulse ObWall cr w walkNozzle :: Int -> Muzzle -> Item -> Creature -> World -> World walkNozzle mzid mz itm cr w = fromMaybe w $ do diff --git a/src/Dodge/Item/Weapon.hs b/src/Dodge/Item/Weapon.hs index 6a3d54088..a6abcd74d 100644 --- a/src/Dodge/Item/Weapon.hs +++ b/src/Dodge/Item/Weapon.hs @@ -2,13 +2,11 @@ module Dodge.Item.Weapon ( module Dodge.Item.Weapon.TriggerType, module Dodge.Item.Weapon.ExtraEffect, - module Dodge.Item.Weapon.Radar, module Dodge.Item.Weapon.Utility, module Dodge.Item.Weapon.Drone, ) where import Dodge.Item.Weapon.Drone import Dodge.Item.Weapon.ExtraEffect -import Dodge.Item.Weapon.Radar import Dodge.Item.Weapon.TriggerType import Dodge.Item.Weapon.Utility diff --git a/src/Dodge/Item/Weapon/Radar.hs b/src/Dodge/Item/Weapon/Radar.hs deleted file mode 100644 index 024b6d504..000000000 --- a/src/Dodge/Item/Weapon/Radar.hs +++ /dev/null @@ -1,12 +0,0 @@ -module Dodge.Item.Weapon.Radar ( - detectorEffect, -) where - -import Dodge.Data.World -import Dodge.RadarSweep - -detectorEffect :: Detector -> Item -> Creature -> World -> World -detectorEffect dt = case dt of - ITEMDETECTOR -> const (aRadarPulse ObItem) - CREATUREDETECTOR -> const (aRadarPulse ObCreature) - WALLDETECTOR -> const (aRadarPulse ObWall) diff --git a/src/Dodge/RadarSweep.hs b/src/Dodge/RadarSweep.hs index ddbaeae2d..f95e4a677 100644 --- a/src/Dodge/RadarSweep.hs +++ b/src/Dodge/RadarSweep.hs @@ -16,7 +16,7 @@ aRadarPulse :: ObjectType -> Creature -> World -> World aRadarPulse ob cr = cWorld . lWorld . radarSweeps .:~ RadarSweep - { _rsTimer = 100 + { _rsTimer = 50 , _rsRad = 0 , _rsPos = _crPos cr , _rsObject = ob @@ -39,7 +39,7 @@ updateRadarSweep w pt putBlips = cWorld . lWorld . radarBlips .++~ blips blips = map bf circPoints circPoints = blipsF p r w - r = fromIntegral (400 - x * 4) + r = fromIntegral (400 - x * 8) findBlips :: ObjectType -> Point2 -> Float -> World -> [Point2] findBlips ob = case ob of