Move item effect functions
This commit is contained in:
+17
-46
@@ -10,6 +10,10 @@ circular imports are probably not a good idea.
|
||||
{-# LANGUAGE DerivingStrategies #-}
|
||||
module Dodge.Data
|
||||
( module Dodge.Data
|
||||
, module Dodge.Data.ItEffect
|
||||
, module Dodge.Data.Hammer
|
||||
, module Dodge.Data.Item.Use
|
||||
, module Dodge.Data.Item.UseDelay
|
||||
, module Dodge.Data.ArcStep
|
||||
, module Dodge.Data.CrWlID
|
||||
, module Dodge.Data.Item.HeldUse
|
||||
@@ -61,6 +65,10 @@ module Dodge.Data
|
||||
, module Dodge.Data.RadarBlip
|
||||
, module Dodge.Data.PathGraph
|
||||
) where
|
||||
import Dodge.Data.ItEffect
|
||||
import Dodge.Data.Hammer
|
||||
import Dodge.Data.Item.Use
|
||||
import Dodge.Data.Item.UseDelay
|
||||
import Dodge.Data.CrWlID
|
||||
import Dodge.Data.ArcStep
|
||||
import Dodge.Data.Item.HeldUse
|
||||
@@ -404,39 +412,6 @@ data PressPlate = PressPlate
|
||||
, _ppText :: String
|
||||
}
|
||||
data FloorItem = FlIt { _flIt :: Item , _flItPos :: Point2 , _flItRot :: Float, _flItID :: Int}
|
||||
data ItemUse
|
||||
= RightUse
|
||||
{ _rUse :: HeldUse -- Item -> Creature -> World -> World
|
||||
, _useDelay :: UseDelay
|
||||
, _useMods :: HeldMod --[(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
, _useHammer :: HammerPosition
|
||||
, _useAim :: AimParams
|
||||
, _heldScroll :: HeldScroll --Float -> Creature -> Item -> Item
|
||||
}
|
||||
| LeftUse
|
||||
{ _lUse :: Luse --Item -> Creature -> World -> World
|
||||
, _useDelay :: UseDelay
|
||||
, _useHammer :: HammerPosition
|
||||
, _eqEq :: Equipment
|
||||
}
|
||||
| ConsumeUse
|
||||
{ _cUse :: Cuse --Item -> Creature -> World -> World
|
||||
}
|
||||
| EquipUse
|
||||
{ _eqEq :: Equipment
|
||||
}
|
||||
| NoUse
|
||||
data Equipment = Equipment
|
||||
{ _eqUse :: Euse --Item -> Creature -> World -> World
|
||||
, _eqOnEquip :: Euse --Item -> Creature -> World -> World
|
||||
, _eqOnRemove :: Euse --Item -> Creature -> World -> World
|
||||
, _eqSite :: EquipSite
|
||||
, _eqParams :: EquipParams
|
||||
, _eqViewDist :: Maybe Float
|
||||
}
|
||||
|
||||
_itUseAimStance :: Item -> AimStance
|
||||
_itUseAimStance = _aimStance . _useAim . _itUse
|
||||
|
||||
data Item = Item
|
||||
{ _itConsumption :: ItemConsumption
|
||||
@@ -471,25 +446,25 @@ data Targeting
|
||||
data ItEffect
|
||||
= NoItEffect
|
||||
| ItInvEffect
|
||||
{_ieInv :: Item -> Creature -> World -> World
|
||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||
,_ieCounter :: Int
|
||||
}
|
||||
| ItRewindEffect
|
||||
{_ieInv :: Item -> Creature -> World -> World
|
||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||
,_ieStoredWorlds :: [World]
|
||||
}
|
||||
| ItEffect
|
||||
{_ieInv :: Item -> Creature -> World -> World
|
||||
,_ieFloor :: Int -> World -> World
|
||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||
,_ieFloor :: ItFloorEffect --Int -> World -> World
|
||||
,_ieCounter :: Int
|
||||
}
|
||||
| ItInvEffectID
|
||||
{_ieInv :: Item -> Creature -> World -> World
|
||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||
,_ieMID :: Maybe Int
|
||||
} -- the duplication of ieMID may cause errors...
|
||||
| ItInvEffectDrop
|
||||
{ _ieInv :: Item -> Creature -> World -> World
|
||||
, _ieDrop :: Item -> Creature -> World -> World
|
||||
{ _ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||
, _ieDrop :: ItDropEffect --Item -> Creature -> World -> World
|
||||
, _ieMID :: Maybe Int
|
||||
}
|
||||
data IntID a = IntID Int a
|
||||
@@ -612,10 +587,6 @@ data GunBarrels
|
||||
, _brlInaccuracy :: Float
|
||||
}
|
||||
| SingleBarrel {_brlInaccuracy :: Float}
|
||||
data EquipParams
|
||||
= NoEquipParams
|
||||
| EquipID {_eparamID :: Int}
|
||||
| EquipCounter {_eparamInt :: Int}
|
||||
data ItemParams
|
||||
= NoParams
|
||||
| ShellLauncher
|
||||
@@ -1256,7 +1227,6 @@ makeLenses ''CreatureState
|
||||
makeLenses ''World
|
||||
makeLenses ''Creature
|
||||
makeLenses ''Item
|
||||
makeLenses ''ItemUse
|
||||
makeLenses ''ItEffect
|
||||
makeLenses ''FloorItem
|
||||
makeLenses ''TweakParam
|
||||
@@ -1288,7 +1258,6 @@ makeLenses ''ScreenLayer
|
||||
makeLenses ''Beam
|
||||
makeLenses ''BeamType
|
||||
makeLenses ''WorldBeams
|
||||
makeLenses ''EquipParams
|
||||
makeLenses ''TerminalCommand
|
||||
makeLenses ''TerminalInput
|
||||
makeLenses ''GenParams
|
||||
@@ -1301,6 +1270,8 @@ makeLenses ''PSType
|
||||
makeLenses ''PlacementSpot
|
||||
makeLenses ''Placement
|
||||
|
||||
_itUseAimStance :: Item -> AimStance
|
||||
_itUseAimStance = _aimStance . _useAim . _itUse
|
||||
|
||||
crSel :: Creature -> Int
|
||||
crSel = _iselPos . _crInvSel
|
||||
|
||||
Reference in New Issue
Block a user