feat(xanthous): Add a command to describe an item in the inventory
Add a new DescribeInventory command, bound to I, to prompt for an item in the inventory (anywhere in the inventory, including wielded) and display a (new) panel describing it in detail. This description includes the description, the long description, and the item's physical properties (volume, density, and weight). Change-Id: Idc1a05ab16b4514728d42aa6b520f93bea807c07 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3227 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
This commit is contained in:
parent
d8bd8e7eea
commit
f0c167d361
8 changed files with 139 additions and 31 deletions
|
|
@ -8,6 +8,7 @@ module Xanthous.Data.App
|
|||
import Xanthous.Prelude
|
||||
--------------------------------------------------------------------------------
|
||||
import Test.QuickCheck
|
||||
import Test.QuickCheck.Instances.Text ()
|
||||
import Data.Aeson (ToJSON, FromJSON)
|
||||
--------------------------------------------------------------------------------
|
||||
import Xanthous.Util.QuickCheck
|
||||
|
|
@ -15,8 +16,13 @@ import Xanthous.Util.QuickCheck
|
|||
|
||||
-- | Enum for "panels" displayed in the game's UI.
|
||||
data Panel
|
||||
= InventoryPanel -- ^ A panel displaying the character's inventory
|
||||
deriving stock (Show, Eq, Ord, Generic, Enum, Bounded)
|
||||
= -- | A panel displaying the character's inventory
|
||||
InventoryPanel
|
||||
| -- | A panel describing an item in the inventory in detail
|
||||
--
|
||||
-- The argument is the full description of the item
|
||||
ItemDescriptionPanel Text
|
||||
deriving stock (Show, Eq, Ord, Generic)
|
||||
deriving anyclass (NFData, CoArbitrary, Function, ToJSON, FromJSON)
|
||||
deriving Arbitrary via GenericArbitrary Panel
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue