module Dodge.Creature.Strategy
    ( goToPostStrat
    )
    where
import Dodge.Data
import Dodge.Creature.Test
import Dodge.Creature.Volition

import Data.List

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

