about summary refs log tree commit diff
path: root/src/Xanthous/Prelude.hs
AgeCommit message (Collapse)AuthorFilesLines
2019-11-30 Fix an injectivity issue with saving the gameGriffin Smith1-0/+17
Fix an injectivity issue with JSON-encoding the entity map that was causing the game saving to not properly round-trip. As part of this, there's a refactor to the internals of the entity map to use sets instead of vectors, which should also get us a nice perf boost.
2019-11-29 Use menus for combat and picking up itemsGriffin Smith1-1/+5
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.
2019-09-02 Link up messages to the overall gameGriffin Smith1-1/+1
Add a "say" function for saying messages within an app monad to the user, and link everything up to display them and track their history
2019-09-01 Implement messagesGriffin Smith1-0/+2
Implement messages almost the same as in the Rust version, only with YAML instead of TOML this time, and a regular old mustache template instead of something handrolled. Besides that, pretty much everything here is the same.
2019-08-31 Add entities, and allow walking aroundGriffin Smith1-1/+4
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
2019-08-25 An @-sign in a box, in haskellGriffin Smith1-0/+10
Initial commit of a Haskell version of Xanthous, written using Brick and built with Nix. This is so much nicer and so much easier