Fix basic pathing

This commit is contained in:
2021-09-06 11:35:30 +01:00
parent 4d3c0ae38f
commit 72e29ebac3
9 changed files with 86 additions and 193 deletions
+1 -19
View File
@@ -17,7 +17,6 @@ import Dodge.Creature.Test
import Dodge.Creature.Volition
import Dodge.Creature.AlertLevel.Data
import Dodge.Base
import Dodge.Base.Collide
import Geometry
import FoldableHelp
@@ -75,26 +74,9 @@ flockACCR cr = do
goToTarget :: Creature -> Reader World Creature
goToTarget cr = do
w <- ask
case cr ^? crMvTarget . _Just of
Just p
| dist p cpos > _crRad cr + 10 && hasLOS p cpos w
-> pure $ cr & crActionPlan . crImpulse .~
[ MoveForward speed
, TurnToward p (trad dirOffset)
, RandomTurn jit
]
| dist p cpos > _crRad cr + 10
-> pure $ cr & crActionPlan . crAction .~ [PathTo p]
where
dirOffset = abs (_crDir cr - argV (p -.- cpos))
Just p -> pure $ cr & crActionPlan . crAction .~ [PathTo p]
_ -> pure cr
where
cpos = _crPos cr
mvType = _crMvType cr
speed = _mvSpeed mvType
trad = _mvTurnRad mvType
jit = _mvTurnJit mvType
doStrategyActionsR
:: Creature