module Dodge.Creature.ActionRat ( goToPostStrat ) where import Dodge.Data --import Dodge.Base --import Dodge.Base.Collide --import Dodge.Creature.ChooseTarget --import Dodge.Creature.Stance.Data import Dodge.Creature.Test import Dodge.Creature.Volition --import Geometry import Data.List --import qualified Data.IntMap.Strict as IM --import Control.Lens goToPostStrat :: World -> Creature -> Strategy goToPostStrat w cr = case find sentinelGoal $ _crGoal $ _crActionPlan cr of Just (SentinelAt p _) -> StrategyActions (GetTo p) [DoActionThen (WaitThen 150 holsterIfAiming) $ DoActionThen (PathTo p) NoAction -- $ DoImpulses [ChangeStrategy WatchAndWait] ] _ -> WatchAndWait where sentinelGoal (SentinelAt _ _) = True sentinelGoal _ = False holsterIfAiming | crIsAiming (w,cr) = holsterWeapon | otherwise = NoAction