diff options
author | Griffin Smith <root@gws.fyi> | 2020-01-03T17·04-0500 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2020-01-03T17·04-0500 |
commit | 5c5aa14a3dcb5c172eaf8d2236b41020c8e92051 (patch) | |
tree | 2cb247aa5dae22203ca72c88718f8438f7c11379 /src/Xanthous/Game/State.hs | |
parent | 14997bc1a3501cb3b759dc6dff7a2604deb6648b (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/Game/State.hs')
-rw-r--r-- | src/Xanthous/Game/State.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Xanthous/Game/State.hs b/src/Xanthous/Game/State.hs index 0ba7b2744a80..853d0b6922d1 100644 --- a/src/Xanthous/Game/State.hs +++ b/src/Xanthous/Game/State.hs @@ -287,6 +287,8 @@ instance class Brain a where step :: Ticks -> Positioned a -> AppM (Positioned a) + entityCanMove :: a -> Bool + entityCanMove = const False newtype Brainless a = Brainless a @@ -429,6 +431,7 @@ instance Eq GameState where , gs ^. messageHistory , gs ^. sentWelcome , gs ^. activePanel + , gs ^. debugState ) -------------------------------------------------------------------------------- |