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
return $ ([TurnTo (tcr ^. crPos . _xy +.+ rotateV (_crDir tcr) p)], Nothing)
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)
DoImpulsesAlongside sideImp mainAc -> case performAction cr w mainAc of
(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
ChangeStrategy strat -> crup $ cr & crActionPlan . apStrategy .~ strat
AddGoal gl -> crup $ cr & crActionPlan . apGoal .:~ gl
ArbitraryImpulseEffect f -> (doCrWdWd f cr, cr)
ImpulseUseTarget f -> fromMaybe (crup cr) $ do
i <- cr ^? crIntention . targetCr . _Just
tcr <- w ^? cWorld . lWorld . creatures . ix i
-12
View File
@@ -10,14 +10,6 @@ import Dodge.Path
import Geometry
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 ci = case ci of
NoCrImp -> const ImpulseNothing
@@ -52,10 +44,6 @@ doCrAc ca = case ca of
--fleeFromTarget :: Creature -> Action
--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 cw = case cw of
CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do
-4
View File
@@ -43,7 +43,6 @@ data Impulse
| MakeSound SoundID
| ChangeStrategy Strategy
| AddGoal Goal
| ArbitraryImpulseEffect CrWdWd
| ImpulseUseTarget { _impulseUseTarget :: CrImp }
| ImpulseNothing
deriving (Eq, Ord, Show) --Generic, Flat)
@@ -141,9 +140,6 @@ data Action
| UseSelf
{ _useSelf :: CrAc
}
| UseMvTargetPos
{ _useMvTargetPos :: MP2Ac
}
| ArbitraryAction
{_arbitraryAction :: CrWdAc}
| -- | 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.TH
data CrWdWd = CrWdWdId
data CrImp = NoCrImp | TurnTowardCr Float -- turn amount
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
= WdCrTrue
| WdCrBlfromCrBl CrBl
@@ -27,30 +19,20 @@ data WdCrBl
| WdCrSafeDistFromTarget Float
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrBl
= CrCanShoot
| CrIsAiming
| CrIsAnimate
data CrBl = CrCanShoot | CrIsAiming | CrIsAnimate
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrAc = CrTurnAround
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data MP2Ac = MP2NoAction
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrWdAc
= CrWdBFSThenReturn Int
| ChooseMovementSpreadGun
| ChooseMovementLtAuto
deriving (Eq, Ord, Show, Read) --Generic, Flat)
--deriveJSON defaultOptions ''WdCrCr
--deriveJSON defaultOptions ''CrWdImp
deriveJSON defaultOptions ''CrWdWd
deriveJSON defaultOptions ''CrImp
deriveJSON defaultOptions ''CrBl
deriveJSON defaultOptions ''WdCrBl
deriveJSON defaultOptions ''CrAc
deriveJSON defaultOptions ''MP2Ac
deriveJSON defaultOptions ''CrWdAc