Advancement Type Ability Score Improvement - foundryvtt/dnd5e GitHub Wiki

Up to date as of 4.2.0

The Ability Score Improvement allows a player to improve one or more their their ability scores, either a fixed amount or using a certain number of points, or to optionally take a feat when used on a class.

Configuration

Ability Score Improvement - Config Class

Creating an ability score improvement on a class is super easy, just create the advancement and set the appropriate level. The default settings for classes will set the points to 2 which will give the player 2 points to assign to any ability score that is below the maximum.

Ability Score Improvement - Config Species

A few more options might need to be configured when creating an ability score improvement on a species. The controls at the bottom will allow setting a fixed improvement for any one of the scores. Above that is the number of points that the player can assign. Locking an ability score prevents points being assigned to that score.

Some species might need to use the point cap, which limits how many points can be assigned to a single score. For example the legacy Half-Elf gets fixed 2 points to Charisma, and two more points that can be assigned, but only 1 per score. So they would have a Point Cap set to 1, Points set to 2, and Charisma set to 2.

Usage

Ability Score Improvement - Species Flow

The Ability Score Improvement will present the player with a list of all of their ability scores. The large numbers indicate the value of the score after the improvement is complete, with a smaller number beneath it showing how the score has changed. If there is a fixed or locked improvement then a lock symbol will display next to the change and they player won't be able to modify it using the controls. At the top is a indicator of how many points are left to spend, and how many can be spent per-ability.

Ability Score Improvement - Modern Class Flow

When not using the legacy rules, the Ability Score Improvement for classes will present a choice between selecting the Ability Score Improvement Feat or another feat of your choice. If the ASI feat is selected then the assignment interface show above will appear, otherwise a different feat can be chosen by dropping it onto the sheet.

Ability Score Improvement - Class Flow

When using the legacy rules, the player can drop a feat onto this section from a compendium to take it rather than improving their scores. When this happens the scores will be locked, though they can remove the feat to unlock them.

Allow Feats Setting

Since feats replacing ability score improvements is an optional rule when using the legacy rules, it can be disabled by a GM in the system settings screen and none of those controls will appear to players.

API

The original proposal for the Ability Score Improvement advancement is available on GitHub, but may not reflect the current state of the advancement.

Configuration Schema

The Hit Points advancement configuration contains a cap property, which is a number indicating the maximum number of points that can be allocated to a specific score.

The fixed object contains a mapping of ability scores and a number of points that will always be assigned to that ability.

The locked property is a set of abilities that cannot be modified by the ASI.

The points property is the number of points that can be assigned by the player.

{
  cap: 2,
  fixed: { dex: 1 },
  locked: ["con"],
  points: 3
}

Value Schema

The Hit Points advancement tracks the type of change made, either asi or feat.

When the asi type is selected, then the assignments object will contain a mapping of the abilities and how many points were given to that ability. This includes any fixed abilities as well as player-assigned ones.

When the feat type is selected, then the feat object will contain the locally created feat document ID and the original compendium UUID for the added feat.

{
  type: "asi",
  assignments: { dex: 1, str: 2, cha: 1 }
}

{
  type: "feat",
  assignments: {},
  feat: { "DPN2Gfk8yi1Z5wp7": "Compendium.dnd5e.classfeatures.3sYPftQKnbbVnHrh" }
}