about summary refs log tree commit diff
path: root/src/Xanthous/AI
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2020-01-03T17·04-0500
committerGriffin Smith <root@gws.fyi>2020-01-03T17·04-0500
commit5c5aa14a3dcb5c172eaf8d2236b41020c8e92051 (patch)
tree2cb247aa5dae22203ca72c88718f8438f7c11379 /src/Xanthous/AI
parent14997bc1a3501cb3b759dc6dff7a2604deb6648b (diff)
Don't render moving entities that aren't visible
When the character walks away from or around the corner from entities
that move such that they're no longer visible, stop rendering them.
Still render static entities like walls, doors, and items though. This
prevents entities walking into a "revealed position" after the
character's left being visible despite not being in a line of sight any
more.
Diffstat (limited to 'src/Xanthous/AI')
-rw-r--r--src/Xanthous/AI/Gormlak.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Xanthous/AI/Gormlak.hs b/src/Xanthous/AI/Gormlak.hs
index 8b30bc2c9de0..3e950f67f364 100644
--- a/src/Xanthous/AI/Gormlak.hs
+++ b/src/Xanthous/AI/Gormlak.hs
@@ -90,10 +90,13 @@ newtype GormlakBrain = GormlakBrain Creature
 
 instance Brain GormlakBrain where
   step ticks = fmap coerce . stepGormlak ticks . coerce
+  entityCanMove = const True
 
 --------------------------------------------------------------------------------
 
-instance Brain Creature where step = brainVia GormlakBrain
+instance Brain Creature where
+  step = brainVia GormlakBrain
+  entityCanMove = const True
 
 instance Entity Creature where
   blocksVision _ = False