diff options
author | Griffin Smith <root@gws.fyi> | 2019-11-30T03·59-0500 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-11-30T03·59-0500 |
commit | 8a1235c3dcf7fe69b2e2ea3eea326858d26d38b9 (patch) | |
tree | 398c6dce549602c9890fbded64e3bdf2646b2a1f /src/Xanthous/AI | |
parent | 7d8ce026a2acc5a4d208110750be188f0ce5591c (diff) |
Use menus for combat and picking up items
Refactor a bunch of stuff around to allow for polymorphically surfacing an EntityChar for all entities, and use this to write a generic `entityMenu` function, which generates a menu from the chars of a list of entities - and use that to fully implement (removing `undefined`) menus for both attacking and picking things up when there are multiple entities on the relevant tile.
Diffstat (limited to 'src/Xanthous/AI')
-rw-r--r-- | src/Xanthous/AI/Gormlak.hs | 4 | ||||
-rw-r--r-- | src/Xanthous/AI/Gormlak.hs-boot | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/Xanthous/AI/Gormlak.hs b/src/Xanthous/AI/Gormlak.hs index 268e33ad6caa..8b30bc2c9de0 100644 --- a/src/Xanthous/AI/Gormlak.hs +++ b/src/Xanthous/AI/Gormlak.hs @@ -24,8 +24,7 @@ import Xanthous.Entities.Creature import Xanthous.Entities.Character (Character) import qualified Xanthous.Entities.Character as Character import qualified Xanthous.Entities.RawTypes as Raw -import Xanthous.Entities (Entity(..), Brain(..), brainVia) -import Xanthous.Game.State (entities, GameState, entityIs) +import Xanthous.Game.State import Xanthous.Game.Lenses ( Collision(..), entityCollision, collisionAt , character, characterPosition @@ -99,3 +98,4 @@ instance Brain Creature where step = brainVia GormlakBrain instance Entity Creature where blocksVision _ = False description = view $ Creature.creatureType . Raw.description + entityChar = view $ Creature.creatureType . char diff --git a/src/Xanthous/AI/Gormlak.hs-boot b/src/Xanthous/AI/Gormlak.hs-boot index 391a8a807f8c..47e62f624905 100644 --- a/src/Xanthous/AI/Gormlak.hs-boot +++ b/src/Xanthous/AI/Gormlak.hs-boot @@ -1,7 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} module Xanthous.AI.Gormlak where -import Xanthous.Entities +import Xanthous.Game.State import Xanthous.Entities.Creature instance Entity Creature |