dnd5e 2.1.0
This version of the dnd5e system for Foundry Virtual Tabletop includes a very long list of technical changes, improvements, bug fixes, and features. The most important change, from a technical standpoint, is the use of the core software's DataModel API for all Actor and Item data. This enables more robust validation for your data to help prevent you from inadvertently using bad or incorrect data in your worlds, and makes the process of migrating it easier and more seamless. A special mention once again for Jeff 'Arbron' Hitchcock, who contributed the bulk of the DataModel code to the system.
COMPATIBILITY WARNING: The version 2.1.0 release for the system ONLY SUPPORTS Foundry Virtual Tabletop version 10 (release) and greater. To use this new game system version you must also use Foundry VTT version 10. 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://github.com/foundryvtt/dnd5e/releases/download/release-2.1.0/system.json
Features
Though the largest changes were technical in nature, there were still plenty of features added in this version.
Group Actor
A new 'group' type actor has been added that can be used to represent a group of creatures as they travel together as part of a hexcrawl, a shared inventory of items, or just as a useful reference sheet for the whole party.
Class Summary Page
A new 'class' type journal page has been added which will show an automatically generated class advancement table based on a class and/or subclass' configured advancement data.
Initiative Rolls
Initiative rolls have been given a configuration menu to allow for special bonuses to initiative to be added. When rolling for initiative, players will now be prompted with a dialog similar to the ability check roll dialog, allowing them to input any situational modifiers, or allow them to roll with advantage or disadvantage.
HP Automation
A character's max HP can now be automatically calculated based on their hit point advancement data. Hit points have also been given a configuration menu, allowing you to override the calculated value, or apply a bonus hit point amount per level. New characters will have this automation enabled automatically, but existing characters will not be affected. In order to opt-into this automation on existing characters, open the HP configuration menu and delete the overridden value.
Transformation Options
Several new transformation options have been added when transforming one actor into another, including controls for active effect transference, and an 'appearance-only' transformation.
Patch Notes
The full list of changes is included below:
⚠️ Breaking Changes
DataModels
The DataModels in use in the dnd5e system offer much stricter validation. This has the unfortunate consequence of rendering some Actors or Items in existing worlds invalid, even though they might have been working fine before. We don't anticipate this will affect many worlds, only those with particularly old data but in order to prevent disruption, when your GM loads into their world for the first time in 2.1.0, if any validation errors are detected, the world will be marked as 'legacy', and switch to more permissive validation. New worlds, or worlds with no validation errors, will be able to make use of the stricter validation.
Note that in Foundry Virtual Tabletop version 11, this permissive validation mode will no longer be available, however version 11 will include better tools for locating and fixing validation errors in your worlds.
In order to accommodate changes introduced by the move to DataModels, the template data prepared by Actor and Item sheets has been adjusted. If you develop a module that relies on this data, be sure to check its new format and adjust your template code accordingly. Similarly, the return result of toObject(false) differs from what downstream module code may have been used to, no longer containing any derived properties that do not exist as part of the DataModel's schema. This is an area where we are considering making changes in the core software to address. For now, retrieving a full copy of an Actor or Item's derived data for mutation purposes, without affecting the original Actor or Item can be achieved by cloneing the Actor or Item in question.
Price Data
Price data for Items has changed from a single value to an object with value, and denomination properties.
Targeting Data
How targeting data is represented in the system's configuration variables has changed. DND5E.rangeTypes has been added. DND5E.areaTargetTypes has been converted to have object values instead of strings.
Deprecated Methods & Classes Removed
SelectItemsPromptCONFIG.DND5E.classFeatures- Non-namespaced
restCompletedhook (usednd5e.restCompleteinstead). Actor5e#addEmbeddedItemsActor5e#getClassFeaturesActor5e#loadClassFeatures
Compendium Content
- Added Forgotten Adventures token packs 37-41.
- A number of minor data adjustments to match the updated
DataModels and fix errors. - Extraneous derived data has been removed, significantly reducing the weight of the packs.
- Added new class summary journal page type capable of auto-generating its class summary table from advancement data.
- Added missing tables from the SRD5.1.
- Fixed the items and spells no longer being in alphabetical order.
Features
- [#1684] Allow access to count & dice size for single dice scale values.
- [#1316] Added an initiative configuration dialog and the ability to add situational modifiers and advantage or disadvantage when rolling initiative.
- [#1885] Centralised trait configuration, deprecating the old
TraitSelectorin favour of a new one, and adding a newTraitmodule to handle logic around actor traits. - [#1997] Added
dnd5e.preRollInitiativeanddnd5e.rollInitiativehooks. - [#1835] Implemented system
DataModels for Actors and Items. - [#866] Hit points calculation can now be fully automated and calculated based on a character's stored advancement. Migrated actors will not use this by default and must enable it by configuring their hit points and deleting the overridden value.
- [#1714] Allow use of roll data in NPC hit point formulae.
- [#1348] Feature Items now have a
typeandsubtypefield that can be configured. - [#1979] Added
attributes.spellmodto actor roll data. - [#1970] Added a context menu to items on the actor sheet.
- [#1857] Removed the
noneoption from various fields where it was redundant with the blank option. - [#1687] Improved conversion when switching between scale value types during scale value configuration.
- [#1686] Added a Challenge Rating scale value type.
- [#1505] Allow for customisation of dice sizes in scale value advancement.
- [#1716] Use
DataModelfor Advancement data. - [#1456] Rolling hit dice should now trigger scrolling text.
- [#1901] Attack rolls are now affected by the critical threshold of any consumed ammunition.
- [#1572] Removed unused
components.valuefrom spell Items. - [#1100] Added an 'appearance only' option when transforming Actors.
- [#1139] Added several options for configuring active effect transfer when transforming Actors.
- [#1391] Retain token display name and bar configurations when transforming Actors.
- [#1066] Propagate any triggering click event to
Item5e#use. - [#1629] Attempting to delete an item from an Actor's sheet now prompts for confirmation.
- [#1506] Add a copy button to copy scale value identifiers to clipboard.
- [#1559] Added some missing
titleand tooltips. - [#2003] Implement a system for dynamically attaching art provided by modules to Actors in compendium packs. See the wiki for details.
- [#1935] Add the
groupactor that can represent several Actors with a combined HP, travel speed, and a shared inventory.
Bug Fixes
- [#1839] Fix providing extra
partstoActor#rollAbilityexclusively using only thoseparts. - [#1985] Fix upcasting a spell not using the correct
@item.levelif included in its attack bonus. - [#1239] Fix displaying 'consume resource' checkbox when rolling an item with both charges and ammunition.
- [#1238] Fix actor biographies and item descriptions not evaluating inline rolls with the correct dat.
- [#1958] Allow spells to have a blank school.
- [#1891] Fix the armour configuration dialog including shield bonus when configuring a flat or natural armour calculation.
- [#1817] Fix shorthand
dXdice expressions not being appropriately doubled on criticals. - [#1680] Fix restoring a transformation resetting a token's elevation to 0.
- [#681] Fix apostrophes in image file names preventing them from displaying correctly in some contexts.
- [#1975] Fix error in base item determination preventing an item sheet from rendering.
- [#1934] Add
widthandheightattributes to SVG items provided with the system, allowing them to be rendered on the canvas. - [#1900] Fix enabling Honor or Sanity ability scores causing an error when opening any actor in a locked compendium.
- [#1578] Fix an error in
_getItemAdvancementunder certain circumstances. - [#1926] Fix an error when cancelling placement of a measured template from a chat card.
- [#1984] Fix attempting to use an item with a
pervalue prompting for the ability use dialog even ifhasLimitedUsesisfalse. - [#1930] Fix world packs not being migrated during system migration.
- [#1955] Fix deprecation warnings when rolling saving throws via a chat card.
- [#1977] Fix missing localisation for ammunition in the
AbilityUseDialog. - [#1919] Fix placing measured templates snapping to grid on gridless scenes.
- [#1806] Fix deltas not being accepted in certain number fields.
- [#1145] Fix chat buttons not working for the owner of the item if the item was rolled by a different user.
- [#1853] Fix item sheet size resetting after being resized.
- [#1882] Fix newly created character actors not having vision enabled by default.
- [#1911] Fix
Actor#getRollDatamutating class items. - [#1910] Fix class-subclass linking not using the computed identifier.
- [#1850] [#1851] Fix certain drop-downs on sheets showing HTML entities.
- [#1820] Fix deprecation warnings in
Actor5e#transformIntoandActor5e#revertOriginalForm. - [#1823] Fix reverting transformation on unlinked token actors.
- [#1825] Fix sight not being inherited from the transform target when transforming an actor.
- [#1807] Fix issue with defining custom advancement types.
- [#1880] Fix HP bars being rendered too large.
Contributors
Many thanks to the following contributors in particular:
- Chris Seieroe
- Clay Sweetser
- Jack Holloway
- Jeff 'Arbron' Hitchcock
- Kevin Winkler
- kjolern
- Liam Fallon
- Ross Gosling
- Seth Galucci
- Zhell
... as well as all those who submitted bug reports and issues.





