Difference between revisions of "Homebrew: Feat"
(Restructure - still WIP) |
(Completed page - 90% of it is the prerequisites lol) |
||
Line 152: | Line 152: | ||
====Spell==== | ====Spell==== | ||
− | + | The knowledge of a spell. | |
− | + | "prerequisite": [ | |
+ | { | ||
+ | "spell": [ | ||
+ | "eldritch blast" | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | :*If the spell's source is not PHB, add it to the name followed by a | e.g. <code>"Absorb Elements|XGE"</code>. | ||
+ | :*If the name of the spell contains #c at the end, it will render as "Eldritch Blast cantrip". | ||
====Feature==== | ====Feature==== | ||
+ | Sometimes a feature is an advanced version of a previous one. | ||
+ | "prerequisite": [ | ||
+ | { | ||
+ | "feature": [ | ||
+ | "Alert" | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
====Item==== | ====Item==== | ||
+ | Mostly used for Artificer infusions. | ||
+ | "prerequisite": [ | ||
+ | { | ||
+ | "item": [ | ||
+ | "A suit of armor or a shield" | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
====Psionics==== | ====Psionics==== | ||
+ | The ability to cast psionic powers. | ||
+ | "prerequisite": [ | ||
+ | { | ||
+ | "psionics": true | ||
+ | } | ||
+ | ] | ||
====Proficiency==== | ====Proficiency==== | ||
− | + | Proficiency with different categories of weapons or armor. | |
+ | "prerequisite": [ | ||
+ | { | ||
+ | "proficiency": [ | ||
+ | { | ||
+ | "weapon": "martial" | ||
+ | }, | ||
+ | { | ||
+ | "armor": "heavy" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | :*For weapons, choose between <code>"simple"</code>, <code>"martial"</code> or the name of the weapon. | ||
+ | :*For armor, choose between <code>"light"</code>, <code>"medium"</code>, <code>"heavy"</code> or the name of the armor. | ||
====Other==== | ====Other==== | ||
− | + | 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." | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | :*<code>"entrySummary"</code> — used in short/list displays. | ||
Revision as of 10:50, 28 July 2020
A feat in 5eTools is a commonly used variant rule that happens every 4 levels granting a special feature and powers.
Contents
Building a feat
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.
"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.
More options
Make sure you are adding these blocks in the same level as the "name"
, "source"
, etc.
Ability score increase
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 } ]
Prerequisite
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.
Level
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.- To restrict by subclass, simply change
"class"
for"subclass"
Race
"prerequisite": [ { "race": [ { "name": "Elf", "subrace": "drow", "displayEntry": "Tel-quessir" } ] } ]
"name"
— the name of the race"subrace"
— optional, name of the subrace"displayEntry"
— optional long-form name to be used in the rendered entity.
Ability
Write the first 3 letters of the ability, followed by the minimum score.
"prerequisite": [ { "ability": [ { "dex": 13 } ] } ]
Spellcasting
The ability to cast at least one spell
"prerequisite": [ { "spellcasting": true } ]
Pact
Warlock pacts, like "Chain"
, "Tome"
, "Blade"
or "Talisman"
.
"prerequisite": [ { "pact": "Chain" } ]
Patron
Warlock patrons.
"prerequisite": [ { "patron": "The Archfey" } ]
Spell
The knowledge of a spell.
"prerequisite": [ { "spell": [ "eldritch blast" ] } ]
- If the spell's source is not PHB, add it to the name followed by a | e.g.
"Absorb Elements|XGE"
. - If the name of the spell contains #c at the end, it will render as "Eldritch Blast cantrip".
- If the spell's source is not PHB, add it to the name followed by a | e.g.
Feature
Sometimes a feature is an advanced version of a previous one.
"prerequisite": [ { "feature": [ "Alert" ] } ]
Item
Mostly used for Artificer infusions.
"prerequisite": [ { "item": [ "A suit of armor or a shield" ] } ]
Psionics
The ability to cast psionic powers.
"prerequisite": [ { "psionics": true } ]
Proficiency
Proficiency with different categories of weapons or armor.
"prerequisite": [ { "proficiency": [ { "weapon": "martial" }, { "armor": "heavy" } ] } ]
- For weapons, choose between
"simple"
,"martial"
or the name of the weapon. - For armor, choose between
"light"
,"medium"
,"heavy"
or the name of the armor.
- For weapons, choose between
Other
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.
Reference Tag
How to link to entries within the "entries":
{@feat <name_of_feat>|<json_source>|<optional_text>
- Example:
- {@feat Alert}
- {@feat Elven Accuracy|xge}
- {@feat Elven Accuracy|xge|and optional link text added}
- 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 | Feat's Title | True |
source | String | json (_meta's json value) | True |
additionalSources | Array of Strings | Ad | False |
page | Integer | page number within source | False |
entries | Array of Strings | action description | True |
ability | Array of Objects | descript | False |
srd | Boolean | Is it part of the SRD | False |
otherSources | Array of Objects | Listing of other sources this appears within | False |
- 🛢️ Requirements Specs (Schemata)
- [[ |🧾 Blank Template]]
- 📖 Sample JSON
- 💾 Functional Example
- 📚 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.