diff options
Diffstat (limited to 'src/Xanthous/Entities')
-rw-r--r-- | src/Xanthous/Entities/Character.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Xanthous/Entities/Character.hs b/src/Xanthous/Entities/Character.hs index 0bb5867ee5e1..84e653e6a09d 100644 --- a/src/Xanthous/Entities/Character.hs +++ b/src/Xanthous/Entities/Character.hs @@ -8,6 +8,7 @@ module Xanthous.Entities.Character , mkCharacter , pickUpItem , isDead + , damage ) where -------------------------------------------------------------------------------- import Xanthous.Prelude @@ -71,3 +72,7 @@ isDead = (== 0) . view characterHitpoints pickUpItem :: Item -> Character -> Character pickUpItem item = inventory %~ (item <|) +damage :: Word -> Character -> Character +damage amount = characterHitpoints %~ \case + n | n <= amount -> 0 + | otherwise -> n - amount |