Make equipment effects use item locations

Move towards removing on/off equipment effects
This commit is contained in:
2024-12-19 11:15:21 +00:00
parent 3ffe61e6db
commit a669632226
9 changed files with 110 additions and 103 deletions
-3
View File
@@ -21,9 +21,6 @@ data Euse
| EMagShield
| EWristShield
| EHeadLamp
| ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
| EonWristShield
| EoffWristShield
-- | EFuelSource {_euseFuelAmount :: Int, _euseFuelMax :: Int}
| EBatterySource {_euseBatteryAmount :: Int, _euseBatteryMax :: Int}
| EAmmoSource
+12 -2
View File
@@ -7,6 +7,7 @@ module Dodge.Data.Item.Use.Equipment (
module Dodge.Data.Item.Use.Equipment,
) where
import Dodge.Data.CamouflageStatus
import Geometry.Data
import Control.Lens
import Data.Aeson
@@ -16,8 +17,8 @@ import Dodge.Data.Item.HeldUse
data EquipEffect = EquipEffect
{ _eeUse :: Euse --Item -> Creature -> World -> World
, _eeOnEquip :: Euse --Item -> Creature -> World -> World
, _eeOnRemove :: Euse --Item -> Creature -> World -> World
, _eeOnEquip :: ItmCrWdWd --Item -> Creature -> World -> World
, _eeOnRemove :: ItmCrWdWd --Item -> Creature -> World -> World
, _eeSite :: EquipSite
, _eeParams :: EquipParams
, _eeViewDist :: Maybe Float
@@ -25,6 +26,13 @@ data EquipEffect = EquipEffect
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ItmCrWdWd
= ItmCrWdWdDoNothing
| ECamouflage {_euseCamouflageStatus :: CamouflageStatus}
| EonWristShield
| EoffWristShield
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data EquipParams
= NoEquipParams
| EquipID {_eparamID :: Int}
@@ -33,5 +41,7 @@ data EquipParams
makeLenses ''EquipEffect
makeLenses ''EquipParams
makeLenses ''ItmCrWdWd
deriveJSON defaultOptions ''ItmCrWdWd
deriveJSON defaultOptions ''EquipParams
deriveJSON defaultOptions ''EquipEffect