diff --git a/src/Dodge/Creature/Action.hs b/src/Dodge/Creature/Action.hs index caad5a4d6..fe5a23333 100644 --- a/src/Dodge/Creature/Action.hs +++ b/src/Dodge/Creature/Action.hs @@ -130,7 +130,6 @@ performAction cr w ac = case ac of tcr <- w ^? cWorld . lWorld . creatures . ix i return $ ([TurnTo (tcr ^. crPos . _xy +.+ rotateV (_crDir tcr) p)], Nothing) UseSelf f -> performAction cr w $ doCrAc f cr - UseAheadPos f -> performAction cr w (doP2Ac f (cr ^. crPos . _xy +.+ 20 *.* unitVectorAtAngle (_crDir cr))) UseMvTargetPos f -> performAction cr w $ doMP2Ac f $ _mvToPoint $ _crIntention cr ArbitraryAction f -> performAction cr w (doCrWdAc f cr w) DoImpulsesAlongside sideImp mainAc -> case performAction cr w mainAc of diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index 927966ce1..a70f95e05 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -62,18 +62,11 @@ followImpulse cr w imp = case imp of DropItem -> undefined ChangeStrategy strat -> crup $ cr & crActionPlan . apStrategy .~ strat AddGoal gl -> crup $ cr & crActionPlan . apGoal .:~ gl - ArbitraryImpulseFunction f -> crup $ doWdCrCr f w cr - ArbitraryImpulse f -> followImpulse cr w (doCrWdImp f cr w) ArbitraryImpulseEffect f -> (doCrWdWd f cr, cr) --- ImpulseUseTargetCID f -> fromMaybe (crup cr) $ do --- i <- cr ^? crIntention . targetCr . _Just --- tcr <- w ^? cWorld . lWorld . creatures . ix i --- return $ followImpulse cr w (doIntImp f $ _crID tcr) ImpulseUseTarget f -> fromMaybe (crup cr) $ do i <- cr ^? crIntention . targetCr . _Just tcr <- w ^? cWorld . lWorld . creatures . ix i return $ followImpulse cr w (doCrImp f tcr) - ImpulseUseAheadPos f -> followImpulse cr w (doP2Imp f (cr ^. crPos . _xy +.+ 20 *.* unitVectorAtAngle (_crDir cr))) MvForward -> crup $ crMvForward speed (w ^. cWorld . lWorld) cr MvTurnToward p -> crup $ diff --git a/src/Dodge/CreatureEffect.hs b/src/Dodge/CreatureEffect.hs index 82f3b847c..931fcde98 100644 --- a/src/Dodge/CreatureEffect.hs +++ b/src/Dodge/CreatureEffect.hs @@ -10,14 +10,6 @@ import Dodge.Path import Geometry import Control.Lens -doWdCrCr :: WdCrCr -> World -> Creature -> Creature -doWdCrCr ce = case ce of - NoCreatureEffect -> const id - -doCrWdImp :: CrWdImp -> Creature -> World -> Impulse -doCrWdImp cwi = case cwi of - NoCrWdImp -> const $ const ImpulseNothing - doCrWdWd :: CrWdWd -> Creature -> World -> World doCrWdWd cww = case cww of CrWdWdId -> const id @@ -31,10 +23,6 @@ doCrImp ci = case ci of NoCrImp -> const ImpulseNothing TurnTowardCr x -> \cr -> TurnToward (cr ^. crPos . _xy) x -doP2Imp :: P2Imp -> Point2 -> Impulse -doP2Imp p2i = case p2i of - P2ImpNo -> const ImpulseNothing - doWdCrBl :: WdCrBl -> World -> Creature -> Bool doWdCrBl wcb = case wcb of WdCrTrue -> const $ const True @@ -64,10 +52,6 @@ doCrAc ca = case ca of --fleeFromTarget :: Creature -> Action --fleeFromTarget cr = fleeFrom cr (_targetCr (_crIntention cr)) -doP2Ac :: P2Ac -> Point2 -> Action -doP2Ac p2a = case p2a of - P2NoAction -> const ActionNothing - doMP2Ac :: MP2Ac -> Maybe Point2 -> Action doMP2Ac mp2a = case mp2a of MP2NoAction -> const ActionNothing diff --git a/src/Dodge/Data/ActionPlan.hs b/src/Dodge/Data/ActionPlan.hs index b9c421628..1e44bb3f2 100644 --- a/src/Dodge/Data/ActionPlan.hs +++ b/src/Dodge/Data/ActionPlan.hs @@ -43,20 +43,9 @@ data Impulse | MakeSound SoundID | ChangeStrategy Strategy | AddGoal Goal - | ArbitraryImpulseFunction WdCrCr - | ArbitraryImpulse CrWdImp | ArbitraryImpulseEffect CrWdWd --- | ImpulseUseTargetCID --- { _impulseUseTargetCID :: IntImp --- } - | ImpulseUseTarget - { _impulseUseTarget :: CrImp - } - | ImpulseUseAheadPos - { _impulseUseAheadPos :: P2Imp - } + | ImpulseUseTarget { _impulseUseTarget :: CrImp } | ImpulseNothing - --deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show) --Generic, Flat) data RandImpulse @@ -152,9 +141,6 @@ data Action | UseSelf { _useSelf :: CrAc } - | UseAheadPos - { _useAheadPos :: P2Ac - } | UseMvTargetPos { _useMvTargetPos :: MP2Ac } diff --git a/src/Dodge/Data/CreatureEffect.hs b/src/Dodge/Data/CreatureEffect.hs index 1d1de1f95..a304bca83 100644 --- a/src/Dodge/Data/CreatureEffect.hs +++ b/src/Dodge/Data/CreatureEffect.hs @@ -8,25 +8,16 @@ module Dodge.Data.CreatureEffect where import Data.Aeson import Data.Aeson.TH -data WdCrCr = NoCreatureEffect - deriving (Eq, Ord, Show, Read) --Generic, Flat) - -data CrWdImp = NoCrWdImp - deriving (Eq, Ord, Show, Read) --Generic, Flat) - data CrWdWd = CrWdWdId deriving (Eq, Ord, Show, Read) --Generic, Flat) ---data IntImp = NoIntImp --- deriving (Eq, Ord, Show, Read) --Generic, Flat) - data CrImp = NoCrImp | TurnTowardCr Float -- turn amount deriving (Eq, Ord, Show, Read) --Generic, Flat) -data P2Imp = P2ImpNo - deriving (Eq, Ord, Show, Read) --Generic, Flat) +--data P2Imp = P2ImpNo +-- deriving (Eq, Ord, Show, Read) --Generic, Flat) data WdCrBl = WdCrTrue @@ -45,9 +36,6 @@ data CrBl data CrAc = CrTurnAround deriving (Eq, Ord, Show, Read) --Generic, Flat) -data P2Ac = P2NoAction - deriving (Eq, Ord, Show, Read) --Generic, Flat) - data MP2Ac = MP2NoAction deriving (Eq, Ord, Show, Read) --Generic, Flat) @@ -57,15 +45,12 @@ data CrWdAc | ChooseMovementLtAuto deriving (Eq, Ord, Show, Read) --Generic, Flat) -deriveJSON defaultOptions ''WdCrCr -deriveJSON defaultOptions ''CrWdImp +--deriveJSON defaultOptions ''WdCrCr +--deriveJSON defaultOptions ''CrWdImp deriveJSON defaultOptions ''CrWdWd ---deriveJSON defaultOptions ''IntImp deriveJSON defaultOptions ''CrImp -deriveJSON defaultOptions ''P2Imp deriveJSON defaultOptions ''CrBl deriveJSON defaultOptions ''WdCrBl deriveJSON defaultOptions ''CrAc -deriveJSON defaultOptions ''P2Ac deriveJSON defaultOptions ''MP2Ac deriveJSON defaultOptions ''CrWdAc