release-1.6.0
dnd5e 1.6.0
This release has been under development for quite some time but we're confident it will have been worth the wait. The flagship feature is what we're calling the 'Advancement' system, but there have been several other improvements and features included so be sure to check the full patch notes at the bottom.
COMPATIBILITY WARNING: The version 1.6.0
release for the system ONLY SUPPORTS Foundry Virtual Tabletop version 9 (release) and greater. To use this new game system version you must also use Foundry VTT version 9. If you do not wish to update your core software, please continue using a previous version of the dnd5e system.
Installation: To manually install this release, please use the following manifest URL: https://gitlab.com/foundrynet/dnd5e/-/releases/release-1.6.0/downloads/system.json
While many of us on the Foundry VTT team as well as those in the wider dnd5e system development community have contributed a great deal to the design, review, and implementation of the Advancement API, I feel it's necessary to give a special mention to Jeff 'Arbron' Hitchcock who took on the bulk of the implementation and worked tirelessly to drive the release forward.
Advancements
The Advancements system provides a new framework for leveling up player characters in the dnd5e system and managing the changes which result from gaining levels. This includes hit points, new features, and automatic scaling of certain class abilities. Moreover this system provides a framework for us to continue automating other aspects of the level-up process like proficiencies, backgrounds, and more.
Opting out
If you do not want any level-up automation in your games, there is a new option under system settings to 'Disable level-up automation'
. If you wish to disable this automation on a case-by-case basis, you can remove any advancements from the class, subclass, or background item that is about to be added to a given character.
Configuring advancements
Class, subclass, and background items now have an 'Advancement' tab that DMs can use to configure the advancements that will be granted to a character when they receive that item, or when they increase in levels.
Though the bulk of the work was concerned with building the underlying infrastructure for the Advancement system, this release does ship with three types of advancements ready to use: HitPoints
, ItemGrant
, and ScaleValue
, which are demonstrated in the above video.
We intend to continue building out the system and adding more advancement types in future releases, eventually encompassing the entirety of character advancement.
The existing SRD classes, subclasses and background have all been configured with these new advancements, and we'd encourage you to start adding them to any custom or homebrew ones you have.
Note: Class items embedded on existing characters will not have been updated, and will not contain any advancements. To make use of these advancements on existing characters, you will either need to manually update those class items on the character, or delete them and drop a fresh one from the SRD.
Character advancement
The previous level up prompt has been replaced with one that is generated by the advancements configured on a character's items. It will trigger whenever a character levels up, allowing them to make choices before finally committing the changes to their character.
Removing levels or modifying advancement choices will also appropriately modify the character.
Custom advancements
For module developers or content creators who wish to add new types of advancements, there is a wiki article explaining the more technical details.
User Guide
For a more in-depth walkthrough of the new Advancement system, @MaxPat931 has kindly contributed a comprehensive User Guide which can be found on the wiki.
New Item Types
This update introduces new Background and Subclass item types that can contain advancement options.
Background
This type will display in the Backgrounds section on the "Features" tab of a character sheet and accepts advancements, but contains no special functionality.
The "Acolyte"
background is included in the "Backgrounds (SRD)"
compendium along with its background feature.
Subclass
This type is displayed with its associated class. Ensure that the "Class Identifier"
field on the subclass matches the "Identifier"
field on the class. Spellcasting data set on a subclass will override any spellcasting set on the class it is associated with, so all the Arcane Trickster rogues out there are set.
Each of the SRD subclasses have been included in the "Subclasses (SRD)"
compendium.
Patch Notes
The full list of changes is included below:
Deprecations
Class features
Actor#getClassFeatures
and Actor#loadClassFeatures
are now deprecated. Code referencing them or CONFIG.DND5E.classFeatures
should be updated to make use of the new Advancement API instead.
The wiki contains an example of how to configure a custom class using the new API to achieve feature parity with the deprecated methods.
Resting hook
The restCompleted
hook has been moved under the dnd5e
namespace and the old hook name has been deprecated. Please update references to restCompleted
to dnd5e.restCompleted
instead.
⚠️ Breaking Changes
Spell components
As part of the work to localise spell component abbreviations [#1313], the 'concentration' and 'ritual' abbreviations were removed from the displayed components on the item sheet. These tags remain, unabbreviated, in their own blocks on the item sheet.
Additionally, the Spell Item's label
field has had a breaking change, new display-friendly labels are located at item.labels.components.all
.
Subclasses
The subclass
field of class
items has been removed in favour of the new subclass
item type.
Custom AC calculations
Due to a gap in the AC calculation API, some of our guidance around writing custom AC formulae, as well as our own examples, incorrectly made use of @attributes.ac.base
. This value is intended to store the result of the AC calculation and correspond to a creature's 'base AC' per the rules, and should not be used as part of the AC calculation itself.
Instead, two new values have been created: @attributes.ac.armor
, and @attributes.ac.dex
. ac.armor
is equal to the creature's equipped armour value (or 10
if they have no armour equipped), while ac.dex
is equal to the creature's dexterity modifier, appropriately capped by their equipped armour, or set to 0
when wearing heavy armour.
Custom formulae that intended to reference a character's armoured or unarmoured AC should make use of these new values instead. A migration is provided with this release that will automatically convert references to ac.base
with ac.armor
in custom AC formulae as well as Active Effects.
Compendium Content
New Compendia
- Tables (SRD) contains rollable tables available in the SRD
- Backgrounds (SRD) contains advancement enabled backgrounds from the SRD
- Subclasses (SRD) contains advancement enabled subclasses for each Class in the SRD
Related Issues
- Added Forgotten Adventures token packs 23-28.
- [#1038] Improvements to SRD Figurine items.
- [#1329] Resynced SRD Monsters' and Starter Heroes' spells with updated versions in the SRD Spells compendium.
- [#1411] Added Bit & Bridle, Saddles, and Saddlebags to SRD Items compendium.
- [#1418] Fixed False Life level scaling.
- [#1427] Fixed various broken content links.
- [#1446] Updated spell scrolls to include SRD errata.
- [#1450] Fixed Purify Food and Drink ritual tag, and Zone of Truth concentration tag.
- [#1460] Added madness roll tables.
- [#1488] Added Monk-specific Unarmed Strike that uses new scaling Martial Arts die.
Features
- [#506] Added Hit Dice as an option to item resource consumption.
- [#530] Added explicit class and subclass identifiers.
- [#563] Display weapon attack, to-hit, and saving throw DC on item sheets.
- [#760] Support temporary hit points for NPC actors.
- [#1059] Added background item type.
- [#1080] Added subclass item type.
- [#1094] Max character level is now configurable and no longer hard-coded.
- [#1197] Added Honor and Sanity optional ability scores and the ability to configure ability scores used by the system.
- [#1300] Added attunement field to tools.
- [#1311] Added max attunement slots to character data.
- [#1313] Added localisation for spell component abbreviations.
- [#1393] Added the ability for additional spell tags to be configured.
- [#1439] Added
ac.armor
andac.dex
computed AC values to fix hole in AC calculation API. - [#1484] Improved hook documentation.
Bug Fixes
- [#1040] Use spellcasting modifier as default modifier for spell scrolls.
- [#1093] Fixed creating a level 1 duplicate of a class if one was dropped onto a sheet where there was already a 20th level version of the same class.
- [#1345] Fixed broken Bardic Inspiration content links in several places.
- [#1374] Fixed the incorrect AC preview being shown for custom AC formulae that referenced
@attributes.ac.base
. - [#1392] Fixed ability check bonuses not being applied to tool checks that used a non-default ability.
- [#1412] Fixed the
rollMode
not being passed to the roll object as part of ad20Roll
. - [#1416] Fixed the real actor name being used instead of the token name in chat message flavour text when making certain rolls.
- [#1439] Fixed controls being visible on Active Effect sheets in contexts where they were not actually useable.
- [#1453] Various vehicle sheet fixes.
- [#1455] Fixed occasionally using incorrect default ability mod for skill checks.
- [#1457] Fixed rerolling a critical damage roll doubling the dice.
- [#1459] Fixed default ability mod inference for feature items.
- [#1462] Fixed use of incorrect non-deterministic expression error localisation string.
Contributors
Many thanks to the following contributors in particular:
- Calego
- Jeff 'Arbron' Hitchcock
- MaxPat931
- playest
- unsoluble
- Victor Farah
... as well as all those who submitted bug reports and issues.