Remove Reader monad from multiple creature ais
This commit is contained in:
@@ -4,6 +4,7 @@ module Dodge.Creature.LtAutoCrit
|
||||
import Dodge.Data
|
||||
import Dodge.Default
|
||||
import Dodge.Creature.Picture
|
||||
import Dodge.Creature.ChainUpdates
|
||||
import Dodge.Creature.Impulse
|
||||
import Dodge.Creature.Action
|
||||
import Dodge.Creature.Test
|
||||
@@ -18,20 +19,16 @@ import Dodge.Item.Weapon.BulletGuns
|
||||
import Dodge.Item.Consumable
|
||||
import Geometry
|
||||
import Picture
|
||||
--import Dodge.RandomHelp
|
||||
|
||||
--import Data.Maybe
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import Control.Lens
|
||||
import Control.Monad.Reader
|
||||
--import System.Random
|
||||
|
||||
ltAutoCrit :: Creature
|
||||
ltAutoCrit = defaultCreature
|
||||
{ _crPict = basicCrPict red
|
||||
, _crUpdate = stateUpdate $ impulsiveAIR $
|
||||
performActionsR
|
||||
>=> watchUpdateStratR
|
||||
, _crUpdate = stateUpdate' $ impulsiveAI $ chainCreatureUpdatesLR
|
||||
[ Left performActions
|
||||
, Left $ watchUpdateStrat
|
||||
[ (crHasTargetLOS, \_ _ -> StrategyActions (ShootAt 0)
|
||||
[DoActionIf (not . crIsAiming) drawWeapon
|
||||
,DoActionThen
|
||||
@@ -41,13 +38,14 @@ ltAutoCrit = defaultCreature
|
||||
)
|
||||
, (crAwayFromPost, goToPostStrat)
|
||||
]
|
||||
>=> perceptionUpdate [0]
|
||||
>=> doStrategyActionsR
|
||||
>=> reloadOverrideR
|
||||
>=> targetYouWhenCognizantR
|
||||
>=> overrideInternalRRR
|
||||
(\cr -> (&&) <$> crHasTargetR cr <*> crStratConMatchesR (GetTo (V2 0 0)) cr)
|
||||
(pure . (crActionPlan . crStrategy .~ WatchAndWait))
|
||||
, Left $ perceptionUpdate' [0]
|
||||
, Right $ doStrategyActions
|
||||
, Right $ reloadOverride
|
||||
, Left $ targetYouWhenCognizant
|
||||
, Right $ overrideInternal
|
||||
(\cr -> crHasTarget' cr && crStratConMatches' (GetTo (V2 0 0)) cr)
|
||||
(crActionPlan . crStrategy .~ WatchAndWait)
|
||||
]
|
||||
, _crActionPlan = ActionPlan
|
||||
{ _crImpulse = []
|
||||
, _crAction = []
|
||||
|
||||
Reference in New Issue
Block a user