Commit before moving to external weapon magazines
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Item.Combine where
|
||||
|
||||
import Dodge.Data.Item.Targeting
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import qualified Data.Map.Strict as M
|
||||
import Dodge.Data.Equipment.Misc
|
||||
import Dodge.Data.Item.Targeting
|
||||
import Dodge.Data.Item.Use.Consumption
|
||||
|
||||
data ItemType = ItemType
|
||||
{ _iyBase :: ItemBaseType
|
||||
, _iyModules :: M.Map ModuleSlot ItemModuleType
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Stack = NoStack | Stack ItAmount
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data CraftType
|
||||
= PIPE
|
||||
| TUBE
|
||||
| HARDWARE
|
||||
| SPRING
|
||||
|
||||
| HOSE
|
||||
| TAPE
|
||||
|
||||
| CAN
|
||||
| TIN
|
||||
| STEELDRUM
|
||||
@@ -78,26 +78,29 @@ data CraftType
|
||||
| TIMEMODULE
|
||||
| SIZEMODULE
|
||||
| GRAVITYMODULE
|
||||
|
||||
| TARGETMODULE TargetType
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Enum, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Enum, Read) --Generic, Flat)
|
||||
|
||||
data ItemBaseType
|
||||
= NoItemType
|
||||
| HELD {_ibtHeld :: HeldItemType}
|
||||
| LEFT {_ibtLeft :: LeftItemType}
|
||||
| EQUIP {_ibtEquip :: EquipItemType}
|
||||
| AMMO {_ibtAmmo :: AmmoItemType}
|
||||
| Consumable {_ibtConsumable :: ConsumableItemType}
|
||||
| CRAFT CraftType
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data ConsumableItemType
|
||||
= MEDKIT Int
|
||||
| EXPLOSIVES
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data EquipItemType
|
||||
= MAGSHIELD
|
||||
@@ -112,16 +115,15 @@ data EquipItemType
|
||||
| POWERLEGS
|
||||
| SPEEDLEGS
|
||||
| JUMPLEGS
|
||||
|
||||
| JETPACK
|
||||
| FUELPACK
|
||||
| BULLETBELTPACK
|
||||
| BULLETBELTBRACER
|
||||
| BATTERYPACK
|
||||
|
||||
| AUTODETECTOR Detector
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data LeftItemType
|
||||
= BOOSTER
|
||||
@@ -183,6 +185,11 @@ data HeldItemType
|
||||
| KEYCARD Int
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data AmmoItemType
|
||||
= TINMAGAZINE
|
||||
| DRUMMAGAZINE
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data ItemModuleType
|
||||
= EMPTYMODULE
|
||||
| DRUMMAG
|
||||
@@ -232,11 +239,12 @@ deriveJSON defaultOptions ''Detector
|
||||
deriveJSON defaultOptions ''EquipItemType
|
||||
deriveJSON defaultOptions ''LeftItemType
|
||||
deriveJSON defaultOptions ''HeldItemType
|
||||
deriveJSON defaultOptions ''AmmoItemType
|
||||
deriveJSON defaultOptions ''ItemModuleType
|
||||
deriveJSON defaultOptions ''ModuleSlot
|
||||
deriveJSON defaultOptions ''ItemBaseType
|
||||
deriveJSON defaultOptions ''ItemType
|
||||
|
||||
instance ToJSONKey ModuleSlot
|
||||
|
||||
instance FromJSONKey ModuleSlot
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DerivingStrategies #-}
|
||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
@@ -26,18 +26,18 @@ data HeldConsumption
|
||||
| NoConsumption
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data AmmoSource
|
||||
data AmmoSource
|
||||
= InternalSource InternalAmmo
|
||||
| AboveSource
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data InternalAmmo = InternalAmmo
|
||||
{ _iaMax :: Int
|
||||
, _iaLoaded :: Int
|
||||
, _iaPrimed :: Bool
|
||||
, _iaCycle :: [LoadAction]
|
||||
, _iaProgress :: Maybe [LoadAction]
|
||||
}
|
||||
{ _iaMax :: Int
|
||||
, _iaLoaded :: Int
|
||||
, _iaPrimed :: Bool
|
||||
, _iaCycle :: [LoadAction]
|
||||
, _iaProgress :: Maybe [LoadAction]
|
||||
}
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data LeftConsumption
|
||||
@@ -54,8 +54,9 @@ data LeftConsumption
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
newtype ItAmount = ItAmount {_getItAmount :: Int}
|
||||
-- deriving (Eq, Ord, Read Show, Num, Real,) --Generic, Flat)
|
||||
-- deriving (Eq, Ord, Read Show, Num, Real,) --Generic, Flat)
|
||||
deriving newtype (Eq, Ord, Read, Show, Num, Real, Enum, Integral)
|
||||
|
||||
-- deriving stock (Generic)
|
||||
-- deriving anyclass (Flat)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user