Remove eeAttachPos record

This commit is contained in:
2025-06-05 14:03:14 +01:00
parent cf7a5b2362
commit 482ed6514c
5 changed files with 15 additions and 37 deletions
-4
View File
@@ -31,10 +31,6 @@ import Geometry.Data
data ItemUse
= UseHeld
-- { --_heldDelay :: UseDelay
---- , _heldMuzzles :: [Muzzle]
---- _heldFrame :: Int
-- }
| UseEquip {_uequipEffect :: EquipEffect}
| UseAttach {_uaParams :: AttachParams}
| UseInt {_uInt :: Int}
+1 -3
View File
@@ -7,7 +7,6 @@ module Dodge.Data.Item.Use.Equipment (
module Dodge.Data.Item.Use.Equipment,
) where
import Geometry.Data
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
@@ -18,10 +17,9 @@ data EquipEffect = EquipEffect
{ _eeUse :: Euse --Item -> Creature -> World -> World
, _eeOnEquip :: ItmCrWdWd --Item -> Creature -> World -> World
, _eeOnRemove :: ItmCrWdWd --Item -> Creature -> World -> World
-- , _eeType :: EquipType
, _eeParams :: EquipParams
, _eeViewDist :: Maybe Float
, _eeAttachPos :: Point3
-- , _eeAttachPos :: Point3
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
+1 -1
View File
@@ -12,5 +12,5 @@ defaultEquip =
, _eeOnRemove = ItmCrWdWdDoNothing
, _eeParams = NoEquipParams
, _eeViewDist = Nothing
, _eeAttachPos = 0
-- , _eeAttachPos = 0
}
+10 -1
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Item.Draw (
itemSPic,
itemEquipPict,
@@ -17,7 +18,7 @@ itemEquipPict :: Creature -> LabelDoubleTree ItemLink ComposedItem -> SPic
itemEquipPict cr itmtree
| Just i <- itm ^? itLocation . ilInvID
, Just esite <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just
, Just attachpos <- itm ^? itUse . uequipEffect . eeAttachPos
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip
= equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
= overPosSP (heldItemOffset itm cr) (itemTreeSPic itmtree)
@@ -25,6 +26,14 @@ itemEquipPict cr itmtree
where
itm = itmtree ^. ldtValue . _1
equipAttachPos :: EquipItemType -> Point3
equipAttachPos = \case
BATTERYPACK -> V3 (-8) 0 10
FUELPACK -> V3 (-9) 0 10
BULLETBELTPACK -> V3 (-9) 0 10
BULLETBELTBRACER -> V3 (-9) 0 10
_ -> 0
equipPosition :: EquipSite -> Creature -> Point3 -> SPic -> SPic
equipPosition epos cr p sh = case epos of
OnLeftWrist -> translateToLeftWrist cr sh
+3 -28
View File
@@ -19,7 +19,6 @@ module Dodge.Item.Equipment (
import Dodge.Data.Magnet
import Dodge.Item.Weapon.Bullet
import Geometry.Data
import Dodge.Data.Item
import Dodge.Default
import LensHelp
@@ -33,19 +32,16 @@ magShield =
flameShield :: Item
flameShield =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnChest
& itType .~ EQUIP FLAMESHIELD
frontArmour :: Item
frontArmour =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnChest
& itType .~ EQUIP FRONTARMOUR
wristArmour :: Item
wristArmour =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnWrist
& itUse . uequipEffect . eeOnEquip .~ EonWristShield
& itUse . uequipEffect . eeUse .~ EWristShield
& itUse . uequipEffect . eeOnRemove .~ EoffWristShield
@@ -54,13 +50,10 @@ wristArmour =
batteryPack :: Item
batteryPack =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnBack
& itUse . uequipEffect . eeAttachPos .~ V3 (-8) 0 10
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = NoAmmoParams
-- , _magType = ElectricalAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 10000000
@@ -72,14 +65,11 @@ batteryPack =
fuelPack :: Item
fuelPack =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnBack
& itUse . uequipEffect . eeAttachPos .~ V3 (-9) 0 10
-- & itUse . uequipEffect . eeUse .~ EFuelSource 10000 10000
& itType .~ EQUIP FUELPACK
& itConsumables
.~ AmmoMag
{ _magParams = GasParams ChemFuel
-- , _magType = GasAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 100000
@@ -90,13 +80,10 @@ fuelPack =
bulletBeltPack :: Item
bulletBeltPack =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnBack
& itUse . uequipEffect . eeAttachPos .~ V3 (-9) 0 10
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = BulletParams defaultBullet
-- , _magType = BeltBulletAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 10000000
@@ -108,13 +95,10 @@ bulletBeltPack =
bulletBeltBracer :: Item
bulletBeltBracer =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnWrist
& itUse . uequipEffect . eeAttachPos .~ V3 (-9) 0 10
& itUse . uequipEffect . eeUse .~ EDoNothing
& itConsumables
.~ AmmoMag
{ _magParams = BulletParams defaultBullet
-- , _magType = BeltBulletAmmo
, _magLoadStatus =
ReloadStatus
{ _iaMax = 100000
@@ -124,22 +108,15 @@ bulletBeltBracer =
& itType .~ EQUIP BULLETBELTBRACER
brainHat :: Item
brainHat =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnHead
& itType .~ EQUIP BRAINHAT
brainHat = defaultEquipment & itType .~ EQUIP BRAINHAT
hat :: Item
hat =
defaultEquipment
-- & itUse . uequipEffect . eeType .~ GoesOnHead
& itType .~ EQUIP HAT
hat = defaultEquipment & itType .~ EQUIP HAT
headLamp :: Item
headLamp =
defaultEquipment
& itUse . uequipEffect . eeUse .~ EHeadLamp
-- & itUse . uequipEffect . eeType .~ GoesOnHead
& itType .~ EQUIP HEADLAMP
powerLegs :: Item
@@ -161,6 +138,4 @@ wristInvisibility =
& itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist)
pulseChecker :: Item
pulseChecker =
defaultEquipment
& itType .~ EQUIP WRIST_ECG
pulseChecker = defaultEquipment & itType .~ EQUIP WRIST_ECG