Homebrew: Object
Objects, in 5eTools are devices and at times vehicles which don't fall within the normal confines of items, or weapons - they are usually siege weapons, but they can certainly be other things as well.
Contents
Building an object
As with any Homebrew item, make sure you have reviewed the _Meta section. If your file doesn't have it, it won't work.
Basic skeleton
To start, copy the following code block and fill the empty ""
values.
"object": [ { "name": "", "source": "", "page": 0, "size": "", "objectType": "", "ac": "", "hp": "", "immune": [ "" ], "entries": [ "" ] } ]
"name"
— the name of the feat."source"
— make sure it is the same as the"json"
key in the _meta."page"
— page of the document the hazard appears at (leave at 0 if not applicable)."size"
— the size of the object. Choose between"S"
small,"M"
medium,"L"
large,"H"
huge,"G"
gargantuan or"V"
varies."objectType"
— Choose between"SW"
siege weapon,"GEN"
generic,"U"
unknown."ac"
— The Armor Class of the object. Take note that the data type is a string, so you can be flexible with what you write here."hp"
— The Health Points of the object. Same thing as with the AC."immune"
— The types of damage the object is immune to. You can add any text you want by using the following
"immune": [ { "special": "Varies (see below)" } ]
"entries"
— consists of text strings ("") separated by commas.
More options
Make sure you are adding these blocks in the same level as the "name"
, "source"
, etc.
Ability Scores
Some objects can have ability scores on their own. Note that they are separate data, so not all of them need to be added.
"str": 14, "dex": 10, "int": 3, "wis": 3, "cha": 1,
Speed
You can write as a number
"speed": 20
Or be more specific with different speed types.
"speed": { "walk": 20, "fly": 15 }
Senses
"senses": [ "blindsight 30 ft. (blind beyond this radius)" ]
Damage Resistance and Vulnerability
"resist": [ "posion" ], "vulnerable": [ "fire" ]
Condition Immunity
"conditionImmune": [ "prone" ]
Action entries
"actionEntries": [ { "type": "actions", "name": "Bolt", "entries": [ { "type": "attack", "attackType": "RW", "attackEntries": [ "{@hit +6} to hit, range 120/480 ft., one target." ], "hitEntries": [ "16 ({@damage 3d10}) piercing damage." ] } ] } ]
Token Image
Use a direct link to the image.
"tokenUrl": "example.com/token.jpg", "hasToken": true
Reference Tag
How to link to entries within the string
{@object <object_name>|<json_source> | <optional_text_information>}
- Example:
- {@object Ballista|DMG}
- {@object Ballista|DMG|and optional link text added with another pipe}
- Example:
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 | descript | boolean |
source | String | json (_meta's json value) | True |
page | Integer | The Page number it apepars upon | False |
size | String | title | True |
type | String | Type of Object: Siege Weapon SW, Generic GEN, Unknown U |
True |
str | Integer | descript | False |
dex | Integer | descript | False |
con | Integer | descript | False |
int | Integer | descript | False |
wis | Integer | descript | False |
cha | Integer | descript | False |
ac | Strings | descript | True |
hp | Strings | descript | True |
speed | False | ||
senses | Array of Strings | descript | False |
immune | String | descript | True |
resist | String | descript | False |
vulnerable | String | descript | False |
entries | Array of Strings | Other Names | False |
actionEntries | Array of Strings | Other Names | False |
tokenURL | String | URL for the Token of the object | False |
srd | Boolean | If its part of the SRD | False |
- 🛢️ Requirements Specs (Schemata)
- [[ |🧾 Blank Template]]
- 📖 Sample JSON
- 💾 No Functional Examples currently exist
- 📚 Repository of Other Examples
Homebrew Support
- Looks like its perfect... (Did we miss anything?)
- Nothing's here (Do you have any suggestions?)
- 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.