This commit is contained in:
2025-10-15 20:40:16 +01:00
parent fe95bf381b
commit b8006b44cf
5 changed files with 2 additions and 38 deletions
-1
View File
@@ -130,7 +130,6 @@ performAction cr w ac = case ac of
tcr <- w ^? cWorld . lWorld . creatures . ix i tcr <- w ^? cWorld . lWorld . creatures . ix i
return $ ([TurnTo (tcr ^. crPos . _xy +.+ rotateV (_crDir tcr) p)], Nothing) return $ ([TurnTo (tcr ^. crPos . _xy +.+ rotateV (_crDir tcr) p)], Nothing)
UseSelf f -> performAction cr w $ doCrAc f cr UseSelf f -> performAction cr w $ doCrAc f cr
UseMvTargetPos f -> performAction cr w $ doMP2Ac f $ _mvToPoint $ _crIntention cr
ArbitraryAction f -> performAction cr w (doCrWdAc f cr w) ArbitraryAction f -> performAction cr w (doCrWdAc f cr w)
DoImpulsesAlongside sideImp mainAc -> case performAction cr w mainAc of DoImpulsesAlongside sideImp mainAc -> case performAction cr w mainAc of
(imp, Just nxtac) -> (sideImp ++ imp, Just $ DoImpulsesAlongside sideImp nxtac) (imp, Just nxtac) -> (sideImp ++ imp, Just $ DoImpulsesAlongside sideImp nxtac)
-1
View File
@@ -62,7 +62,6 @@ followImpulse cr w imp = case imp of
DropItem -> undefined DropItem -> undefined
ChangeStrategy strat -> crup $ cr & crActionPlan . apStrategy .~ strat ChangeStrategy strat -> crup $ cr & crActionPlan . apStrategy .~ strat
AddGoal gl -> crup $ cr & crActionPlan . apGoal .:~ gl AddGoal gl -> crup $ cr & crActionPlan . apGoal .:~ gl
ArbitraryImpulseEffect f -> (doCrWdWd f cr, cr)
ImpulseUseTarget f -> fromMaybe (crup cr) $ do ImpulseUseTarget f -> fromMaybe (crup cr) $ do
i <- cr ^? crIntention . targetCr . _Just i <- cr ^? crIntention . targetCr . _Just
tcr <- w ^? cWorld . lWorld . creatures . ix i tcr <- w ^? cWorld . lWorld . creatures . ix i
-12
View File
@@ -10,14 +10,6 @@ import Dodge.Path
import Geometry import Geometry
import Control.Lens import Control.Lens
doCrWdWd :: CrWdWd -> Creature -> World -> World
doCrWdWd cww = case cww of
CrWdWdId -> const id
--doIntImp :: IntImp -> Int -> Impulse
--doIntImp ii = case ii of
-- NoIntImp -> const ImpulseNothing
doCrImp :: CrImp -> Creature -> Impulse doCrImp :: CrImp -> Creature -> Impulse
doCrImp ci = case ci of doCrImp ci = case ci of
NoCrImp -> const ImpulseNothing NoCrImp -> const ImpulseNothing
@@ -52,10 +44,6 @@ doCrAc ca = case ca of
--fleeFromTarget :: Creature -> Action --fleeFromTarget :: Creature -> Action
--fleeFromTarget cr = fleeFrom cr (_targetCr (_crIntention cr)) --fleeFromTarget cr = fleeFrom cr (_targetCr (_crIntention cr))
doMP2Ac :: MP2Ac -> Maybe Point2 -> Action
doMP2Ac mp2a = case mp2a of
MP2NoAction -> const ActionNothing
doCrWdAc :: CrWdAc -> Creature -> World -> Action doCrWdAc :: CrWdAc -> Creature -> World -> Action
doCrWdAc cw = case cw of doCrWdAc cw = case cw of
CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do
-4
View File
@@ -43,7 +43,6 @@ data Impulse
| MakeSound SoundID | MakeSound SoundID
| ChangeStrategy Strategy | ChangeStrategy Strategy
| AddGoal Goal | AddGoal Goal
| ArbitraryImpulseEffect CrWdWd
| ImpulseUseTarget { _impulseUseTarget :: CrImp } | ImpulseUseTarget { _impulseUseTarget :: CrImp }
| ImpulseNothing | ImpulseNothing
deriving (Eq, Ord, Show) --Generic, Flat) deriving (Eq, Ord, Show) --Generic, Flat)
@@ -141,9 +140,6 @@ data Action
| UseSelf | UseSelf
{ _useSelf :: CrAc { _useSelf :: CrAc
} }
| UseMvTargetPos
{ _useMvTargetPos :: MP2Ac
}
| ArbitraryAction | ArbitraryAction
{_arbitraryAction :: CrWdAc} {_arbitraryAction :: CrWdAc}
| -- | Repeatedly perform impulses alongside a main action until the main action terminates | -- | Repeatedly perform impulses alongside a main action until the main action terminates
+2 -20
View File
@@ -8,17 +8,9 @@ module Dodge.Data.CreatureEffect where
import Data.Aeson import Data.Aeson
import Data.Aeson.TH import Data.Aeson.TH
data CrWdWd = CrWdWdId data CrImp = NoCrImp | TurnTowardCr Float -- turn amount
deriving (Eq, Ord, Show, Read) --Generic, Flat) 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 WdCrBl data WdCrBl
= WdCrTrue = WdCrTrue
| WdCrBlfromCrBl CrBl | WdCrBlfromCrBl CrBl
@@ -27,30 +19,20 @@ data WdCrBl
| WdCrSafeDistFromTarget Float | WdCrSafeDistFromTarget Float
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrBl data CrBl = CrCanShoot | CrIsAiming | CrIsAnimate
= CrCanShoot
| CrIsAiming
| CrIsAnimate
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrAc = CrTurnAround data CrAc = CrTurnAround
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data MP2Ac = MP2NoAction
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrWdAc data CrWdAc
= CrWdBFSThenReturn Int = CrWdBFSThenReturn Int
| ChooseMovementSpreadGun | ChooseMovementSpreadGun
| ChooseMovementLtAuto | ChooseMovementLtAuto
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
--deriveJSON defaultOptions ''WdCrCr
--deriveJSON defaultOptions ''CrWdImp
deriveJSON defaultOptions ''CrWdWd
deriveJSON defaultOptions ''CrImp deriveJSON defaultOptions ''CrImp
deriveJSON defaultOptions ''CrBl deriveJSON defaultOptions ''CrBl
deriveJSON defaultOptions ''WdCrBl deriveJSON defaultOptions ''WdCrBl
deriveJSON defaultOptions ''CrAc deriveJSON defaultOptions ''CrAc
deriveJSON defaultOptions ''MP2Ac
deriveJSON defaultOptions ''CrWdAc deriveJSON defaultOptions ''CrWdAc