diff options
Diffstat (limited to 'src/Xanthous/App.hs')
-rw-r--r-- | src/Xanthous/App.hs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Xanthous/App.hs b/src/Xanthous/App.hs index 1632c39e586d..02f6f0987d7c 100644 --- a/src/Xanthous/App.hs +++ b/src/Xanthous/App.hs @@ -13,6 +13,7 @@ import Control.Monad.Random (MonadRandom) import Control.Monad.State.Class (modify) import Data.Aeson (object, ToJSON) import qualified Data.Aeson as A +import System.Exit -------------------------------------------------------------------------------- import Xanthous.Command import Xanthous.Data @@ -32,13 +33,12 @@ import Xanthous.Messages (message) import Xanthous.Util.Inflection (toSentence) -------------------------------------------------------------------------------- import qualified Xanthous.Entities.Character as Character -import Xanthous.Entities.Character (characterName) +import Xanthous.Entities.Character import Xanthous.Entities import Xanthous.Entities.Item (Item) import Xanthous.Entities.Creature (Creature) import qualified Xanthous.Entities.Creature as Creature import Xanthous.Entities.Environment (Door, open, locked) -import Xanthous.Entities.Character import Xanthous.Generators import qualified Xanthous.Generators.CaveAutomata as CaveAutomata -------------------------------------------------------------------------------- @@ -87,6 +87,11 @@ stepGame = do pEntity' <- step pEntity entities . ix eid .= pEntity' + whenM (uses (character . characterHitpoints) (== 0)) + . prompt_ @'Continue ["dead"] Uncancellable + . const . lift . liftIO + $ exitSuccess + -------------------------------------------------------------------------------- handleEvent :: BrickEvent Name () -> AppM (Next GameState) @@ -189,6 +194,8 @@ handlePromptEvent _ (Prompt _ SDirectionPrompt _ cb) continue handlePromptEvent _ (Prompt _ SDirectionPrompt _ _) _ = continue +handlePromptEvent _ (Prompt _ SContinue _ _) _ = continue + handlePromptEvent _ _ _ = undefined prompt |