diff options
Diffstat (limited to 'src/Xanthous/App.hs')
-rw-r--r-- | src/Xanthous/App.hs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/Xanthous/App.hs b/src/Xanthous/App.hs index b278eec2379f..6b1c2413c62e 100644 --- a/src/Xanthous/App.hs +++ b/src/Xanthous/App.hs @@ -49,7 +49,7 @@ import Xanthous.Entities.Environment (Door, open, locked, GroundMessage(..)) import Xanthous.Entities.RawTypes ( edible, eatMessage, hitpointsHealed - , wieldable + , wieldable, attackMessage ) import Xanthous.Generators import qualified Xanthous.Generators.CaveAutomata as CaveAutomata @@ -439,10 +439,17 @@ attackAt pos = say ["combat", "killed"] msgParams entities . at creatureID .= Nothing else do - -- TODO attack messages - say ["combat", "hit", "generic"] msgParams + msg <- uses character getAttackMessage + message msg msgParams entities . ix creatureID . positioned .= SomeEntity creature' stepGame -- TODO + getAttackMessage chr = + case chr ^? inventory . wielded . wieldedItems . wieldableItem of + Just wi -> + fromMaybe (Messages.lookup ["combat", "hit", "generic"]) + $ wi ^. attackMessage + Nothing -> + Messages.lookup ["combat", "hit", "fists"] entityMenu_ :: (Comonad w, Entity entity) @@ -462,7 +469,6 @@ entityMenuChar entity then ec else 'a' - -- entityMenu :: Entity entity => [entity] -> Map Char (MenuOption entity) -- entityMenu = map (map runIdentity) . entityMenu_ . fmap Identity |