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
+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