feat(gs/xanthous): Allow generating creatures with items

Add an `equippedItems` field to the CreatureType raw, which provides a
chance for generating that creature with an item equipped, which goes
into a new `inventory` field on the creature entity itself. Currently
the creature doesn't actually *use* this equipped item, but it's a step.

This commit also adds a broken-dagger equipped 90% of the time to the
"husk" creature.

Change-Id: I6416c0678ba7bc1b002c5ce6119f7dc97dd86437
This commit is contained in:
Griffin Smith 2021-11-24 17:10:47 -05:00 committed by grfn
parent bf4d8ab603
commit 4b11859d04
11 changed files with 164 additions and 97 deletions

View file

@ -6,7 +6,7 @@ module Xanthous.Entities.Character
( -- * Character datatype
Character(..)
, characterName
, inventory
, HasInventory(..)
, characterDamage
, characterHitpoints'
, characterHitpoints
@ -163,7 +163,7 @@ data Character = Character
deriving (ToJSON, FromJSON)
via WithOptions '[ FieldLabelModifier '[Drop 1] ]
Character
makeLenses ''Character
makeFieldsNoPrefix ''Character
characterHitpoints :: Character -> Hitpoints
characterHitpoints = views characterHitpoints' floor