Move towards allowing equipable targeting items

This commit is contained in:
2023-01-06 11:01:32 +00:00
parent bf479ca080
commit 612ee85579
23 changed files with 152 additions and 145 deletions
+1 -2
View File
@@ -17,7 +17,6 @@ module Dodge.Item.Equipment (
flameShield,
) where
import Dodge.Item.Targeting
import Geometry.Data
import Dodge.Data.CamouflageStatus
import Dodge.Data.Item
@@ -93,7 +92,7 @@ targetingHat tt =
defaultEquipment
& itUse . equipEffect . eeSite .~ GoesOnHead
& itType . iyBase .~ EQUIP (TARGETINGHAT tt)
& itUse . equipTargeting .~ (defaultTargeting & tgType .~ tt)
& itUse . useTargeting .~ (Just tt)
headLamp :: Item
headLamp =
+1 -2
View File
@@ -7,7 +7,6 @@ module Dodge.Item.Held.Rod (
machineGun,
) where
import Dodge.Item.Targeting
import Dodge.Data.Item
import Dodge.Default
import Dodge.Item.Weapon.Bullet
@@ -73,7 +72,7 @@ sniperRifle =
& itUse . heldAim . aimZoom .~ defaultItZoom{_izMax = 0.5, _izMin = 0.5}
& itUse . heldScroll .~ HeldScrollZoom -- zoomLongGun
& itScope .~ ZoomScope (V2 0 0) 0 1 0.5 False
& itUse . heldTargeting .~ (defaultTargeting & tgType .~ TargetLaser)
& itUse . useTargeting .~ (Just TargetLaser)
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1}
machineGun :: Item
+1 -2
View File
@@ -1,6 +1,5 @@
module Dodge.Item.Held.Utility where
import Dodge.Item.Targeting
import Dodge.Default.Item
import Color
import Control.Lens
@@ -44,7 +43,7 @@ torch =
forceFieldGun :: Item
forceFieldGun =
defaultWeapon
& itUse . heldTargeting .~ (defaultTargeting & tgType .~ TargetRBLine)
& itUse . useTargeting .~ Just TargetRBLine
& itParams .~ ParamMID Nothing
& itUse . heldUse .~ HeldForceField --useForceFieldGun
& itUse . heldDelay .~ NoDelay
+2
View File
@@ -183,6 +183,8 @@ craftInfo fit = case fit of
TIMEMODULE -> "A DEVICE THAT CAN AFFECT TEMPORALITY."
SIZEMODULE -> "A DEVICE THAT CAN AFFECT PHYSICAL SIZE."
GRAVITYMODULE -> "A DEVICE THAT CAN AFFECT GRAVITATIONAL FIELDS."
TARGETMODULE _ -> "A TARGETING MODULE."
detectorInfo :: Detector -> String
-13
View File
@@ -1,13 +0,0 @@
module Dodge.Item.Targeting where
import Dodge.Data.Item.Targeting
defaultTargeting :: Targeting
defaultTargeting =
Targeting
{ _tgPos = Nothing
, _tgType = TargetRBPress
--, _tgDraw = NoTargetDraw
, _tgID = Nothing
, _tgActive = False
}
+1 -5
View File
@@ -1,6 +1,5 @@
module Dodge.Item.Weapon.Targeting (
useTargetPos,
removeItTarget,
) where
import Control.Lens
@@ -12,9 +11,6 @@ useTargetPos ::
Creature ->
World ->
World
useTargetPos f cr w = case cr ^? crInv . ix (crSel cr) . itUse . heldTargeting . tgPos of
useTargetPos f cr w = case cr ^? crTargeting . ctPos of
Nothing -> w
Just p -> f p cr w
removeItTarget :: Item -> Item
removeItTarget = itUse . heldTargeting . tgPos .~ Nothing