Remove Reader monad from armour chase crit's ai

This commit is contained in:
2021-12-11 18:40:13 +00:00
parent 154abf0bad
commit e698695842
2 changed files with 72 additions and 12 deletions
+14 -12
View File
@@ -4,6 +4,7 @@ module Dodge.Creature.ArmourChase
import Dodge.Data
import Dodge.Default
import Dodge.Creature.State
import Dodge.Creature.ChainUpdates
import Dodge.Creature.ReaderUpdate
import Dodge.Creature.Perception
import Dodge.Creature.Picture
@@ -15,21 +16,22 @@ import Picture
import qualified Data.IntMap.Strict as IM
import Control.Lens
import Control.Monad.Reader
--import Control.Monad.Reader
armourChaseCrit :: Creature
armourChaseCrit = defaultCreature
{ _crUpdate = stateUpdate $ impulsiveAIR $
watchUpdateStratR [] >=>
doStrategyActionsR >=>
performActionsR >=>
targetYouWhenCognizantR >=>
setTargetMv (pure . _targetCr . _crIntention) >=> -- should be able to remove this?
flockACCR >=>
perceptionUpdate [0] >=>
goToTarget >=>
overrideMeleeCloseTargetR >=>
return . (crMeleeCooldown %~ max 0 . subtract 1)
{ _crUpdate = stateUpdate' $ impulsiveAI $ chainCreatureUpdatesLR
[ Left $ watchUpdateStrat []
, Right doStrategyActions
, Left performActions
, Left targetYouWhenCognizant
, Left $ setTargetMv' (\_ -> _targetCr . _crIntention)
, Left flockACC
, Left $ perceptionUpdate' [0]
, Left goToTarget'
, Right overrideMeleeCloseTarget
, Right (crMeleeCooldown %~ max 0 . subtract 1)
]
, _crHP = 300
, _crPict = basicCrPict green
, _crInv = IM.fromList