Inventory
The inventory system allow players to collect and spend items. There is also a UI for viewing the inventory.
How to use the inventory
This is how you create an inventory and items in narrat:
Possible items can be defined in the items.yaml config file.
categories:
- id: food
name: Food
- id: books
name: Books
items:
bread:
name: Bread
description: A bread in the game.
category: food
icon: img/items/bread.webp
onUse:
action: jump
label: eat_bread
book:
name: Ominous Book
description: An ominous book.
icon: img/items/book.webp
category: books
onUse:
action: run
label: read_book
tag: always_interactableThe location of items.yaml is set in config.yaml:
items: data/items.yamlThen items can be added/removed in scripts:
main:
add_item bread 15
remove_item bread 10
$if this.items.bread.amount > 0:
talk helper idle "You have %{items.bread.amount} bread"
else:
talk helper idle "You have no bread"Using items
Items can also be used, see guide below:
Categories
Items can be grouped into categories. Inventory categories are defined in the categories part of the config. Each category has an id and name property. All the categories will become tabs in the inventory ui, on top of the generic All category which shows all items.
Items that have no category will appear in the All category.
If a game has no categories defined, the inventory will have no tabs and all items will be shown directly in one place.

