53 lines
1.4 KiB
Haskell
53 lines
1.4 KiB
Haskell
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE StrictData #-}
|
|
module Dodge.Data.Item
|
|
( module Dodge.Data.Item
|
|
, module Dodge.Data.Item.Misc
|
|
, module Dodge.Data.Item.Tweak
|
|
, module Dodge.Data.Item.Params
|
|
, module Dodge.Data.Item.Use
|
|
) where
|
|
import Control.Lens
|
|
import Dodge.Data.Item.Misc
|
|
import Dodge.Data.Item.Tweak
|
|
import Dodge.Data.Item.Consumption
|
|
import Dodge.Data.Item.Use
|
|
import Dodge.Data.Item.Params
|
|
import Dodge.Data.ItEffect
|
|
import Dodge.Data.Targeting
|
|
import Dodge.Item.Data
|
|
import Dodge.Combine.Data
|
|
import Dodge.Item.Attachment.Data
|
|
import Color
|
|
|
|
import qualified IntMapHelp as IM
|
|
data Item = Item
|
|
{ _itConsumption :: ItemConsumption
|
|
, _itUse :: ItemUse
|
|
, _itType :: ItemType
|
|
, _itAttachment :: ItAttachment
|
|
, _itID :: Maybe Int
|
|
, _itPos :: ItemPos
|
|
, _itIsHeld :: Bool
|
|
, _itEffect :: ItEffect
|
|
, _itInvSize :: Float
|
|
, _itInvColor :: Color
|
|
, _itTargeting :: Targeting
|
|
, _itDimension :: ItemDimension
|
|
, _itCurseStatus :: CurseStatus
|
|
, _itTweaks :: ItemTweaks
|
|
, _itScope :: Scope
|
|
, _itValue :: ItemValue
|
|
, _itParams :: ItemParams
|
|
}
|
|
deriving (Eq,Ord,Show,Read)
|
|
data ItemTweaks
|
|
= NoTweaks
|
|
| Tweakable
|
|
{ _tweakParams :: IM.IntMap TweakParam
|
|
, _tweakSel :: Int
|
|
}
|
|
deriving (Eq,Ord,Show,Read)
|
|
makeLenses ''Item
|
|
makeLenses ''ItemTweaks
|