Start targeting refactor
This commit is contained in:
+2
-26
@@ -10,6 +10,7 @@ circular imports are probably not a good idea.
|
|||||||
{-# LANGUAGE DerivingStrategies #-}
|
{-# LANGUAGE DerivingStrategies #-}
|
||||||
module Dodge.Data
|
module Dodge.Data
|
||||||
( module Dodge.Data
|
( module Dodge.Data
|
||||||
|
, module Dodge.Data.Targeting
|
||||||
, module Dodge.Data.ItEffect
|
, module Dodge.Data.ItEffect
|
||||||
, module Dodge.Data.Hammer
|
, module Dodge.Data.Hammer
|
||||||
, module Dodge.Data.Item.Use
|
, module Dodge.Data.Item.Use
|
||||||
@@ -65,6 +66,7 @@ module Dodge.Data
|
|||||||
, module Dodge.Data.RadarBlip
|
, module Dodge.Data.RadarBlip
|
||||||
, module Dodge.Data.PathGraph
|
, module Dodge.Data.PathGraph
|
||||||
) where
|
) where
|
||||||
|
import Dodge.Data.Targeting
|
||||||
import Dodge.Data.ItEffect
|
import Dodge.Data.ItEffect
|
||||||
import Dodge.Data.Hammer
|
import Dodge.Data.Hammer
|
||||||
import Dodge.Data.Item.Use
|
import Dodge.Data.Item.Use
|
||||||
@@ -442,31 +444,6 @@ data Targeting
|
|||||||
, _tgActive :: Bool
|
, _tgActive :: Bool
|
||||||
}
|
}
|
||||||
|
|
||||||
-- I believe this is called every frame, not sure when though
|
|
||||||
data ItEffect
|
|
||||||
= NoItEffect
|
|
||||||
| ItInvEffect
|
|
||||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
|
||||||
,_ieCounter :: Int
|
|
||||||
}
|
|
||||||
| ItRewindEffect
|
|
||||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
|
||||||
,_ieStoredWorlds :: [World]
|
|
||||||
}
|
|
||||||
| ItEffect
|
|
||||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
|
||||||
,_ieFloor :: ItFloorEffect --Int -> World -> World
|
|
||||||
,_ieCounter :: Int
|
|
||||||
}
|
|
||||||
| ItInvEffectID
|
|
||||||
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
|
||||||
,_ieMID :: Maybe Int
|
|
||||||
} -- the duplication of ieMID may cause errors...
|
|
||||||
| ItInvEffectDrop
|
|
||||||
{ _ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
|
||||||
, _ieDrop :: ItDropEffect --Item -> Creature -> World -> World
|
|
||||||
, _ieMID :: Maybe Int
|
|
||||||
}
|
|
||||||
data IntID a = IntID Int a
|
data IntID a = IntID Int a
|
||||||
|
|
||||||
data WorldBeams = WorldBeams
|
data WorldBeams = WorldBeams
|
||||||
@@ -1227,7 +1204,6 @@ makeLenses ''CreatureState
|
|||||||
makeLenses ''World
|
makeLenses ''World
|
||||||
makeLenses ''Creature
|
makeLenses ''Creature
|
||||||
makeLenses ''Item
|
makeLenses ''Item
|
||||||
makeLenses ''ItEffect
|
|
||||||
makeLenses ''FloorItem
|
makeLenses ''FloorItem
|
||||||
makeLenses ''TweakParam
|
makeLenses ''TweakParam
|
||||||
makeLenses ''Prop
|
makeLenses ''Prop
|
||||||
|
|||||||
@@ -1,4 +1,32 @@
|
|||||||
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
{-# LANGUAGE StrictData #-}
|
||||||
module Dodge.Data.ItEffect where
|
module Dodge.Data.ItEffect where
|
||||||
|
import Control.Lens
|
||||||
|
-- I believe this is called every frame, not sure when though
|
||||||
|
data ItEffect
|
||||||
|
= NoItEffect
|
||||||
|
| ItInvEffect
|
||||||
|
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||||
|
,_ieCounter :: Int
|
||||||
|
}
|
||||||
|
| ItRewindEffect
|
||||||
|
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||||
|
-- ,_ieStoredWorlds :: [World]
|
||||||
|
}
|
||||||
|
| ItEffect
|
||||||
|
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||||
|
,_ieFloor :: ItFloorEffect --Int -> World -> World
|
||||||
|
,_ieCounter :: Int
|
||||||
|
}
|
||||||
|
| ItInvEffectID
|
||||||
|
{_ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||||
|
,_ieMID :: Maybe Int
|
||||||
|
} -- the duplication of ieMID may cause errors...
|
||||||
|
| ItInvEffectDrop
|
||||||
|
{ _ieInv :: ItInvEffect --Item -> Creature -> World -> World
|
||||||
|
, _ieDrop :: ItDropEffect --Item -> Creature -> World -> World
|
||||||
|
, _ieMID :: Maybe Int
|
||||||
|
}
|
||||||
|
|
||||||
data ItInvEffect = NoInvEffect
|
data ItInvEffect = NoInvEffect
|
||||||
| RewindEffect
|
| RewindEffect
|
||||||
@@ -9,3 +37,4 @@ data ItInvEffect = NoInvEffect
|
|||||||
| RemoveShieldWall
|
| RemoveShieldWall
|
||||||
data ItFloorEffect = NoFloorEffect
|
data ItFloorEffect = NoFloorEffect
|
||||||
data ItDropEffect = NoDropEffect
|
data ItDropEffect = NoDropEffect
|
||||||
|
makeLenses ''ItEffect
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
{-# LANGUAGE StrictData #-}
|
||||||
|
module Dodge.Data.Targeting where
|
||||||
|
|
||||||
|
data TargetUpdate = NoTargeting
|
||||||
|
|
||||||
|
data TargetDraw = SquareTarget
|
||||||
@@ -20,7 +20,7 @@ rewindGun = defaultLeftItem
|
|||||||
{ _wpMaxCharge = 250
|
{ _wpMaxCharge = 250
|
||||||
, _wpCharge = 0
|
, _wpCharge = 0
|
||||||
}
|
}
|
||||||
, _itEffect = ItRewindEffect RewindEffect []
|
, _itEffect = ItRewindEffect RewindEffect-- []
|
||||||
, _itUse = defaultlUse
|
, _itUse = defaultlUse
|
||||||
& lUse .~ LRewind --useRewindGun
|
& lUse .~ LRewind --useRewindGun
|
||||||
& eqEq . eqSite .~ GoesOnChest
|
& eqEq . eqSite .~ GoesOnChest
|
||||||
|
|||||||
Reference in New Issue
Block a user