setage/docs.toml

78 lines
3.6 KiB
TOML
Raw Normal View History

2024-05-22 19:16:13 -04:00
[metadata] # Required.
title = "title of the game"
description = "description of the game" # optional
min_version = "v0.4.0" # optional, highly recommended, minimum version of setage to play this manifest, "v" at the beginning is optional.
[metadata.credits] # Optional but highly recommended.
2024-05-21 04:59:26 -04:00
author = "who made the manifest for the game"
contributors = [] # optional list of strings.
2024-05-21 04:59:26 -04:00
year = "when it was made"
2024-05-21 16:37:12 -04:00
version = "" # optional version string
2024-05-21 04:59:26 -04:00
license = "license for this manifest"
[scenario] # Required.
start = "id" # room where the player starts. any valid room id.
intro = "intro to the game"
prompt = "> " # optional, default shown.
playtested = false # optional, default. displays a warning if this is set to false.
[scenario.endings.1] # Required.
2024-05-21 04:59:26 -04:00
trigger = "item" # one of "item", "room" ("interactable" in future releases).
target = "id of the trigger" # which item, room (or interactable) should trigger the win.
title = "title of the ending" # optional.
message = "message when this ending is triggered"
exit = false # optional, default; exit the game after triggering?
2024-05-21 04:59:26 -04:00
[items] # Required.
item.examine = "message when the `item` is examined" # `item` can be any item id.
item.hidden = false # optional, default.
2024-08-26 09:49:11 -04:00
[recipes.recipeid] # Optional
2024-08-23 05:18:57 -04:00
ingredients = ["itemid1", "itemid2", ...] # Required
2024-08-26 09:49:11 -04:00
# --
result_id = "itemid" # Required
2024-08-23 05:18:57 -04:00
result_text = "shorttext of the result item" # Required
2024-08-26 09:49:11 -04:00
# OR
result_ids = ["id1", "id2", ...] # Required
result_texts = ["text1", "text2", ...] # Required; short texts of the items
# --
2024-08-23 05:18:57 -04:00
text = "message when items get combined with this recipe" # Optional; default = "> You combined items."
2024-05-21 04:59:26 -04:00
[rooms.id] # Required, id can be any other room id.
description = "description of the room as it appears in the listing of exits from other rooms"
examine = "description of the room when you examine it"
go = "message when you `go` to this room"
[rooms.id.items] # Optional.
item = "description" # item can be any valid id. description is a short description as it appears in the room listing.
[rooms.id.interactables.id] # Optional. Any valid id.
name = "name of the interactable" # appears in the room listing.
2024-05-23 06:58:41 -04:00
type = "bare" # optional, default; options: "bare", "item check", "item take", "inputimes = "one" # optional, default; options: "one", "change", "remove", "many".
check = "id" # Required if type is not "bare", id of the item or input to check for.
prompt = "> " # Optional, for type `input` and `exact input`, prompt for the input.
2024-05-21 04:59:26 -04:00
hidden = false # optional, default.
action = "add exit" # any of "add exit", "add exits", "add item", "add items", "reveal interactable".
target_room = "id" # any valid room id; changes will be made to that room.
target_exit.name = "id" # Required if action is "add exit"; name of the exit as it appears in the room listing & id of the room it points to.
# Required if action is "add items"; pick one of the following two:
target_exits = [ # list of inline tables.
{name = "id"}, # similar to a regular exit decl.
]
target_exits.name = "id" # another way to do that.
target_item = {"id" = "description"} # Required if action is "add item"; any valid item id & short description as it appears in the room listing.
# Required if action is "add items"; pick one of the following two:
target_items = [ # list of inline tables.
{id = "description"}, # similar to a regular item decl.
]
target_items.id = "description" # another way to do that.
2024-05-23 06:58:41 -04:00
message_failed = "> I don't seem to be able to do anything with that..." # Optional, default, message if the interaction fails
2024-05-21 04:59:26 -04:00
message = "message after the interactable is activated" # Required.
[rooms.id.exits] # Technically optional.
direction = "id" # direction as it appears in the listing.