Homebrew: Adventure

From 5etools Community Wiki
Jump to: navigation, search

framless
v1.1.0

🍺Building an adventure

An adventure is effectively very similar to a book, consisting of a table of contents (object "adventure") and the adventure's full text (object "adventureData")

An Example:

The _Meta is normally included in a full JSON, for this example it has been removed. See the link for how to develop the _meta.

	"adventure": [
		{
			"name": "Caverns of Catastrophe",
			"id": "Giddy-1",
			"source": "Giddy",
			"contents": [
				{
					"name": "The Adventure",
					"headers": [
						"Introduction",
						"Story Overview"
					]
				}
			],
			"level": {
				"start": 1,
				"end": 1
			},
			"published": "2018-07-05",
			"storyline": "The End"
		}
	],
	"adventureData": [
		{
			"id": "Giddy-1",
			"source": "Giddy",
			"data": [
				{
					"type": "section",
					"name": "The Adventure",
					"entries": [
						{
							"type": "entries",
							"name": "Introduction",
							"entries": [
								"Originally published in 1967, \"Caverns of Catastrophe\" tells the tale of a group of characters (or actors, as they were referred to at the time), falling victim to a tragic series of events. While unpopular in the era of it's publishing, it gained notoriety throughout subsequent decades for being one of the most brutally honest adventures ever written."
							]
						},
						{
							"type": "entries",
							"name": "Story Overview",
							"entries": [
								"Rocks fall, everyone dies."
							]
						}
					]
				}
			]
		}
	]
Learn More
In the example; <description_of_results/fields>

Field List (adventure)

If you do not include the required fields (denoted with bold text) the JSON may pass JSONLint but will fail upon stitch.

Field Name Data Type Description Required
name String Title True
id String The unique ID True
source String json (_meta's json value) True
alAveragePlayerLevel Integer The Adventurers League level of the adventure False
alLength Array of Objects The rated length of the Adventure False
alId String Adventure League's ID False
contents Array of Objects Adventure Titles True
level Array of Objects the level of the adventure True
published String (Date) Date of publication True
storyline Array of Strings Which RAW storyline it is part of (ie Eberron, Ravnica etc) True


Field List (adventureData)

Field Name Data Type Description Required
source String json (_meta's json value) True
id Integer descript True
data Array of Strings adventure text True



πŸ—„οΈ Reference Files:
πŸ›’οΈ Requirements Specs (Schemata)
[[ |🧾 Blank Template]]
πŸ“– Sample JSON
πŸ’Ύ Functional Example
πŸ“š Repository of Other Examples


Reference Tag: (how to link to entries within strings)
{@adventure <display_text> | <json_source> | <chapter_#>| <ChapterName> | <_#> })
The following tags can be used to link specific sections of adventures/books. Note that chapters and headers are indexed from zero.


Example:
{@adventure display text|CoS|2|Treasure|1}


Homebrew Support


Known Issues
Looks like its perfect... (Did we miss anything?)


FAQ
Nothing's here (Do you have any suggestions?)
Best Practices



Related Features



Did that answer your question(s)?

If not please check the under Support; Troubleshooting or the Known Issues page for further guidance, or go to the Discord community and leave a comment in the issues channel.

If you enjoy the project, please follow this link to see how you can contribute and help make it even better.