[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. author = "who made the manifest for the game" contributors = [] # optional list of strings. year = "when it was made" version = "" # optional version string 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. 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? [items] # Required. item.examine = "message when the `item` is examined" # `item` can be any item id. item.hidden = false # optional, default. [recipes.recipeid] # Optional ingredients = ["itemid1", "itemid2", ...] # Required # -- result_id = "itemid" # Required result_text = "shorttext of the result item" # Required # OR result_ids = ["id1", "id2", ...] # Required result_texts = ["text1", "text2", ...] # Required; short texts of the items # -- text = "message when items get combined with this recipe" # Optional; default = "> You combined items." lock = "" # Optional; one of: item, room, interactable lock_target = "id" # Optional; of the lock above [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. 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. 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. message_failed = "> I don't seem to be able to do anything with that..." # Optional, default, message if the interaction fails message = "message after the interactable is activated" # Required. [rooms.id.exits] # Technically optional. direction = "id" # direction as it appears in the listing.