Add shrinkability and cursed items
This commit is contained in:
+20
-1
@@ -9,12 +9,22 @@ circular imports are probably not a good idea.
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
module Dodge.Data
|
||||
( module Dodge.Data
|
||||
, module Dodge.Distortion.Data
|
||||
, module Dodge.Data.DamageType
|
||||
, module Dodge.Data.SoundOrigin
|
||||
, module Dodge.Creature.State.Data
|
||||
, module Dodge.Creature.Stance.Data
|
||||
, module Dodge.Creature.Perception.Data
|
||||
, module Dodge.Creature.Memory.Data
|
||||
, module Dodge.Item.Attachment.Data
|
||||
, module Dodge.Item.Data
|
||||
, module Dodge.Config.Data
|
||||
) where
|
||||
import Dodge.Creature.State.Data
|
||||
import Dodge.Creature.Stance.Data
|
||||
import Dodge.Creature.Perception.Data
|
||||
import Dodge.Creature.Memory.Data
|
||||
import Dodge.Distortion.Data
|
||||
import Dodge.Data.SoundOrigin
|
||||
import Dodge.Data.DamageType
|
||||
import Dodge.Config.Data
|
||||
@@ -98,7 +108,7 @@ data World = World
|
||||
, _sideEffects :: World -> IO World
|
||||
, _inventoryMode :: InventoryMode
|
||||
, _lClickHammer :: HammerPosition
|
||||
, _radDistortion :: [(Point2,Point2,Point2,Float)]
|
||||
, _distortions :: [Distortion]
|
||||
, _worldBounds :: Bounds
|
||||
, _gameRooms :: [GameRoom]
|
||||
, _keyConfig :: KeyConfigSDL
|
||||
@@ -107,6 +117,7 @@ data World = World
|
||||
, _savedWorlds :: M.Map SaveSlot World
|
||||
, _frameClock :: Int
|
||||
}
|
||||
|
||||
data SaveSlot = QuicksaveSlot | LevelStartSlot
|
||||
deriving (Eq,Ord)
|
||||
|
||||
@@ -150,6 +161,7 @@ data InventoryMode
|
||||
| TweakInventory
|
||||
| CombineInventory
|
||||
| InspectInventory
|
||||
| LockedInventory
|
||||
deriving (Eq, Ord, Show)
|
||||
data CrGroupParams = CrGroupParams
|
||||
{ _crGroupParamID :: Int
|
||||
@@ -239,6 +251,7 @@ data Intention = Intention
|
||||
|
||||
data CrMvType
|
||||
= NoMvType
|
||||
| MvWalking { _mvSpeed :: Float }
|
||||
| ChaseMvType
|
||||
{ _mvSpeed :: Float
|
||||
, _mvTurnRad :: Float -> Float
|
||||
@@ -316,6 +329,7 @@ data Item
|
||||
, _itAimStance :: AimStance
|
||||
, _wpNumBarrels :: Int
|
||||
, _itDimension :: ItemDimension
|
||||
, _itCurseStatus :: CurseStatus
|
||||
}
|
||||
| Consumable
|
||||
{ _itName :: String
|
||||
@@ -331,6 +345,7 @@ data Item
|
||||
, _itEffect :: ItEffect
|
||||
, _itHammer :: HammerPosition
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
}
|
||||
| Craftable
|
||||
{ _itName :: String
|
||||
@@ -343,6 +358,7 @@ data Item
|
||||
, _itInvDisplay :: Item -> String
|
||||
, _itInvColor :: Color
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
}
|
||||
| Equipment
|
||||
{ _itName :: String
|
||||
@@ -359,6 +375,7 @@ data Item
|
||||
, _itInvColor :: Color
|
||||
, _itHammer :: HammerPosition
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
}
|
||||
| Throwable
|
||||
{ _itName :: String
|
||||
@@ -385,8 +402,10 @@ data Item
|
||||
, _itHammer :: HammerPosition
|
||||
, _itScroll :: Float -> Creature -> Item -> Item
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
}
|
||||
| NoItem
|
||||
data CurseStatus = Uncursed | UndroppableIdentified | UndroppableUnidentified
|
||||
|
||||
data ItemDimension = ItemDimension
|
||||
{ _itDim :: Point3 -- length width height
|
||||
|
||||
Reference in New Issue
Block a user