Homebrew: Optional Features

From 5etools Community Wiki
Jump to: navigation, search


๐ŸบBuilding optionalfeatures


Please Note the _Meta can be used to define additional optionalFeatureTypes

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.

	"optionalfeature": [
			"name": "Mark of Pain",
			"prerequisite": [
					"level": {
						"level": 5,
						"class": {
							"name": "Warlock"
			"entries": [
				"When you hit a creature with an attack, you can choose to mark that creature. The creature is marked by you until the start of your next turn. Whenever you take damage, each creature marked by you takes necrotic damage equal to the damage you took."
			"source": "json_in_meta",
			"featureType": "EI"
Learn More
In the example; <description_of_results/fields>

Field List (Sources)

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 The optional feature's title True
prerequisite Object False
entries Array of Strings action description True
previousVersion Object False
source String json (_meta's json value) True
page Integer page number within source False
featureType Object True
otherSources Object descript False
srd Boolean If the entry is in the SRD False

๐Ÿ—„๏ธ Reference Files:
๐Ÿ›ข๏ธ Requirements Specs (Schemata)
[[ |๐Ÿงพ Blank Template]]
๐Ÿ“– Sample JSON
๐Ÿ’พ Functional Example
๐Ÿ“š Repository of Other Examples

Reference Tag: (how to link to entries within the strings)
{@optfeature <optional_feature_name> |<json_source>|<optional_text_information>}

{@optfeature Aspect of the Moon|xge}
{@optfeature Aspect of the Moon|xge|and optional link text added with another pipe}

Homebrew Support

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

Nothing's here (Do you have any suggestions?)
Best Practices
None as yet (Do you have any suggestions?)

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.