diff options
author | Griffin Smith <grfn@gws.fyi> | 2021-11-20T21·39-0500 |
---|---|---|
committer | grfn <grfn@gws.fyi> | 2021-11-20T21·49+0000 |
commit | 21c218542c4e602fb22b6b6fd529307ff3e8f457 (patch) | |
tree | 0e3a545014717d36f623eea56c96c99e3de16f8e | |
parent | ed0447ea0d246c576b66dc38910106831300ed82 (diff) |
fix(gs/xanthous): Check for reaching destination in AI r/3077
Because floating points, it's possible that a creature has reached their destination even if the *progress* to that destination is at 0 - if that happens, they should pick a new destination regardless. This fixes the issue where creatures would occasionally get "stuck" and never move after wandering around for a bit. Change-Id: I01a11ce4bd448c25a818c886825e4fad56dffe03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3885 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
-rw-r--r-- | users/grfn/xanthous/src/Xanthous/AI/Gormlak.hs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/users/grfn/xanthous/src/Xanthous/AI/Gormlak.hs b/users/grfn/xanthous/src/Xanthous/AI/Gormlak.hs index 59be5383de55..629798da3c52 100644 --- a/users/grfn/xanthous/src/Xanthous/AI/Gormlak.hs +++ b/users/grfn/xanthous/src/Xanthous/AI/Gormlak.hs @@ -87,6 +87,7 @@ stepGormlak ticks pe@(Positioned pos creature) = do else pure pe dest <- maybe (selectDestination pos creature) pure + . mfilter (\(Destination p _) -> p /= pos) $ creature ^. field @"_hippocampus" . destination let progress' = dest ^. destinationProgress |