To start, copy the following code block and fill the empty ""
values.
"feat": [
{
"name": "",
"source": "",
"entries": [
""
]
}
]
"name"
— the name of the feat."source"
— make sure it is the same as the "json"
key in the _meta."entries"
— consists of text strings (""
) separated by commas.Make sure you are adding these blocks in the same level as the "name"
, "source"
, etc.
You can define an ability score increase from the feat. Really useful for filtering purposes.
"ability": [
{
"cha": 1
}
]
You can also choose from a list of abilities.
"ability": [
{
"choose": {
"from": [
"str",
"cha"
],
"amount": 1
}
}
]
"amount"
— the quantity the ability score will increase."count"
— in case you want to give the option to choose more than one option (when not present, it defaults to 1).Weighted options are a possibility as well.
"ability": [
{
"choose": {
"weighted": {
"from": [
"str",
"dex",
"con"
],
"weights": [
1,
2
]
}
}
}
]
NOTE
Adding an"ability"
to a feat will a line to the text entry (or inside the list, if there's one) detailing the ability score increase. If you prefer this line to not appear, add the following line inside the code.
"ability": [
{
"hidden": true
}
]
Some features will have a requisite, something that the player needs to fulfill if they want to be able to pick the feat, such as being a member of a certain race or having a high ability score. This is a very flexible category, so it is divided in several blocks.
The simplest way to restrict by level is by Player Character level.
"prerequisite": [
{
"level": 10
}
]
It is also possible to restrict by class/subclass level
"prerequisite": [
{
"level": {
"level": 5,
"class":{
"name": "Fighter",
"source":"PHB",
"visible": true
}
}
}
]
"visible"
— Governs whether or not the class name is visible in the list display/prerequisite line. Not recommended for features which implicitly carry a class restriction, such as Eldritch Invocations."class"
for "subclass"
"prerequisite": [
{
"race": [
{
"name": "Elf",
"subrace": "drow",
"displayEntry": "Tel-quessir"
}
]
}
]
Write the first 3 letters of the ability, followed by the minimum score.
"prerequisite": [
{
"ability": [
{
"dex": 13
}
]
}
]
The ability to cast at least one spell.
"prerequisite": [
{
"spellcasting": true
}
]
Warlock pacts, like "Chain"
, "Tome"
, "Blade"
or "Talisman"
.
"prerequisite": [
{
"pact": "Chain"
}
]
Warlock patrons.
"prerequisite": [
{
"patron": "The Archfey"
}
]
The knowledge of a spell.
"prerequisite": [
{
"spell": [
"eldritch blast"
]
}
]
|
e.g. "Absorb Elements|XGE"
.#c
at the end, it will render as "Eldritch Blast cantrip"
.Sometimes a feature is an advanced version of a previous one.
"prerequisite": [
{
"feature": [
"Alert"
]
}
]
Mostly used for Artificer infusions.
"prerequisite": [
{
"item": [
"A suit of armor or a shield"
]
}
]
The ability to cast psionic powers.
"prerequisite": [
{
"psionics": true
}
]
Proficiency with different categories of weapons or armor.
"prerequisite": [
{
"proficiency": [
{
"weapon": "martial"
},
{
"armor": "heavy"
}
]
}
]
"simple"
, "martial"
or the name of the weapon."light"
, "medium"
, "heavy"
or the name of the armor.A free text prerequisite. Will render as "Special" in the table, with the text in the entry.
"prerequisite": [
{
"other": "Two eyes"
}
]
To have a specific test in the table, use this format:
"prerequisite": [
{
"otherSummary": {
"entry": "The full description",
"entrySummary": "Short desc."
}
}
]
"entrySummary"
— used in short/list displays.How to link to a Feat within strings:
{@feat <name_of_feat>|<json_source>|<optional_text>}
Example:
{@feat Alert}
{@feat Elven Accuracy|xge}
{@feat Elven Accuracy|xge|and optional link text added}