https://wiki.roll20.net/api.php?action=feedcontributions&user=5047&feedformat=atomRoll20 Wiki - User contributions [en]2024-03-28T20:11:17ZUser contributionsMediaWiki 1.20.3https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-28T00:57:24Z<p>5047: /* remove:repeating_ */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript" style="white-space: pre-wrap;"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
The removed:repeating_<groupname> function's eventinfo includes a special property removedInfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("remove:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedInfo);<br />
});<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-11T15:37:43Z<p>5047: /* remove:repeating_ */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript" style="white-space: pre-wrap;"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
The removed:repeating_<groupname> function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("remove:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-11T15:36:49Z<p>5047: /* remove:repeating_ */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript" style="white-space: pre-wrap;"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
The removed:repeating_<groupname> function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-11T15:36:08Z<p>5047: /* remove:repeating_ */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript" style="white-space: pre-wrap;"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-11T15:34:21Z<p>5047: /* removeRepeatingRow( RowID ) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:21:48Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre style="white-space: pre-wrap;"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:20:43Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:19:46Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<code><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</code><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:18:53Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre data-language="javascript"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<code><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</code><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:17:41Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre data-language="javascript"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:16:56Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre data-language="javascript"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the [https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 | API Objects Page].<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:16:30Z<p>5047: /* setDefaultToken(values) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
The list of token attributes that can be set by setDefaultToken are:<br />
<pre data-language="javascript"><br />
["bar1_value","bar1_max","bar2_value","bar2_max","bar3_value","bar3_max","aura1_square","aura1_radius","aura1_color","aura2_square","aura2_radius","aura2_color","tint_color","showname","showplayers_name","playersedit_name","showplayers_bar1","playersedit_bar1","showplayers_bar2","playersedit_bar2","showplayers_bar3","playersedit_bar3","showplayers_aura1","playersedit_aura1","showplayers_aura2","playersedit_aura2","light_radius","light_dimradius","light_angle","light_otherplayers","light_hassight","light_losangle","light_multiplier"]<br />
</pre><br />
For more information about this attributes and what they do, please see the the (https://wiki.roll20.net/API:Objects#Graphic_.28Token.2FMap.2FCard.2FEtc..29 | API Objects Page).<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T17:11:08Z<p>5047: /* Functions */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
====setDefaultToken(values)====<br />
<br />
A function that allows the sheet author to determine what attributes are set on character dropped from the compendium. When setting the default token after a compendium drop, this function can set any attributes on the default token to tie in important attributes specific to that character sheet, such as attr_hit_points.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("sheet:compendium-drop", function() {<br />
var default_attr = {};<br />
default_attr["width"] = 70;<br />
default_attr["height"] = 70;<br />
default_attr["bar1_value"] = 10;<br />
default_attr["bar1_max"] = 15;<br />
setDefaultToken(default_attr);<br />
});<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Sheet_Worker_ScriptsSheet Worker Scripts2017-08-08T16:55:55Z<p>5047: /* removeRepeatingRow( RowID ) */</p>
<hr />
<div>Sheet Worker Scripts are an advanced feature of the Character Sheets system which allows the sheet author to specify JavaScript which will execute during certain events, such as whenever the values on a sheet are modified.<br />
<br />
==Adding a Sheet Worker Script==<br />
<br />
To add a sheet worker script to a Character Sheet, simply add the script into the "HTML" section of the sheet using the following format:<br />
<br />
<pre data-language="javascript"><br />
<script type="text/worker"><br />
<br />
on("change:strength", function() {<br />
<br />
});<br />
<br />
// ... etc<br />
<br />
</script><br />
</pre><br />
<br />
Note that the script tag must have a type of "text/worker" to be properly handled by the system. When the game loads, all script tags are removed from the sheet's template for security purposes. However, script tags with a type of "text/worker" will be used to spin up a background worker on each player's computer that can respond to changing values in their sheets and take action as needed.<br />
<br />
==Sheet Workers vs. Auto-Calculating Fields: Which should I use?==<br />
<br />
There's no hard-and-fast rule about this. Both of these tools are capable of achieving the same thing. Let's take a hypothetical use-case of a "Strength" attribute, which we want to use to keep a "Strength Mod" attribute updated. Here would be the differences between the two tools for this use case:<br />
<br />
* The auto-calculating fields are all re-calculated every time a sheet is opened for the first time. The Sheet Worker fields, on the other hand, only recalculate when their dependent values change. This means that sheets utilizing the Sheet Worker option will be much, much faster for players to open and interact with.<br />
<br />
* In addition, the Sheet Worker calculations run on a background process, meaning that there is no user interface lag created while the calculations are run. Disabled fields, on the other hand, run on the main process and as such can cause "lockups" or "stuttering" if there are large numbers of them being calculated at once (for example, if you have a very complicated sheet using thousands of disabled fields).<br />
<br />
* The auto-calculating Strength Mod field would appear disabled to the player. A Strength Mod field that is updated by a Sheet Worker, on the other hand, would be modifiable after the calculation has run (although any value entered would be overwritten when the Strength value changes). So a Sheet Worker would better support homebrew rules since the player could simply modify the Mod value after Strength changes. On the other hand, the auto-calculating field would not allow such a change, so rules would be "enforced" more rigidly.<br />
<br />
<br />
'''In general, our recommendation is that you use auto-calculating fields sparingly.''' Give yourself a budget of 500 to 1,000 auto-calculating fields at most. We recommend using the new Sheet Worker functionality for most calculations, especially calculations which only need to be performed rarely (for example, your Strength value (and therefore your Strength Mod) probably only changes at most once per session when the character levels up. There's no need to re-run the same calculation over and over again every time the sheet is opened.<br />
<br />
==Sheet Worker API==<br />
<br />
===Events===<br />
<br />
====eventInfo Object====<br />
Many of the events are passed an <code>eventInfo</code> object that gives you additional detail about the circumstances of the event.<br />
<br />
{| class="wikitable"<br />
|- style="vertical-align:top;"<br />
!Property <br />
!Description<br />
|- style="vertical-align:top;"<br />
| <code>sourceAttribute</code> <br />
| The original attribute that triggered the event. It is the full name (including RowID if in a repeating section) of the attribute that originally triggered this event. <br />
<br />
'''Note''': The entire string will have been translated into lowercase and thus might not be suitable for being fed directly into getAttrs().<br />
|- style="vertical-align:top;"<br />
| <code>sourceType</code> <br />
| The agent that triggered the event, either <code>player</code> or <code>sheetworker</code><br />
|}<br />
<br />
<br />
====change:<attribute_name>====<br />
<br />
Allows you to listen to the changes of specific attributes, or in the case of a repeating section any changes in the entire section. It's very straightforward:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength change:StrengthMod change:StrengthOtherThing", function(eventInfo) {<br />
//Do something here<br />
});<br />
<br />
on("change:repeating_spells:spellname", function(eventInfo) {<br />
//Do something here<br />
// eventInfo.sourceAttribute is the full name (including repeating ID) of the attribute that originally triggered this event, <br />
// however the entire string will have been translated into lowercase and thus might not be suitable for being fed directly<br />
// into getAttrs() or other uses without being devandalized first.<br />
});<br />
<br />
on("change:repeating_spells", function(eventInfo) {<br />
//Would be triggered when any attribute in the repeating_spells section is changed<br />
// eventInfo.sourceAttribute is the full name (lowercased)(including repeating ID) of the attribute that originally triggered this event. <br />
});<br />
<br />
</pre><br />
<br />
'''Note: All attribute names are lowercased in events. So even if you normally refer to an attribute as "Strength", use "change:strength" in the event listener.'''<br />
<br />
Note: This supports the "_max" suffix in that ether "change:strength" or "change:strength_max" will fire an event, however these two variations seem to be interchangeable, in that ether or both will fire when ether "strength" or "strength_max" changes.<br />
<br />
For attributes in repeating fields, all of the following would be triggered when the "repeating_spells_SpellName" attribute is updated: "change:repeating_spells:spellname", "change:repeating_spells", "change:spellname", "change:spellname_max". This gives you maximum flexibility in choosing what "level" of change event you want to bind your function to.<br />
<br />
Sheetworkers can also listen for a change event of a special attribute that is modified whenever a repeating section is re-ordered. <br />
<pre data-language="javascript"><br />
on("change:_reporder_repeating_<sectionname>", function(eventInfo) {<br />
// Where <sectionname> above should be a repeating section name, such as skills or spells<br />
});<br />
</pre><br />
<br />
====remove:repeating_<groupname>====<br />
<br />
This is an event which will fire whenever a row is deleted from a repeating field section. You can also listen for a specific row to be deleted if you know its ID, such as on("remove:repeating_inventory:-ABC123")<br />
<br />
<pre data-language="javascript"><br />
<br />
on("remove:repeating_inventory", function(eventInfo) {<br />
//Fired whenever a row is removed from repeating_inventory<br />
// eventInfo.sourceAttribute is the full name (including ID) of the first attribute that triggered the event (you can use this to determined the ID of the row that was deleted)<br />
});<br />
<br />
</pre><br />
<br />
====sheet:opened====<br />
This event will fire the first time a sheet is opened by a player in a game session. Note that it will fire again the next game session, and it most likely will fire on multiple people's computers (each time a person opens the sheet). However, it should be useful for doing things like checking for needed sheet upgrades.<br />
<br />
<pre data-language="javascript"><br />
on('sheet:opened',function(){<br />
<br />
// Do something the first time the sheet is opened by a player in a session<br />
<br />
});<br />
</pre><br />
<br />
===Functions===<br />
<br />
====getAttrs(attributeNameArray, callback) {{Asynchronous}} ====<br />
<br />
The getAttrs function allows you to get the values of a set of attributes from the sheet. The "_max" suffix is supported, so <code>getAttrs( ["Strength", "Strength_max"], func)</code> will get both the current and max values of "Strength". Note that the function is asynchronous, which means that there is no guarantee that the order in which multiple getAttrs calls are made is the order in which the results will be returned. Rather, you pass a callback function which will be executed when the values have been calculated. The callback function receives a simple Javascript object with a list of key-value pairs, one for each attribute that you requested.<br />
<br />
Here's an example:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
//Do something with values.Strength and/or values[ "Level" ]<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Values in repeating sections require a little special handling. If the event that you are inside of is already inside of a repeating section, you can simply request the variable using its name prefaced by the repeating group name and you will receive the value in the same repeating section the event was triggered in. For example, if we have a repeating_spells section that has both SpellName, SpellLevel, and SpellDamage, then:<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs([<br />
"repeating_spells_SpellDamage",<br />
"repeating_spells_SpellName"<br />
], function(values) {<br />
//values.repeating_spells_SpellDamage and values.repeating_spells_SpellName will both be from the same repeating section row <br />
//that the SpellLevel that changed is in.<br />
});<br />
});<br />
<br />
</pre><br />
<br />
On the other hand, if you aren't currently in a repeating section, you can specifically request that value of a field in a repeating section row by specifying its ID manually:<br />
<br />
<pre data-language="javascript"><br />
<br />
getAttrs(["repeating_spells_-ABC123_SpellDamage"]...<br />
<br />
</pre><br />
You can also request the "_reporder_repeating_<sectionname>" attribute with getAttrs() to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order.<br />
<br />
====setAttrs(values,options,callback) {{Asynchronous}}====<br />
<br />
'''values''' -- This is an object whose properties are the names of attributes (without the attr_ prefix) and whose values are what you want to set that attribute to.<br />
<br />
'''options''' -- (Optional) This is an object that specifies optional behavior for the function. Currently the only option is "silent", which prevents propagation of change events from setting the supplied attributes.<br />
<br />
'''callback''' -- (Optional) This is a callback function which will be executed when the set attributes have been updated.<br />
<br />
The setAttrs function allows you to set the attributes of the character sheet. Use the "_max" suffix to set the max value of an attribute. For example "Strength_max". <br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:strength", function() {<br />
getAttrs(["Strength", "Level"], function(values) {<br />
setAttrs({<br />
StrengthMod: Math.floor(values.Strength / 2)<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
Note: If you are trying to update a disabled input field with this method you may run into trouble. One option is to use this `setAttrs` method to set a hidden input, then set the disabled input to the hidden element. In this example we have an attr named will, and we want to calculate judgement based off 1/2 of the will stat, but not to allow it to exceed 90. See below.<br />
<br />
<pre data-language="html"><br />
<label>Judgment</label><br />
<input type="hidden" name="attr_foo_judgment" value="0" /><br />
<input type="number" name="attr_judgment" value="@{foo_judgment}" disabled="true" title="1/2 of will rounded down, 90 max" /><br />
</pre><br />
<br />
<pre data-language="javascript"><br />
on("change:will", function() {<br />
getAttrs(["will"], function(values) {<br />
setAttrs({ foo_judgment: Math.min(90, (values.will/2)) });<br />
});<br />
});<br />
</pre><br />
<br />
Note that although the setAttrs is an asynchronous function and there is no guarantee to which order the actual attributes will be set for multiple setAttrs() calls.<br />
<br />
For repeating sections, you have the option of using the simple variable name if the original event is in a repeating section, or you can specify the full repeating section variable name including ID in any event.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_spells:spelllevel", function() {<br />
getAttrs(["repeating_spells_SpellLevel", "repeating_spells_SpellName"], function(values) {<br />
setAttrs({<br />
repeating_spells_SpellDamage: Math.floor(values.repeating_spells_SpellLevel / 2) + 10<br />
});<br />
});<br />
});<br />
<br />
</pre><br />
<br />
====getSectionIDs(section_name,callback) {{Asynchronous}} ====<br />
<br />
This function allows you to get a list of the IDs which currently exist for a given repeating section. This is useful for calculating things such as inventory where there may be a variable number of rows.<br />
<br />
<pre data-language="javascript"><br />
<br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventory", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
//Do something with the IDs<br />
}<br />
});<br />
});<br />
<br />
</pre><br />
Note that you may use GetAttrs() (described above) to request the "_reporder_repeating_<sectionname>" attribute to get a list of all the IDs in the section that have been ordered. However note that this may not include the full listing of all IDs in a section. Any IDs not in the list that are in the section are assumed to come after the ordered IDs in lexographic order. <br><br />
Which is to say that getSectionIDs() will get all IDs - but not in the order that they are displayed to the user. getAttrs( "_reporder_repeating_<sectionname>", ... ) will return a list of all IDs that have been moved out of their normal lexographic order. You can use the following function as a replacement for getSectionIDs to get the IDs in the order that they are displayed in instead.<br />
<br />
<pre data-language="javascript"><br />
var getSectionIDsOrdered = function (sectionName, callback) {<br />
'use strict';<br />
getAttrs([`_reporder_${sectionName}`], function (v) {<br />
getSectionIDs(sectionName, function (idArray) {<br />
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],<br />
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];<br />
callback(ids);<br />
});<br />
});<br />
};<br />
</pre><br />
<br />
====generateRowID()====<br />
<br />
A synchronous function which immediately returns a new random ID which you can use to create a new repeating section row. If you use setAttrs() and pass in the ID of a repeating section row that doesn't exist, one will be created with that ID.<br />
<br />
Here's an example you can use to create a new row in a repeating section:<br />
<br />
<pre data-language="javascript"><br />
<br />
var newrowid = generateRowID();<br />
var newrowattrs = {};<br />
newrowattrs["repeating_inventory_" + newrowid + "_weight"] = "testnewrow";<br />
setAttrs(newrowattrs);<br />
<br />
</pre><br />
<br />
====removeRepeatingRow( RowID )====<br />
A synchronous function which will immediately remove all the attributes associated with a given RowID and then remove the row from the character sheet. The RowID should be of the format "repeating_<sectionname>_<rowid>". For example, "repeating_skills_-KbjuRmBRiJNeAJBJeh2".<br />
<br />
Here is an example of clearing out a summary list when the original list changes:<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function() {<br />
getSectionIDs("repeating_inventorysummary", function(idarray) {<br />
for(var i=0; i < idarray.length; i++) {<br />
removeRepeatingRow("repeating_inventorysummary_" + idarray[i]);<br />
}<br />
});<br />
});<br />
</pre><br />
<br />
The removedRepeatingRow function's eventinfo includes a special property removedinfo that displays all of the attributes of the now removed repeating section.<br />
<pre data-language="javascript"><br />
on("change:repeating_inventory", function(eventinfo) {<br />
console.log(eventinfo.removedinfo);<br />
});<br />
</pre><br />
<br />
====getTranslationByKey([key])====<br />
<br />
A synchronous function which immediately returns the translation string related to the given key. If no key exists, false will be returned and a message in the console will be thrown which list the specific key that was not found in the translation JSON.<br />
<br />
Here's an example you can use to fetch a translation string from the translation JSON:<br />
With the following translation JSON<br />
<pre data-language="javascript"><br />
{<br />
"str": "Strength",<br />
"dex": "Dexterity"<br />
}<br />
</pre><br />
<br />
<pre data-language="javascript"><br />
<br />
var strTranslation = getTranslationByKey('str'); // "Strength"<br />
var dexTranslation = getTranslationByKey('dex'); // "Dexterity"<br />
var intTranslation = getTranslationByKey('int'); // false<br />
<br />
</pre><br />
<br />
====getTranslationLanguage()====<br />
<br />
A synchronous function which immediately returns the 2-character language code for the user's selected language.<br />
<br />
Here's an example you can use to fetch the translation language:<br />
<br />
<pre data-language="javascript"><br />
<br />
var translationLang = getTranslationByKey(); // "en" , for an account using English<br />
<br />
</pre><br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/Video_and_Voice_Chat/TroubleshootingVideo and Voice Chat/Troubleshooting2017-01-12T19:35:41Z<p>5047: /* How is WebRTC different from Discord, Google Hangouts, Skype, etc? */</p>
<hr />
<div>{{mbox | text = Update 1-11-2017: This page is currently being revamped}}<br />
<br />
=WebRTC Basics=<br />
==What is Roll20 WebRTC?==<br />
We at Roll20 believe that seeing and talking to your friends while you play is a vital part of the tabletop experience. WebRTC is a browser based VOIP option, allowing video and voice chat to be integrated into Roll20 without requiring you to download a 3rd party program or installing an add-on or plugin. While no other Virtual Table Top provides integrated video and voice chat, Roll20 is dedicated to offering it as a free feature. WebRTC's peer-to-peer nature allows us to provide that service as well as giving us the freedom to design advanced features, such as whispering, pop-out and adjustable videos, and more.<br />
<br />
==How is WebRTC different from Discord, Google Hangouts, Skype, etc?==<br />
WebRCT is a HTML5 technology that runs video and voice through a web browser without the need of a java applet. Applications like Skype or Discord aren't browser-based and therefore have access to hardware acceleration and data compression that Roll20 cannot take advantage of. Those applications use a ''Client/Server'' or ''All-to-One-to-All'' connection rather than a ''Peer-to-Peer'' connection. With an "All-to-One-to-All" connection, applications like Skype send your video/voice data one time to their server which then carries that load of data to each of the other people in the call. With "Peer-to-Peer", you are sending your video/voice data again to each peer connection in the call. This means that the upload bandwidth cost for a WebRTC call is higher than other VOIP options in anything more than a two person call. This higher upload bandwidth cost can result in stability problems for users with low upload bandwidth connections.<br />
<br />
==Roll20 WebRTC's Requirements==<br />
Roll20 WebRTC can only be used in web browsers that natively support it. Roll20's officially supported browsers Chrome and Firefox are both compatible. A Roll20 WebRTC call has a suggested download and upload bandwidth of 512Kbps per additional user in the chat. That means that in a six person call (five users other than yourself), you would need around 2.5Mbps of bandwidth for a stable call. If your group has members whose connections cannot support these requirements we suggest using a 3rd party, non-browser based chat option, that can make use of both hardware acceleration and data-compression to lower bandwidth requirements.<br />
<br />
=Roll20 Settings=<br />
[[File:Video_and_Voice_Performance_Settings.jpg|right|framed|The Video & Voice Performance Settings on the Settings Tab of the VTT]]<br />
Inside the Roll20 App, click on the '''Settings''' tab (gear icon), in the upper right hand corner of the screen. Under the Settings tab are different options that affects how WebRTC performs within a game.<br />
<br />
<br />
Under the ''Video + Voice'' options make sure you've set '''Broadcast''' and '''Receive''' to your game's prefered choices (Video & Voice, Voice only, Video only). If there is more than one person currently in the game, individual changes made to either Broadcast or Receive require clicking on the '''Reconnect''' button in order for the changes to adhere for anyone else currently in the game.<br />
<br />
<br />
For the GM, further down the '''Settings''' tab, under the "Game Settings" section, are "Video + Audio Chat Options". The GM should double check that the '''Chat Tech''' setting is not set to ''None''.<br />
<br />
<br />
Also in the "Video + Audio Chat Options" section, the GM can adjust the Video Bandwidth for the game. The setting can be set to '''High''', '''Medium''', '''Low''', or '''Very Low'''. If one or more of your fellow players has a slower connection speed, you may want to set this to the lower Bandwidth settings to help with performance.<br />
:'''High:'''<br />
:'''Medium:''' 512Kbps Up and Down per User in the Call<br />
:'''Low:'''<br />
:'''Very Low:'''<br />
<p style="clear:both;"></p><br />
<br />
=Firefox & Chrome Settings=<br />
At present, Roll20 only fully supports Firefox and Chrome web browsers for our VTT. Other browsers may be able to handle WebRTC with little to no issues, but we can't devote reliable tech support for them if you do run into any issues.<br />
<br />
==Keeping your Browser Up to Date==<br />
It's generally a good idea to keep your browser updated to take advantage of browser bug fixes and optimization measures.<br />
<br />
===Updating Chrome===<br />
#Click on the ''More Button'' (vertical row of three dots icon) in the upper right hand corner. <br />
#Click on the ''Help'' option from the resulting drop down menu. <br />
#Click on ''About Google Chrome'' option from the secondary drop down menu that appears.<br />
<br />
<br />
'''OR'''<br />
<br />
#Paste <code>chrome://help/</code> into the URL bar and hit Enter.<br />
<br />
<br />
Either method will open Chrome's "About" page that will inform you of your current browser version and will automatically prompt you to update to the latest stable version if you're not using it.<br />
<br />
===Updating Firefox===<br />
#Click on the ''Menu Button'' (three horizontal lines icon) in the upper right hand corner. <br />
#Click on '''?''' icon at the bottom of the drop down menu. <br />
#Click on ''About Firefox'' from the resulting roll out menu.<br />
#Firefox will tell you your current browser version and automatically prompt an update to the latest stable version if you're not using it. Click the ''Restart to Update button'' if necessary.<br />
<br />
<br />
==Microphone and Camera Browser Permissions==<br />
To protect your privacy, microphone and webcamera permissions are disabled from use on Chrome and Firefox by default. If this is the first time you've used Roll20, recently cleaned out your browser cookies/cache, or working from a fresh install of your browser, you'll need to approve the Roll20 website's use of your camera and microphone for them to be used for broadcasting either video or voice within a game.<br />
<br />
===Enabling Chrome Permissions===<br />
[[File:Chrome_Allow_Deny.png|top]] [[File:Avt.png|framed|"Chrome AV Select"|right]]<br />
<br/><br />
<br />
#When the VTT loads for the first time, you should be asked to ''Allow'' or ''Deny'' camera and microphone access from a grey bar pop-up that appears at the top of the screen. <br />
#Click ''Allow'' to enable your camera and microphone to be used within a Roll20 game.<br />
<br />
<br />
'''OR'''<br />
<br />
<br />
#Click on the ''lock'' icon in the far left of the URL/search bar to reveal a drop down menu.<br />
#Ensure that both Camera and Microphone options have their permissions set to "Always allow on this site". ''Make sure you're currently on Roll20.net when you set this, this setting is URL sensitive.''<br />
<br />
<p style="clear:both;"></p><br />
===Enabling Firefox Permissions===<br />
[[File:Firefox_Allow_Deny.png|framed|"Firefox AV Select"]]<br />
#When the VTT loads for the first time, you'll be asked to 'Share Selected Devices' from a drop down menu in the upper left hand corner of the screen.<br />
#If not, click on the ''Camera'' icon in the upper left hand corner next to the ''Back'' button.<br />
#Be sure to select the correct Camera and Microphone to share before clicking the ''Share Selected Devices'' button.<br />
<br />
<p style="clear:both;"></p><br />
==Clear your Web Browser's Cache==<br />
===Clearing Out Chrome's Cache===<br />
#Click on the ''Menu Button'' (three horizontal lines) in the upper right hand corner. <br />
#Click on ''More Tools'' from the dropdown.<br />
#Click on ''Clear browsing data'' from the new options.<br />
#From the drop down "Obliterate the following items from:" select ''the beginning of time'' option.<br />
#Check both ''Cookies and other site and plug-in data'' and ''Cached images and files''.<br />
#Click on ''Clear browsing data'' button.<br />
<br />
===Clearing Out Firefox's Cache===<br />
#Click on the ''Menu Button'' (three horizontal lines) in the upper right hand corner. <br />
#Click the ''Options Button' (a small gear) from the drop down menu.<br />
#On the ''Advanced'' tab, select the ''Network'' sub-tab.<br />
#Under the ''Cached Web Content'' section, select the ''Clear Now'' button.<br />
<br />
<br />
=Device and Bandwidth Tests=<br />
<br />
==Webcam WebRTC Compatibility Test==<br />
*Check to see if your camera works with [https://apprtc.appspot.com Google’s WebRTC demo]. <br />
*Go to: https://apprtc.appspot.com<br />
<br />
<br />
Alternatively is to run a test of your webcam and mic through [https://appear.in/ appear.in]. This website is also a Peer-to-Peer WebRTC service that can have up to eight users in a conference call. You can test your entire gaming group in one pass.<br />
<br />
<br />
==Perform a WebCam/Microphone Test==<br />
*Check if your camera works with a different browser. For instance, if you are using Firefox check if it works with Chrome instead.<br />
*Does the camera work with any other software that uses the camera such as Skype or Photobooth.<br />
<br />
<br />
==Perform a Bandwidth Test==<br />
If you don’t already know them, you can take a bandwidth speed test from [http://www.speedtest.net/ OOKLA’s Browser-based Speedtest] (''Note: Adobe Flash is required to run the applet''). You will want to run this test in the principle environment you normally play your games on Roll20 and have a Roll20 game currently open.<br />
<br />
#Once the applet loads on the home page, click the button "''Begin Test''".<br />
#Allow the test to run. This process can take a couple minutes to complete.<br />
#Once it's finished, Speedtest will give you your download and upload rate in megabits per second (Mbps).<br />
<br />
<br />
=Filing a Report on the Bug Forum=<br />
If none of the above tests and steps helped resolve your issues please follow Steps 1-3 from the [https://wiki.roll20.net/Solving_Technical_Issues Solving Technical Issues Guide], taking special care to temporarily disable all browser add-ons and extensions, temporarily pause your anti-virus (or whitelist Roll20.net), and try switching browsers (for Chrome/Firefox specific issues) to see if one of those components is causing the problem. If all of that fails, please follow [https://wiki.roll20.net/Solving_Technical_Issues#Step_4:_Provide_a_bug_report Step 4] and file a bug report on the [https://app.roll20.net/forum/post/4365015/webrtc-video-and-voice-chat-issues WebRTC Video and Voice Chat Issues forum thread]. Please provide all of the information you gathered from Steps 1-4 of the Solving Technical Issues Guide as well as the following information:<br />
<br />
==WebRTC Connectivity Diagnostic Test==<br />
Additionally, we recommend that you try to run this [https://test.webrtc.org/ WebRTC Connectivity Diagnostic Test] and supply its test result in your report.<br /><br />
Once there:<br />
#Click on the Start button.<br />
#Allow the test to run itself through the various subtasks (Microphone, Camera, Network, Connectivity, and lastly Throughput).<br />
#If the test runs into any issues, click on the bug icon at the top, this brings up a new window to create a bug report.<br />
#Describe what issues you had with the diagnostic test and then click on “Upload Report”<br />
#This will pull up a new window that provides a link to the report (“The ''link'' to the report is now available”). This link will be available for the next 90 days. Copy the link and paste it here in this thread.<br />
<br />
<br />
==In-Game Bandwidth Settings==<br />
Let us know what your average Download and Upload speeds from the above [[Audio_Visual_Troubleshooting#Perform_a_Bandwidth_Test|Bandwidth Test]] as well as the "Video Bandwidth" setting (High, Medium, Low, or Very Low) under the '''Video + Voice''' section of the '''Settings''' tab within your Roll20 game.<br />
<br />
[[Category:Docs]]</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-08-22T18:38:33Z<p>5047: /* Advanced Use */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: copper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-npc_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
charisma<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
charisma_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
charisma_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
arcana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuasion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code><br />
<br />
===Custom AC Items===<br />
You can add pieces to your inventory and manually give them AC or magic bonuses that will figure into their calculations automatically. Inside the item options is a section for "MODS:". Add <code>Ac +1</code> to add an armor class bonus.<br />
<br />
===Magic Missile Spell===<br />
[[File:magic_missile_example.png|right]]<br />
The Roll20 Compendium entry for the [https://roll20.net/compendium/dnd5e/Magic%20Missile#h-Magic%20Missile Magic Missile] spell uses the damage of 3d4+3 as its base. This damage output includes all three magic missiles generated at 1st level. This decision was made so that Magic Missile functions the same as all other spells, where you only have to roll the spell a single time to see the output of its damage, rather than three times (once for each missile). If you need to determine the order of damage per missile, you can hover over the damage output in the chat pane to see what each dice rolled and in what order. This is true for the damage output as well as Higher Casting damage.<br />
<br />
If you would like the Magic Missile spell set up to roll only 1d4+1 per roll, you can set up a version of the Magic Missile spell that has a DAMAGE section of 1d4 + 1 and no HIGHER LVL CAST DMG or AT HIGHER LEVELS data.<br />
<br />
===Automatic Ammunition Tracking===<br />
* Install the 5th Edition OGL by Roll20 Companion API Script from the API page under Game Settings. <br />
* Add a blank item slot by clicking on the + icon in the Equipment section. Drag the missile weapon (Longbow) from the compendium onto the blank item section you just made.<br />
* Add a blank item slot by clicking on the + icon in the Equipment section. Drag the missile type (Arrows) from the compendium onto the blank item section you just made.<br />
* Expand the missile type (Arrows) by clicking on the "I" information icon that appears when hovering the mouse over the item.<br />
* Select the USE AS RESOURCE checkbox.<br />
* On the Settings (Gear Icon) tab under GENERAL OPTIONS select the AMMO TRACKING feature to ON.<br />
* On the CORE tab, expand the missile weapon (Long Bow) in the ATTACKS & SPELLCASTING section by clicking on the gear icon that appears when hovering over the attack.<br />
* In the AMMUNITION section put the exact name of the ammunition resource (Arrows)<br />
* Now, any time the missile weapon (Longbow) is rolled, a piece of ammunition will automatically be spent and the chat will make note. Additionally after the first time the missile weapon is used the AMMUNITION section will update with the ID of the resource repeating section, this is normal and expected.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-08-15T20:28:36Z<p>5047: /* Magic Missile Spell */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: copper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-npc_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
charisma<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
charisma_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
charisma_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
arcana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuasion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code><br />
<br />
===Custom AC Items===<br />
You can add pieces to your inventory and manually give them AC or magic bonuses that will figure into their calculations automatically. Inside the item options is a section for "MODS:". Add <code>Ac +1</code> to add an armor class bonus.<br />
<br />
===Magic Missile Spell===<br />
[[File:magic_missile_example.png|right]]<br />
The Roll20 Compendium entry for the [https://roll20.net/compendium/dnd5e/Magic%20Missile#h-Magic%20Missile Magic Missile] spell uses the damage of 3d4+3 as it's base. This damage output includes all three magic missiles generated at 1st level. This decision was made so that Magic Missile functions the same as all other spells, where you only have to roll the spell a single time to see the output of it's damage, rather than three times (once for each missile). If you need to determine the order of damage per missile, you can hover over the damage output in the chat pane to see what each dice rolled and in what order. This is true for the damage output as well as Higher Casting damage.<br />
<br />
If you would like the Magic Missile spell set up to roll only 1d4+1 per roll, you can set up a version of the Magic Missile spell that has a DAMAGE section of 1d4 + 1 and no HIGHER LVL CAST DMG or AT HIGHER LEVELS data.</div>5047https://wiki.roll20.net/File:Magic_missile_example.pngFile:Magic missile example.png2016-08-15T20:27:51Z<p>5047: </p>
<hr />
<div></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-08-15T20:27:11Z<p>5047: /* Advanced Use */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: copper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-npc_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
charisma<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
charisma_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
charisma_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
arcana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuasion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code><br />
<br />
===Custom AC Items===<br />
You can add pieces to your inventory and manually give them AC or magic bonuses that will figure into their calculations automatically. Inside the item options is a section for "MODS:". Add <code>Ac +1</code> to add an armor class bonus.<br />
<br />
===Magic Missile Spell===<br />
The Roll20 Compendium entry for the [https://roll20.net/compendium/dnd5e/Magic%20Missile#h-Magic%20Missile Magic Missile] spell uses the damage of 3d4+3 as it's base. This damage output includes all three magic missiles generated at 1st level. This decision was made so that Magic Missile functions the same as all other spells, where you only have to roll the spell a single time to see the output of it's damage, rather than three times (once for each missile). If you need to determine the order of damage per missile, you can hover over the damage output in the chat pane to see what each dice rolled and in what order. This is true for the damage output as well as Higher Casting damage.<br />
<br />
If you would like the Magic Missile spell set up to roll only 1d4+1 per roll, you can set up a version of the Magic Missile spell that has a DAMAGE section of 1d4 + 1 and no HIGHER LVL CAST DMG or AT HIGHER LEVELS data.</div>5047https://wiki.roll20.net/Dynamic_Lighting_ExamplesDynamic Lighting Examples2016-06-13T22:57:10Z<p>5047: /* Darkvision */</p>
<hr />
<div>{{plus only}}<br />
<br />
[[File:Edit_Token_Advanced.PNG|right|Edit Token Advanced Pane]]<br />
[[Dynamic Lighting]] is an advanced map lighting tool currently available to '''Pro''' &amp; '''Plus''' subscribers. It calculates line of sight on the fly as tokens are moved across the tabletop. This sections give general and system specific examples of how to set up lighting and vision.<br />
<br />
To turn [[Dynamic Lighting]] on you must enable it from the [[Page Settings]] for each scene you wish to include lighting elements. Remember that a user will only see light sources if they have control over a token that [[Dynamic_Lighting#Line of Sight|Has Sight]] enabled. You can activate this setting from the Advanced tab in the [[Token_Features#Token_Settings|Edit Token]] pane while in the GM view. If the [[Dynamic_Lighting#Line_of_Sight|Enforce Line of Sight]] option is selected in the [[Page Settings]] the user will only be able to see light sources that their token is able to see.<br />
<br />
The measurements for light distance and vision are calculated using the [[Page Settings]] for each individual scene. Whatever the Scale unit measurement is set to (feet, squares, inches, kilometers) is what the units of light range will be calculated in. These examples assume that you are using the default measurements of 5 Feet for each 1 unit but can be converted to any measurement.<br />
<br />
[[Category:Guides]]<br />
<br />
==System Agnostic Lighting==<br />
These are general lighting examples that will work in any system without specific vision rules. They can be tweaked until they best fit the themes and mood of your game.<br />
<br />
[[File:Lighting Example1.png|frame|right|Half-Orc tokens by [https://marketplace.roll20.net/browse/set/336/pixelfigs-r-fantasy-classes-half-orcs-male Fred Lang] and Bonfire by [https://marketplace.roll20.net/browse/set/281/old-world-style-set-4 Russ Hapke]]]<br />
==== Lantern ====<br />
The lantern is a mobile 360 degree light source that can represent anything from a torch to an electric lamp. Since the light source is mobile and being carried by a character, then it's best to give the player's token a [[Dynamic_Lighting#Adding Light|Light Radius]] under the Emits Light section. The [[Dynamic_Lighting#Adding Light|All Players See Light]] options should be checked. Based on the themes of your game your may wish to have the light "fall off" by getting dimmer the further it travels from it's source. You can do this by putting in the (optional) [[Dynamic_Lighting#Adding Light|Start of Dim]] amount. A good default for this is half the value of the [[Dynamic_Lighting#Adding Light|Light Radius]]. For example, if the lantern's [[Dynamic_Lighting#Adding Light|Light Radius]] is 30 feet, you would set the [[Dynamic_Lighting#Adding Light|Start of Dim]] to 15 feet.<br />
<br />
==== Campfire ====<br />
The campfire represents static sources of light, from wall sconces to street lights. Since they won't be moving, campfires are best represented as new tokens. The campfire should receive a [[Dynamic_Lighting#Adding Light|Light Radius]] and have [[Dynamic_Lighting#Adding Light|All Players See Light]] just like the [[#Lantern|Lantern]]. However, since it isn't attached to a player, it should not have [[Dynamic_Lighting#Line of Sight|Has Sight]] enabled. It's a safe idea to move these static sources of light to the Map Layer so that they don't accidentally get moved.<br />
<br />
==== Glow Stick ====<br />
Use a glow stick for very dim light sources, such as a patch of incandescent mushrooms, glowing coals, or a luminescent barrel of radioactive waste. The glow stick is prepared based on it's mobility like either a [[#Lantern|Lantern]] or a [[#Campfire|Campfire]] light source. The difference is that the option [[Dynamic_Lighting#Adding Light|Start of Dim]] setting is set very low or even zero. An example might be a lit match, prepared like a [[#Lantern|Lantern]] but set with a [[Dynamic_Lighting#Adding Light|Light Radius]] of only 5 feet and a [[Dynamic_Lighting#Adding Light|Start of Dim]] of just 1 foot. This is an excellent way to reduce visibility and increase dramatic tension.<br />
<br />
==== Flashlight ====<br />
If you want to restrict the angle of a light source use the flashlight. It's prepared mobile or static like a "hooded" [[#Lantern|Lantern]] or static like a spotlight. The difference is that the [[Dynamic_Lighting#Line of Sight|Angle]] attribute is set in the Emit's Light section of the Advanced tab of the [[Token_Features#Token_Settings|Edit Token]] menu. Typically a flashlight will have between a 20 and 60 degree angle of vision. For example, a hooded lantern might have a 60ft [[Dynamic_Lighting#Adding Light|Light Radius]], a 30ft [[Dynamic_Lighting#Adding Light|Start of Dim]], and a 40 degree angle. <br />
<br />
==== Super Senses ====<br />
Night vision, cat eyes, or low light vision are all ideas of being able to see more clearly in low light environments. To simulate this we use the light Multiplier feature under the [[Dynamic_Lighting#Line of Sight|Has Sight]] options. To make use of the Multiplier the token must have [[Dynamic_Lighting#Line of Sight|Has Sight]] checked. The multiplier amplifies the [[Dynamic_Lighting#Adding Light|Light Radius]] of all light sources the token is able to see. To a token that has a Multiplier of 2, twice as good as normal vision, a [[#Campfire|Campfire]] that normally gives off 30ft of illumination and 15ft of dim light would appear to give off 60ft and 30ft.<br />
<br />
==== Alternate Senses ====<br />
Alternate Senses represents the idea of having "sight" that don't have anything to do with normal light. They work in complete darkness, such as thermal vision, echo location, or mystical perfect awareness. To simulate this we set up a light source similar to a [[#Lantern|Lantern]] on our token but do not include [[Dynamic_Lighting#Adding Light|All Players See Light]] option. This allows this token alone to "see" while not actually producing light or giving any other tokens sight. An example of Infrared Vision might look like a [[Dynamic_Lighting#Adding Light|Light Radius]] of 60ft, [[Dynamic_Lighting#Adding Light|All Players See Light]] is disabled, but [[Dynamic_Lighting#Line of Sight|Has Sight]] is enabled.<br />
<br />
==== Daylight ====<br />
Daylight or other forms of perfect illumination such as a well lit building can be set from the [[Page Settings]] menu for the scene you're trying to make day lit. By toggling the [[Dynamic_Lighting#Global_Illumination|Global Illumination]] option you add a light source that illuminates the entire map. This is useful in creating situations where vision isn't restricted due to lack of light but only by [[Dynamic Lighting#How to Add Light Obstructions|Light Obstructions]], such as walls, trees, or boulders. These Obstructions can be added from the Dynamic Lighting Layer.<br />
<br />
==== Realistic Vision ====<br />
A good way to simulate "realistic" field of visions, meaning that a token cannot see in 360 degrees, is to set the [[Dynamic_Lighting#Line of Sight|Angle]] next to [[Dynamic_Lighting#Line of Sight|Has Sight]] to 120 degrees. This works similarly to a [[#Flashlight|Flashlight]] but only affects the light a token is able to see, rather than producing light everyone can see. Another option might be to extend [[Dynamic_Lighting#Line of Sight|Angle]] to 240 degrees to represent someone who is alert and aware of their surroundings, regularly checking their periphery vision, but still not able to see directly behind them.<br />
<br />
If the angle of vision faces toward the back of the token, you can flip it vertically and the 120 degree angle will now be facing the same direction as the token's front.<br />
<br />
==== Blindness ====<br />
If your scene is using the [[Dynamic_Lighting#Restrict_Movement|Restrict Movement]] feature from the [[Page Settings]] menu, the [[Dynamic_Lighting#Line of Sight|Has Sight]] feature needs to be selected in order for the token to collide with [[Dynamic Lighting#How to Add Light Obstructions|Light Obstructions]]. This means to simulate blindness it's better to set the token's [[Dynamic_Lighting#Line of Sight|Angle]] of vision to zero degrees, rather than disabling the token's [[Dynamic_Lighting#Line of Sight|Has Sight]] feature. With the [[Dynamic_Lighting#Line of Sight|Angle]] properly set to zero and the [[Dynamic_Lighting#Restrict_Movement|Restrict Movement]] option enabled the token won't be able to see light but will still be blocked by obstructions.<br />
<br />
== System Specific Lighting ==<br />
This section will give you exact [[Dynamic Lighting]] set ups for some of your favorite systems.<br />
<br />
=== Dungeons and Dragons 5th Edition ===<br />
Fifth edition Dungeons and Dragons has more in common with 3.5/Pathfinder than differences. Below you'll find specific examples of how to set up lighting and vision in [[Main_Page|Roll20]] for D&D5e. To best represent Dynamic Lighting in 5e you'll need to enable [[Dynamic Lighting]] on the [[Page Settings]]. You'll want to [[Dynamic_Lighting#Line_of_Sight|Enforce Line of Sight]] as well. Each character token will need [[Dynamic_Lighting#Line of Sight|Has Sight]] checked on the token's Advanced tab of the [[Token_Features#Token_Settings|Edit Token]] menu.<br />
<br />
[[File:Lighting Example2.PNG|frame|right|Character carrying a torch in 5th Edition Dungeons and Dragons.]]<br />
==== Light Sources ====<br />
Whether they're mobile or static, light sources in 5e follow the tradition of producing bright light out to a radius of feet, followed by an equal radius of dim light. The radius is specified in the description of the light source. To represent this in [[Main_Page|Roll20]] you'll set the token's [[Dynamic_Lighting#Adding Light|Light Radius]] to the total range of the light (that's the bright light and dim [[Dynamic_Lighting#Adding Light|Light Radius]] added together) and the [[Dynamic_Lighting#Adding Light|Start of Dim]] setting is the dim [[Dynamic_Lighting#Adding Light|Light Radius]]. Additionally the [[Dynamic_Lighting#Adding Light|All Players See Light]] option should be checked, since the object is producing visible light.<br />
<br />
For example, a torch illuminates 20ft of bright light and another 20ft of dim light. To set that up in [[Main_Page|Roll20]] it would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "40"<br />
* [[Dynamic_Lighting#Adding Light|Start of Dim]] = "20"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Checked"<br />
<br />
==== Blindsight ====<br />
Characters with blindsight are able to see in ways that don't actually involve normal light. This means that out to a certain radius, usually 60ft, they "see" without light. To represent this we'll create a "light source" for that token, that only that token can see. What separates it from acting like a [[#Lantern|Lantern]] is that the [[Dynamic_Lighting#Adding Light|All Players See Light]] box is not checked.<br />
<br />
For example, tremorsense of 60ft would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "60"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"<br />
<br />
==== Darkvision ====<br />
Characters with darkvision are able to see in dim light as if it were bright light and in darkness as if it were dim light, usually out to a radius of 60ft. To represent this we'll create a "light source" for that token, that only that token can see. What separates it from acting like a [[#Lantern|Lantern]] is that the [[Dynamic_Lighting#Adding Light|All Players See Light]] box is not checked. <br />
<br />
For example, darkvision of 60ft would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "60"<br />
* [[Dynamic_Lighting#Adding Light|Start of Dim]] = "-5"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"<br />
* [[Dynamic_Lighting#Adding Light|Has Sight]] = "Checked"<br />
<br />
=== Dungeons and Dragons 4th Edition ===<br />
Below you'll find specific examples of how to set up lighting and vision in [[Main_Page|Roll20]] for D&D4e. To best represent Dynamic Lighting in 4e you'll need to enable [[Dynamic Lighting]] on the [[Page Settings]] page. You'll want to [[Dynamic_Lighting#Line_of_Sight|Enforce Line of Sight]] as well. Each character token will need [[Dynamic_Lighting#Line of Sight|Has Sight]] checked on the token's Advanced tab of the [[Token_Features#Token_Settings|Edit Token]] menu. In addition 4e uses squares as it's unit of measurement. This should be changed on the [[Page Settings]] menu so the "Scale" is equal to "1 unit = 1 sq".<br />
<br />
==== Bright Light ====<br />
Whether they're mobile or static, light sources in 4e follow the tradition of producing bright light out to a radius of squares. Unlike other editions of D&D they do not produce an additional radius of dim light. The radius is specified in the description of the light source. To represent this in [[Main_Page|Roll20]] you'll set the token's [[Dynamic_Lighting#Adding Light|Light Radius]] to the range listed in the handbook. Additionally the [[Dynamic_Lighting#Adding Light|All Players See Light]] option should be checked, since the object is producing visible light.<br />
<br />
For example, a torch illuminates 5sq of bright light. To set that up in [[Main_Page|Roll20]] it would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "5"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Checked"<br />
<br />
[[File:Lighting Example3.PNG|frame|right|Character with darkvision in 4th Edition Dungeons and Dragons.]]<br />
==== Dim Light ====<br />
Dim light sources are represented much the same as [[#Bright Light|Bright Light]]. There are mechanics in the game that come into play but the only significant difference for how it is used in [[Main_Page|Roll20]] is in the way it's rendered. To show that the light is dim we add a [[Dynamic_Lighting#Adding Light|Start of Dim]] at 0sq. <br />
<br />
For example, a candle emits 2sq of dim light. To set that up in [[Main_Page|Roll20]] it would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "2"<br />
* [[Dynamic_Lighting#Adding Light|Start of Dim]] = "0"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Checked"<br />
<br />
==== Low-light Vision ====<br />
While Low-light Vision has mechanical benefits in D&D4e, there is no difference in how Low-light Vision is represented in play in a [[Main_Page|Roll20]] scene.<br />
<br />
==== Darkvision ====<br />
Characters with Darkvision can see effectively in no light. There is no effective range to this vision making is so the character can see perfectly regardless of the lighting situation. To represent this we'll create a "light source" for that token with an effectively unlimited range, that only that token can see. What separates it from acting like a very powerful [[#Lantern|Lantern]] is that the [[Dynamic_Lighting#Adding Light|All Players See Light]] box is not checked. What this means is that unless an [[Dynamic Lighting#How to Add Light Obstructions|Obstruction]] blocks the characters line of sight, they can see everything.<br />
<br />
For example, darkvision would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "1000"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"<br />
<br />
=== Dungeons and Dragons 3rd Edition / Pathfinder ===<br />
Third edition Dungeons and Dragons, 3.5, and Pathfinder all use nearly identical lighting and vision systems. Below you'll find specific examples of how to set up lighting and vision in [[Main_Page|Roll20]] for the above. To best represent vision and lighting you'll need to enable [[Dynamic Lighting]] on the [[Page Settings]] page. You'll want to [[Dynamic_Lighting#Line_of_Sight|Enforce Line of Sight]] as well. Each character token will need [[Dynamic_Lighting#Line of Sight|Has Sight]] checked on the token's Advanced tab of the [[Token_Features#Token_Settings|Edit Token]] menu.<br />
<br />
[[File:Lighting Example4.PNG|frame|right|Character with low-light vision in Pathfinder/3rd Edition Dungeons and Dragons.]]<br />
==== Light Sources ====<br />
Whether they're mobile or static, light sources in third edition follow the tradition of producing bright light out to a radius of feet, followed by an equal radius of dim light. The radius is specified in the description of the light source. To represent this in [[Main_Page|Roll20]] you'll set the token's [[Dynamic_Lighting#Adding Light|Light Radius]] to the total range of the light (that's the bright light and dim [[Dynamic_Lighting#Adding Light|Light Radius]] added together) and the [[Dynamic_Lighting#Adding Light|Start of Dim]] setting is the dim [[Dynamic_Lighting#Adding Light|Light Radius]]. Additionally the [[Dynamic_Lighting#Adding Light|All Players See Light]] option should be checked, since the object is producing visible light.<br />
<br />
For example, a torch illuminates 20ft of bright light and another 20ft of dim light. To set that up in [[Main_Page|Roll20]] it would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "40"<br />
* [[Dynamic_Lighting#Adding Light|Start of Dim]] = "20"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Checked"<br />
<br />
==== Low-light Vision ====<br />
Character with low-light vision can see twice as far from light sources. To represent that in [[Main_Page|Roll20]] we set the token's "Multiplier" to "2". This means that a torch normally produces 20ft of bright light and an additional 20ft (out to 40ft) of dim light. To a character with Low-light Vision this same torch would appear to produce 40ft of bright light and and additional 40ft (out to 80ft) of dim light.<br />
<br />
An example of low-light vision would look like:<br />
* Multiplier = "2"<br />
<br />
==== Darkvision ====<br />
Characters with darkvision are able to see in ways that don't actually involve normal light. This means that out to a certain radius, usually 60ft, they "see" without light. To represent this we'll create a "light source" for that token, that only that token can see. What separates it from acting like a [[#Lantern|Lantern]] is that the [[Dynamic_Lighting#Adding Light|All Players See Light]] box is not checked.<br />
<br />
For example, darkvision of 60ft would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "60"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"<br />
<br />
=== Advanced Dungeons and Dragons 2nd Edition ===<br />
Below you'll find specific examples of how to set up lighting and vision for Advanced Dungeons and Dragons in a [[Main_Page|Roll20]] game. To best represent lighting and vision in AD&D you'll need to enable [[Dynamic Lighting]] on the [[Page Settings]] page. You'll want to [[Dynamic_Lighting#Line_of_Sight|Enforce Line of Sight]] as well. Each character token will need [[Dynamic_Lighting#Line of Sight|Has Sight]] checked on the token's Advanced tab of the [[Token_Features#Token_Settings|Edit Token]] menu.<br />
<br />
==== Light Sources ====<br />
Whether they're mobile or static, light sources in AD&D follow the tradition of producing bright light out to a radius in feet. Unlike other editions of D&D they do not produce an additional radius of dim light. The radius is specified in the description of the light source. To represent this in [[Main_Page|Roll20]] you'll set the token's [[Dynamic_Lighting#Adding Light|Light Radius]] to the range listed in the handbook. Additionally the "All Players See Light" option should be checked, since the object is producing visible light.<br />
<br />
For example, a torch illuminates 40 feet of light. To set that up in [[Main_Page|Roll20]] it would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "40"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Checked"<br />
<br />
==== Infravision ====<br />
Characters with infravision are able to see in ways that don't actually involve normal light. This means that out to a certain radius, usually 60ft, they "see" without light. To represent this we'll create a "light source" for that token, that only that token can see. What separates it from acting like a [[#Lantern|Lantern]] is that the "All Players See Light" box is not checked.<br />
<br />
For example, infravision of 60ft would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "60"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"<br />
<br />
==== Ultravision ====<br />
Characters with Ultravision can see effectively in no light. There is no effective range to this vision making is so the character can see perfectly regardless of the lighting situation. To represent this we'll create a "light source" for that token with an effectively unlimited range, that only that token can see. What separates it from acting like a very powerful [[#Lantern|Lantern]] is that the "All Players See Light" box is not checked. What this means is that unless an [[Dynamic Lighting#How to Add Light Obstructions|Obstruction]] blocks the characters line of sight, they can see everything.<br />
<br />
For example, ultravision would look like:<br />
* [[Dynamic_Lighting#Adding Light|Light Radius]] = "1000"<br />
* [[Dynamic_Lighting#Adding Light|All Players See Light]] = "Unchecked"</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-22T20:05:05Z<p>5047: /* Directly Referencing Attributes */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
charisma<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
charisma_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
charisma_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
arcana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuasion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code><br />
<br />
===Custom AC Items===<br />
You can add pieces to your inventory and manually give them AC or magic bonuses that will figure into their calculations automatically. Inside the item options is a section for "MODS:". Add <code>Ac +1</code> to add an armor class bonus.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-22T16:38:47Z<p>5047: /* Advanced Use */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
stamina<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
stamina_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
stamina_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
aracana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuassion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code><br />
<br />
===Custom AC Items===<br />
You can add pieces to your inventory and manually give them AC or magic bonuses that will figure into their calculations automatically. Inside the item options is a section for "MODS:". Add <code>Ac +1</code> to add an armor class bonus.</div>5047https://wiki.roll20.net/File:5e_attack_example.gifFile:5e attack example.gif2016-02-22T16:34:08Z<p>5047: </p>
<hr />
<div></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-22T16:33:02Z<p>5047: /* Attacks & Spellcasting */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been streamlined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
[[File:5e_attack_example.gif|right]]<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
stamina<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
stamina_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
stamina_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
aracana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuassion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-19T17:50:17Z<p>5047: /* Directly Referencing Attributes */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
stamina<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
stamina_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
stamina_save_bonus<br />
acrobatics_bonus<br />
animal_handling_bonus<br />
aracana_bonus<br />
deception_bonus<br />
history_bonus<br />
insight_bonus<br />
intimidation_bonus<br />
investigation_bonus<br />
medicine_bonus<br />
nature_bonus<br />
perception_bonus<br />
performance_bonus<br />
persuassion_bonus<br />
religion_bonus<br />
sleight_of_hand_bonus<br />
stealth_bonus<br />
survival_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-19T17:48:06Z<p>5047: /* Advanced Use */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Directly Referencing Attributes===<br />
You can discover the name of most of the attributes in the sheet by hovering over them. After a couple of seconds a title will pop up and tell you how to referencing them. You can call attributes in a roll by adding a "@{name}" code. For example you could roll a 1d20 and add your strength modifier by rolling<code>/r 1d20+@{strength_mod}</code>. Here are a list of some of the more important stats:<br />
<code><br />
strength<br />
dexterity<br />
constitution<br />
intelligence<br />
wisdom<br />
stamina<br />
strength_mod<br />
dexterity_mod<br />
constitution_mod<br />
intelligence_mod<br />
wisdom_mod<br />
stamina_mod<br />
strength_save_bonus<br />
dexterity_save_bonus<br />
constitution_save_bonus<br />
intelligence_save_bonus<br />
wisdom_save_bonus<br />
stamina_save_bonus<br />
pb<br />
passive_wisdom<br />
ac<br />
initiative_bonus<br />
speed<br />
hp<br />
hp_max<br />
hp_temp<br />
hit_dice<br />
hit_dice_max<br />
weighttotal<br />
spell_save_dc<br />
spell_attack_bonus<br />
</code></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-19T17:38:46Z<p>5047: /* Dynamic References to Repeating Sections */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 2<code>%{selected|repeating_spell-2_$0_spell}</code><br />
* Spellbook Level 3<code>%{selected|repeating_spell-3_$0_spell}</code><br />
* Spellbook Level 4<code>%{selected|repeating_spell-4_$0_spell}</code><br />
* Spellbook Level 5<code>%{selected|repeating_spell-5_$0_spell}</code><br />
* Spellbook Level 6<code>%{selected|repeating_spell-6_$0_spell}</code><br />
* Spellbook Level 7<code>%{selected|repeating_spell-7_$0_spell}</code><br />
* Spellbook Level 8<code>%{selected|repeating_spell-8_$0_spell}</code><br />
* Spellbook Level 9<code>%{selected|repeating_spell-9_$0_spell}</code><br />
<br />
===Customizing Roll Template Rolls===</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-19T17:37:41Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Custom Skills and Stats|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.<br />
<br />
==Advanced Use==<br />
<br />
===Custom Skills and Stats===<br />
You can set up any number of custom skills or rolls from the [[#Tool Proficiencies|Tool Proficiencies]] section just underneath the skill section on the Core tab. [[#Class & Other Resources|The Resources]] section is also useful for tracking custom stats to your campaign, game setting, or home-brew rules.<br />
<br />
===Dynamic References to Repeating Sections===<br />
A useful way for GMs and Players to reference their abilities is by dynamically setting up a handful of macros that can be used on a token linked to a character, rather than having to roll directly from the sheet. To do this, you'll set up a global macro from the main settings tab, from the chat pane, in the upper right hand corner of the application. The example we'll be using today is setting up the 1st NPC action:<br />
<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
Now whenever you use this macro it will roll the first NPC action of whichever NPC token you have selected. You can set up a roll for each action by incrementing the 0 by 1 for each action you wish to add (I.E. $1, $2, $3). Here is a list of important repeating section rolls and their formulas:<br />
* NPC Actions<code>%{selected|repeating_npcaction_$0_npc_action}</code><br />
* NPC Legendary Actions<code>%{selected|repeating_npcaction-l_$0_npc_action}</code><br />
* Player Attack/Spell<code>%{selected|repeating_attack_$0_attack}</code><br />
* Tool/Custom Skill<code>%{selected|repeating_tool_$0_tool}</code><br />
* Spellbook Cantrip<code>%{selected|repeating_spell-cantrip_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code><br />
* Spellbook Level 1<code>%{selected|repeating_spell-1_$0_spell}</code></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T19:12:41Z<p>5047: /* General Options */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Toggle/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. Toggle adds a set of buttons to manually switch your advantage options between rolls. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T19:11:30Z<p>5047: /* Skill Options */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. There is also a section to add flat modifiers to any of your skills if your character has an archetype ability like Remarkable Athlete or a feat that adds a flat bonus to a skill. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T19:08:55Z<p>5047: /* Multiclass Options */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
Note: Be sure to not re-include your main class in this section, or your final level calculation will be incorrect.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T19:07:19Z<p>5047: /* Class Options */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Fighter/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T17:48:14Z<p>5047: /* Tool Proficiencies */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use|Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T17:47:53Z<p>5047: /* Tool Proficiencies */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[#Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T17:46:11Z<p>5047: /* Tool Proficiencies */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [[Advanced Use]] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-18T17:45:55Z<p>5047: /* Tool Proficiencies */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
You can also use this section to create custom skills or rolls for your campaign setting or home-brew ruleset. Check out the [Advanced Use] section for details.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:31:54Z<p>5047: /* Equipment */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. If the item you are adding from the Compendium is a weapon, this method will also create an attack for the item in the attack section. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:29:39Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
[[File:5e equipment example.gif|right]]<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/File:5e_equipment_example.gifFile:5e equipment example.gif2016-02-17T18:29:00Z<p>5047: </p>
<hr />
<div></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:21:16Z<p>5047: /* Armor Class, Initiative, & Speed */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [https://app.roll20.net/compendium/dnd5e/BookIndex Compendium] compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:20:02Z<p>5047: /* Armor Class, Initiative, & Speed */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
Armor Class can also be tracked automatically by using the [Compendium](https://app.roll20.net/compendium/dnd5e/BookIndex) compatible inventory, on by default.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:17:19Z<p>5047: /* Skills */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
You can set advanced skill options for the settings tab, such as skill expertise, flat bonuses from class archetypes or feats, as well as Jack of All Trades.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:15:56Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:15:03Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right|thumbnail]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
[[File:5eskill example.png|right|thumbnail]]<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/File:5eskill_example.pngFile:5eskill example.png2016-02-17T18:14:25Z<p>5047: </p>
<hr />
<div></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:12:47Z<p>5047: /* Attributes */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right|thumbnail]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
The attribute can be referenced by it's name, such as @{dexterity} while the attributes modifier can be referenced by adding the mod suffix, @{dexterity_mod}.<br />
<br />
===Skills===<br />
<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-02-17T18:09:56Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
[[File:Rollbutton example.png|right|thumbnail]]<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
The header block at the top left of the page changes based on the page you have selected. On the Core page you can select a class from the dropdown menu. Once a class has been selected you can update the class's level by changing the number next to the class. Selecting a class will automatically mark the abilities that class has proficiency in as well as automatically selecting the dice that will be used when Hit Dice are rolled. You can change this Hit Dice setting manually from the options menu. The other fields on the Core page Header and the Bio page Header can be used to track all kinds of info about your character.<br />
<br />
On the Spells page Header you can set the ability modifier that will be used for casting spells. Selecting the Spellcasting Ability block will allow you to select an attribute from a dropdown, and this will be used in all relevant spell rolls. This attribute will be set automatically when you select a spell casting class. The next two blocks, the Save DC and Attack Bonus will be set automatically based on the class that is selected on the Core page.<br />
<br />
===Attributes===<br />
<br />
Along the left side of the sheet is listed the 6 primary attributes: Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. These attributes are used by almost every other calculation on the sheet, as they are the core definition of a character. Each attribute block has the core attribute score, which can be changed by modifying the number in the oval at the bottom of each block, and, inside the square, the attribute modifier which is auto-calculated based on the score below it. The attribute modify uses the following calculation to set the value:<br />
<br />
<code>[[floor((@{strength}-10)/2)]]</code><br />
<br />
===Skills===<br />
<br />
To the right of the core attributes is a list of all of the Skills. Each skill can be rolled by clicking on the skill name. If you have proficiency in a specific skill, then you would check the box next to the skill name, this will automatically add your proficiency bonus to that skill's checks. Each skill also lists the core attribute, that is used in the roll calculations, next to it in parenthesis.<br />
<br />
===Saves===<br />
<br />
Next to the core attributes on the left side of the page is a list of the same attributes to be used in making saving throws. To mark an attribute that your character has proficiency in for saving throws you will check the box next to the appropriate attributes. When you select a class in the header section of the Core page it will automatically check the correct boxes for that class's proficiencies.<br />
<br />
===Inspiration===<br />
<br />
You can track whether or not you have inspiration by clicking the circle next to the Inspiration block at the top left of the Core page.<br />
<br />
===Proficiency Bonus===<br />
<br />
Your character's proficiency bonus is listed near the top left of the page. You cannot modify this value manually, instead it is automatically set based off your character's over-all level. You character's level can be set by changing the number next to your class name in the header at the top when on the Core page.<br />
<br />
===Armor Class, Initiative, & Speed===<br />
<br />
The Armor Class & Speed blocks at the top center of the page can be used to keep track of your Armor and Speed values. The Initiative block cannot be modified manually, but instead is auto-calculated based off your character's Dexterity. If you have any additional initiative modifiers you can add them on the Settings (gear icon) tab under Initiative Modifier in the Class Options block.<br />
<br />
===Hit Points & Temp HP===<br />
The Current Hit Points and Temporary Hit Points blocks are used to keep track of your character's Hit Points (HP). Inside the Current HP block, at the top, is a line to keep track of your character's maximum amount of HP. When your character takes damage, if they have any, their Temp HP should take the hit first, then any remaining damage would then come off of the character's Current HP.<br />
<br />
===Hit Dice===<br />
The Hit Dice block is used to keep track of and roll your character's hit dice. Inside the Hit Dice block, at the top, is a line to keep track of the total number of dice your character can have. In the main area of the block you would keep track of the remaining hit dice. Clicking the "Hit Dice" text will roll hit dice for your selected class automatically. If you wish to change the dice that is rolled you can do so in the Class Options section of the Settings (gear icon) tab. If you are multi-classed, when roll your hit dice a pop-up will ask which of your current class's hit dice you want to roll. The total and current hit dice fields are just text fields, so you can use them to track totals for any number of multi-class configurations. Say, if your character is a Fighter/Cleric you can put "F 2 | C 1" in the field to track that you have 2 Fighter and 1 Cleric hit dice available.<br />
<br />
===Death Saves===<br />
The Death Saves block is used to keep track of your character's death save rolls once they have been knocked out. You can click the "Death Saves" text to make a death save roll. If you roll greater than 10 you would check one of the boxes next to "Successes" otherwise you would check a box next to "Failures". If your character has any modifiers to their death save rolls they can be added in the Class Options section of the Settings (gear icon) tab.<br />
<br />
===Class & Other Resources===<br />
The Class & Other Resources blocks can be used to keep track of things that don't fit into the other sections on the sheet, like a Sorcerer's Sorcery Points or a Cleric's Channel Divinity at higher levels. If the 2 blocks given by default are not enough then you can add additional blocks by hovering over the section and clicking the "Add +" button.<br />
<br />
===Freeform Textfields===<br />
There are many free-text fields on the sheet that give you a place to keep information that doesn't necessarily follow a specific format. These sections are Personality Traits, Ideals, Bonds, Flaws, Features & Trait, Other Proficiencies & Languages, and optionally Equipment (explained in the equipment section). They are all pretty self-explanatory and can be formatted however you wish.<br />
<br />
===Equipment===<br />
The Equipment block at the bottom of the page has 2 different versions, a free text or a more rigid "rowed" version which can be toggled on the sheet Settings (gear icon at the top right of the page) tab under "Inventory" where you can select "Simple" or "Compendium Compatible" respectively. Like the name implies, if you want to be able to copy items directly from the compendium, using drag and drop, you must use the Compendium Compatible version. To quickly add an item from the compendium create a new, blank, equipment row then drag the item from the compendium tab in the chat panel and drop it on to the new row. Doing this will also, automatically, create an attack for the item, in the attack section, if the item you are adding is a weapon. <br />
<br />
You can also add items manually by hovering over the block and clicking the "Add +" button. The row, by default, show sections for quantity, name, and weight of an item. If you hover over a row and click the small "information" icon that appears at the bottom right you can also properties, mods and an item description for each item. All of these fields will be filled in automatically when adding from the compendium.<br />
<br />
Both versions of the equipment field have the sections for each of the [https://app.roll20.net/compendium/dnd5e/Treasure#h-Treasure coins] you may find on your adventures: coper, silver, electrum, gold, and platinum. The Simple version is just a plain text field where you can track all of your equipment in any format you wish. The Compendium Compatible version will automatically calculate the weight of your pack if you enter the weight value for all of your items.<br />
<br />
===Tool Proficiencies===<br />
Hovering over the Tool proficiencies window will present an "Add" button. Clicking this button will add a row to this block where you can add all of the stats for a specific tool proficiency, say Woodcarver's tools. You can set the level of proficiency with that tool and the attribute bonus you might use when rolling checks with the proficiency. The attribute used for the check will be up to the GM when it is time to make the roll. Once you finished filling out the stats for this tool you can click the gear icon at the top right of the block to hide the stats, leaving just the rollable row showing. You can reopen these stats at any time by hovering over the row and clicking the gear icon that appears. To roll this this check you can click the row, or you can drag the row down into your macro bar at the bottom of the screen. Since this is a repeating section, the macro button's name will be a bit messy, but this can be cleaned up by right-clicking and renaming the button to whatever you want.<br />
<br />
===Attacks & Spellcasting===<br />
The Attacks & Spellcasting block in the center of the sheet will be one of the most used sections on the sheet. To start, you can manually add any attack or spell to this section by hovering over the block and clicking the "Add" button. This will open a form that can be filled out with all of the information about the specific attack/spell you are adding. <br />
<br />
This section will automatically add attacks, with all the stats, for spells that have an attack component when they are added to your spell sheet on the Spells tab. This happen both if you add the spell manually or if you drag and drop a spell from the compendium. An attack is also automatically created if you drag and drop an item from the compendium into your '''equipment''' block (you must drop the compendium item into the equipment section, not the attack section). In both cases of copying from the compendium you must create a row first and then drag the compendium item onto the newly created row. You can drag compendium data onto any existing row, so be careful not to drag it onto a row that already has data or it will overwrite any information you already entered.<br />
<br />
For example, lets say Frank has a +1 Poisoned Dagger that has the stats of a regular dagger, only it does 1d4 piercing + 1d6 poison damage.<br />
<br />
[[File:Poisoned Dagger 5e Attack.png|thumbnail]]<br />
<br />
Since this is a [https://app.roll20.net/compendium/dnd5e/Items:Dagger#h-Dagger dagger], and daggers have the "[https://app.roll20.net/compendium/dnd5e/Weapons#h-Weapons Finesse]" attribute I can chose either STR or DEX for my bonus attribute. Frank is quicker than he is strong, so we will pick DEX as the attribute to attack with, as well as checking the "proficient" checkbox since Frank is good with any weapon one might stab another person with. He doesn't have any other gear that might make his attacks better, so we will leave the generic bonus between the attribute and proficiency blank, or 0. But, this is a magical +1 weapon, so it gets a 1 in the magic bonus slot just below. Being a dagger, we also have the option to throw it if we want to, because who needs a magical poisoned dagger anyways, so we've added the range info to the "Range" section. All weapons will probably do some damage, or they wouldn't be a very good weapon would they, this dagger is no different so we have checked the first "Damage" checkbox and filled in the required fields. The dagger does 1d4 piercing damage + Frank's DEX mod + 0 bonus damage (this would be used for bonus damage on top of the magical +1) and it doesn't have anything to change the critical damage so we just put the same damage into the "crit" box. Unlike more boring daggers, this dagger also does poison damage, so we check the second "Damage" checkbox and fill in the info for the 2nd set of damage. The poison does a flat 1d6 poison with no extra bonuses, so we've selected "-" to say there is no attribute that adds to this damage. This damage also doesn't have anything to make the crit different so we set that to 1d6 as well. There are no extra saving throws or effects that are included with this attack, so we leave these additional sections blank. <br />
<br />
These additional effect sections will be used more commonly with spells, like [https://app.roll20.net/compendium/dnd5e/Fireball#h-Fireball Fireball], where you would say it is a DEX save against your SPELL DC, which will be set according to your character's spell casting level. The save effect would be "half damage" and the "Description" would be something like "Hits all creatures within 20 ft of the explosion point".<br />
<br />
After you are done modifying all of individual stats for an attack you can click the gear icon at the top right of that section and it will hide the stats for that attack. If ever you need to change these stats in the future you can hover over the row and click the gear icon that shows up to unhide the stats section. <br />
<br />
[[File:Poisoned Dagger 5e Roll.png|thumbnail]]<br />
<br />
The row that remains after hiding the stats can be clicked to roll this attack, you can also drag this row into the macro bar to give yourself easy access to this attack. Because this is a repeating section the macro name will be a bit messy, but you can right-click the button and rename the macro to whatever you like. By default, attacks will only roll the "attack" portion in chat. If the attack hits and you wish to roll the damage as well you can click the attack name inside the actual roll block inside of the chat window and it will roll the damage for that attack. You can change this behavior in the sheet Settings (gear icon at the top right of the page), tab under "Auto Damage Roll".<br />
<br />
==Bio Page==<br />
The bio page, opened by selecting "Bio" from the 4 buttons near the top right of the sheet, is comprised of free-form text fields that can be used to keep track of less "structured" information about your character. You can use this page to describe your character's appearance, keep track of who their allies are and what organizations they've worked for, and on this page is a section to supplement the inventory list, on the front page, with the "Treasure" section, where you can keep track of all the loot you find along your travels.<br />
<br />
==Spell Page==<br />
The Spell page, opened by selecting the "Spell" button from the four buttons near the top right of the page, is used to keep track of all of the powerful magics at your character's fingertips.<br />
<br />
===Spellcasting Ability===<br />
The Spellcasting Ability modifier will automatically update, depending on the class you select on the Core page, to the correct ability modifier for your class. If, for some reason, you need to change this value you can click on the modifier listed in this section and it will give you a drop-down list of all available ability modifiers.<br />
<br />
===Spell Save DC & Attack===<br />
The Spell Save DC and Spell Attack Bonus sections cannot be changed manually, but are just a visual output of modifiers that will be happening behind the scenes. The Spell Attack Bonus is the number that will be added to all spell attack rolls, automatically.<br />
<br />
The Spell Save DC refers to the Save DC that enemies will have to beat when they are trying to dodge/resist your incoming spells. Say, Fred the Sorcerer casts Lightning bolt, and his Spell Save DC is 14. Any enemies hit by his attack will have to make a DEX save and try to beat 14. If they manage to beat the attack, then they are only grazed and take half of the damage. If they don't beat 14, then they take the full damage of the attack instead.<br />
<br />
===Spell Levels & Spells Per Day===<br />
The main section of the Spells page lists 10 sections, ranging from 0 (Cantrips) to 9, representing the Cantrips and spells level 1 - 9 where the level of the spell is listed in the triangle on the left of each section header. The number in the left square of the header represents the maximum number of times a spell of this level can be cast in between long rests. This number will be set automatically depending on the level of your character, but can be modified by clicking the up or down arrow or just entering a number in the space provided. The number in the right-most box in the headers can be used for you to keep track of the number of times you've cast a spell at this level, while resetting all of these numbers back to 0 every time your character takes a long rest.<br />
<br />
===Spell Roll Buttons===<br />
Selecting the "+" under any of the Spell Level headings will present you with a blank template where you can enter all of the information about a spell. By default, the spell card only contains non-attack information about a spell. If the spell IS an attack you can change the "Output" selector from "Spellcard" to "Attack", this will show some additional input to fill out the attack information about the spell. Switching this input will also add an attack to the "Attack" section on the "Core" page so this spell attack can also be cast from the main page. All of these sections are linked, so changing information in one place will also change the corresponding information in the other location.<br />
<br />
With the new drag & drop compendium integration you can now add spells, with all of their information directly from the compendium. To add a spell, click the "+" under the level heading under which you wish to add the spell, look up the spell within the editor's compendium tab, then drag & drop the spell from the compendium tab onto the newly created, blank, spell slot. This will copy over all corresponding information linked to the spell, as well as creating an attack if relevant.<br />
<br />
==Settings Page==<br />
The Settings page, accessed by selecting the gear icon from the 4 buttons near the top right of the sheet, is where you can make changes to some parts of your character sheet that aren't represented on the other pages.<br />
===Class Options===<br />
In the class options section is where you have access to some important parts of your character, that usually are managed in the background. They are placed here so that, if needed they can be modified as well.<br />
<br />
'''Hit Dice:''' This section will be set automatically depending on the class chosen on the Core page, but can be changed here by selecting the value and choosing a new one from the drop-down menu. This option is used whenever the "Hit Dice" section is used on the Core page.<br />
<br />
'''Initiative Modifier:''' Usually, your initiative modifier is just based off of your DEX modifier, but if you happen to find a magical item that enhances these rolls this is where you will put that bonus. This modifier will be used whenever the "Initiative" section is rolled on the Core page.<br />
<br />
'''Death Save Modifier:''' A normal death save is usually just a D20 against a dc of 10, but if you're lucky enough to have a bonus to death saves, this is where you will put your bonuses. This modifier will be represented any time a "Death Save" is rolled from the Core page.<br />
<br />
'''Magic Caster Level:''' This number can be used to keep track of your "Magic Caster Level". It is not used in calculations anywhere on the sheet, it is just used to keep track of this bit of information. It's automatically updated when you change your character's level, and can be modified manually if the need arises.<br />
<br />
'''Halfling Luck:''' Use this checkbox if your character is a Halfling that happens take advantage of the Halfling Luck race feat. Using this feat will automatically re-roll any 1s rolled for attacks and skills or ability checks/saves.<br />
<br />
'''Arcane Knight/Rogue:''' These checkboxes can be used to keep track of when your fighter or rogue classed character actually has access to spells.<br />
===Multiclass Options===<br />
If you are taking advantage of the 5e multiclassing you can keep track of it in this section. Any levels to your character's additional classes must be changed here, and will then be reflected in the header portion of the sheet. Once you've added additional classes in this section, any time you roll Hit Dice from the Core page it will ask you which classes hit dice you wish to use.<br />
<br />
===Custom Class Options===<br />
If you are playing a class that is not part of the OGL SRD you can input the important class information in this section, and checking the "Use Custom Class" checkbox will replace the main class selection with your custom built class.<br />
<br />
===Skill Options===<br />
If your class offers the ability to achieve "Expertise" in a skill, or if you are using a Bard with the "Jack of All Trades" feat, this is where you will make these adjustments. You can add expertise to any skill by clicking the value next to it and choosing "Expertise" from the drop-down menu. If your Bard has the Jack of All Trades feat, you can check the checkbox at the bottom of this section and it will automatically give half of your character's proficiency points to any skill check that doesn't have full proficiency.<br />
<br />
===General Options===<br />
The General Options section has some important options that deal more with how the sheet works, rather than actual character creation. Most importantly, the NPC checkbox at the top, which will change the sheet to be the NPC version which is shaped to more easily track an NPC's information.<br />
<br />
'''Roll Queries - Always/Query/Never Roll Advantage:''' This option will change how advantage is rolled for all attacks. It defaults to always roll advantage, which means that every time an attack is rolled it will roll twice and present the outcome of both rolls. This is useful for both advantage and disadvantage, otherwise you can just choose either the left or the right to be the default roll. If Query is chosen, every time a roll is made it will ask you whether or not it's advantage. If Never is chosen, then it will always roll just a single dice per attack roll.<br />
<br />
'''Whisper Rolls to GM:''' Like above, you have the option to Always/Query/Never whisper rolls to the GM. When this option is chosen the attack roll be only be whispered to the GM and not made public.<br />
<br />
'''Auto Damage Roll:''' By default, damage rolls will not be rolled automatically, but only when you click the attack in the chat window. This is useful because you can choose to only roll damage when an attack hits. Using this option you can make the character alway roll damage with every attack.<br />
<br />
'''Inventory:''' With this option you can chose between the two versions of the inventory described in the Inventory section.<br />
<br />
==NPCs==<br />
One of the most useful parts of this sheet is the ability to switch it to a much more light-weight version, perfect for creating NPCs. You can access this version of the sheet by going to the Options page, by clicking the gear icon near the top right of the sheet, and then checking the NPC checkbox. This will switch the sheet to the NPC version, you can switch back by unchecking the NPC box on the new page.<br />
<br />
This whole section supports Compendium drag & drop. If you want to add a new monster to your game just create a new character, switch it to NPC mode, then drag the monster from the Compendium tab in the chat panel and drop it over the new, blank, NPC sheet. This will automatically copy all of the information on that compendium page directly into the new sheet. <br />
<br />
===NPC Options===<br />
This is the area where all of the NPC's stats will be entered, it covers everything from the NPC's name, to how strong or quick or smart it is, to what languages it speaks. Once all of this information has been entered, you can click the gear at the top right to hide this section leaving just the NPC's stat block where you can make all of these rolls. Most of the fields in this section are just text fields used to keep track of information about the NPC, all of the information entered in these fields will be visible in the stat block once the NPC options are hidden.<br />
<br />
By default no skill or ability checks will show up in the NPC's stat block. These will show up once you've added a value to the corresponding skill or ability save. If for some reason the NPC will have to make a check with a skill or ability it does not have any bonus in, you can enter a 0 as the modifier for that check and it will add it to the list in the stat block below.<br />
<br />
If an NPC is a monster with "Legendary Actions" then you must enter the number of actions that monster has access to each turn in the "Legendary Actions" input. Once you add a number here an additional section will appear in the stat block below, where you can add, specifically, the legendary actions that the monster is able to do.<br />
<br />
Any section of the stat block that has a corresponding roll will have click-able text. Say the NPC has to make a CON check, you can click the CON attribute to roll a CON check with all of the required modifiers automatically included. If you added a value to one of the skill modifier fields then that skill will show up in the NPC's "Saving Throws" list where you can click it to make a saving throw roll using that skill's modifier.<br />
<br />
===Traits===<br />
Traits are one piece of information about an NPC that isn't entered in the NPC options section. These are entered directly onto the NPC's stat block. If you click the "+" that appears when you hover over the blank area under the "Senses/Languages/Challenge Rating" section it will add a blank row where you can add a single trait for that NPC. You can add any number of traits for any NPC. These rows are just large text fields, so you can format the information in any way you see fit.<br />
<br />
===Actions===<br />
NPC actions can be used for any number of things. Each row offers a large text field, with the option to add some more structured data in the cases where that action is an attack. First, to add a row you will select the "+" that appears when you hover over the "Actions/Legendary Actions" section. Then, if that action happens to be an attack you will select the "Attack" checkbox, which will show some additional fields where you will insert the attack specific information like damage and attack bonus. After that you would put any other important information about the action into the large text area for the action. Once all of this is complete you can click the gear icon at the top of this row to hide the inputs, leaving just the action text. You can show this information, or roll the attack, in the chat box by clicking the text for the action. If you need to make further modifications to any action you can hover over the row you wish to edit, then select the gear that appears on doing so. This will show all of the action information inputs again.</div>5047https://wiki.roll20.net/File:Rollbutton_example.pngFile:Rollbutton example.png2016-02-17T18:09:01Z<p>5047: </p>
<hr />
<div></div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-01-15T22:57:47Z<p>5047: /* Welcome to 5th Edition OGL by Roll20 */</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary.<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
<br />
===Attributes===<br />
===Skills===<br />
===Saves===<br />
===Inspiration===<br />
===Proficiency Bonus===<br />
===Armor Class, Initiative, & Speed===<br />
===Hit Points & Temp HP===<br />
===Hit Dice & Death Saves===<br />
===Class & Other Resources===<br />
===Freeform Textfields===<br />
===Tool Proficiencies===<br />
===Attacks & Spellcasting===<br />
<br />
==Bio Page==<br />
diff header<br />
===Freeform Text Fields===<br />
<br />
==Spell Page==<br />
===Spellcasting Ability===<br />
===Spell Save DC & Attack===<br />
===Spell Levels & Spell's Per Day===<br />
===Spell Roll Buttons===<br />
<br />
==Settings Page==<br />
===Class Options===<br />
===Multiclass Options===<br />
===Custom Class Options===<br />
===Skill Options===<br />
===General Options===<br />
<br />
==NPCs==<br />
===NPC Options===<br />
===Roll Buttons & Template===<br />
===Traits===<br />
===Actions===</div>5047https://wiki.roll20.net/5th_Edition_OGL_by_Roll205th Edition OGL by Roll202016-01-15T18:50:46Z<p>5047: Created page with "=Welcome to 5th Edition OGL by Roll20= The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by..."</p>
<hr />
<div>=Welcome to 5th Edition OGL by Roll20=<br />
The Roll20 team is proud to bring you this cutting edge Roll20 official 5th Edition character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the 5th Edition sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
==Key Features==<br />
The 5th Edition sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, macro buttons, and roll templates. The sheet defaults to using the rules as printed in the 5th Edition SRD, however it's dynamic enough to allow you and your group to use whatever custom house rules you require.<br />
<br />
===Auto Calculations===<br />
Many parts of the sheet use auto calculations to fill in derived attributes with the expectation that you're using the rules as printed in the 5th Edition SRD. Many of these calculated traits can be modified from the settings menu and those set by Sheet Workers can be edited directly. Below are some examples of Sheet Worker and Auto Calculation functionality:<br />
<br />
* Class - Changing the character's class from the header will automatically update the character's saving throw proficiencies, their hit die type, spell casting ability, and spell save DC. <br />
* Level - Changing the character's level will also update their proficiency bonus, number of spells per day, and more.<br />
* Attributes - Changing one of the character's attributes will also update the related modifier, skills that are based on that attribute, and derived stats such as initiative or passive perception.<br />
<br />
===Roll Buttons and Roll Templates===<br />
Most of the stats in the game can be rolled by hovering over their name, the stat will turn red, and then left-clicking the mouse. This is true for Attributes, Saves, Skills, Hit Dice, Death Saves, Tool Proficiencies, Attacks & Spellcasting, Spell Cards, and NPC Actions. Any of these roll buttons can be dragged directly from the sheet to your Macro Quick Bar, enabled from the settings tab.<br />
<br />
Player characters have both a simple and attack roll template that is output to the Chat Tab in the journal on the right hand side of the screen. The simple template is used for everything except for attacks. The attack template is shaped to show up to three pieces; the attack at the top, information in the middle, and damage at the bottom. Depending on your settings, the damage will not roll unless you click on the name of the attack from the roll template in the chat tab. This was designed to simulate the tabletop experience of rolling to attack and then rolling damage if necessary.<br />
<br />
==Core Page==<br />
There are four pages that can be selected from the buttons just underneath the header at the top of the sheet. The Core Page is selected by default and has most of the information you'll want to use on a regular basis to play your character.<br />
<br />
===Header Info===<br />
===Attributes===<br />
===Skills===<br />
===Saves===<br />
===Inspiration===<br />
===Proficiency Bonus===<br />
===Armor Class, Initiative, & Speed===<br />
===Hit Points & Temp HP===<br />
===Hit Dice & Death Saves===<br />
===Class & Other Resources===<br />
===Freeform Textfields===<br />
===Tool Proficiencies===<br />
===Attacks & Spellcasting===<br />
<br />
==Bio Page==<br />
diff header<br />
===Freeform Text Fields===<br />
<br />
==Spell Page==<br />
===Spellcasting Ability===<br />
===Spell Save DC & Attack===<br />
===Spell Levels & Spell's Per Day===<br />
===Spell Roll Buttons===<br />
<br />
==Settings Page==<br />
===Class Options===<br />
===Multiclass Options===<br />
===Custom Class Options===<br />
===Skill Options===<br />
===General Options===<br />
<br />
==NPCs===<br />
===NPC Options===<br />
===Roll Buttons & Template===<br />
===Traits===<br />
===Actions===</div>5047https://wiki.roll20.net/New_World_Of_Darkness_Official_SheetNew World Of Darkness Official Sheet2015-12-01T19:12:27Z<p>5047: /* Page 2 */</p>
<hr />
<div>=Welcome to The World of Darkness=<br />
The Roll20 team is proud to announce our partnership with [http://theonyxpath.com/ Onyx Path Publishing] to bring you this official New World of Darkness character sheet. The sheet was primarily authored by Roll20 developer [https://app.roll20.net/users/5047/steve-k Steve K.]. Most sheet questions can be answered by the friendly folk of the Roll20 [https://app.roll20.net/forum/category/277980 Character Sheet forum]. For questions, comments, or concerns with the New World of Darkness sheet you can also contact [https://app.roll20.net/users/5047/steve-k Steve K.] through Roll20 or at [mailto:steve@roll20.net steve@roll20.net]. All other questions can be directed to [mailto:team@roll20.net team@roll20.net].<br />
<br />
The official NWoD sheet has all of the functionality of a pen and paper character sheet and much more. Certain aspects of the sheet have been stream lined or automated to remove bookkeeping and speed up gameplay. The key features are auto-calculations, dynamically selected rolls, and roll templates. The sheet defaults to using 1st edition New World of Darkness but supports, Vampire, Werewolf, Mage, Promethean, Changeling, Geist, and Mummy, as well as second edition World of Darkness and Vampire.<br />
<br />
==Auto Calculations==<br />
There are many parts of the sheet that will automatically calculate derived traits, such as Health, Willpower, Speed, Defense, and much more. All of these calculations are done using the rules as listed, depending on which template and edition is chosen from the Settings tab. These automatic calculations can be edited based on merits and or house rules from the Settings tab.<br />
<br />
==Dice Roller==<br />
[[file:diceroller.png|right]]<br />
The Dice Roller can dynamically roll any combination of attributes, skills, and powers. There are four quadrants inside the dice roller. The upper left quadrant shows a d10, ten sided dice. Clicking on this icon will roll with whatever dice roller options you have selected. Underneath the icon in the lower left quadrant is a quick preview of what attributes, skills, and powers are being rolled. The right quadrants are the roll options, including three methods of dice rolls in the upper right and explosion threshold options in the lower right.<br />
<br />
===Sheet Roll===<br />
A Sheet Roll will use whichever attributes, skills, or powers that are currently checked on the character sheet. To check a stat simple click on its name. You can tell that a stat is checked when it becomes highlighted with its game's color. The sheet is intelligent enough to predict a legal roll. For example, if you have Strength and Athletics selected and then choose a different skill like Brawl, the sheet will deselect Athletics for you.<br />
<br />
Both the Vampire and Mage templates have pre-listed powers. You can select them in Sheet Rolls like attributes and skills. For other games, due to the large number of abilities, you'll have to set up your powers and other unusual rolls on Page 2 as described later in this guide.<br />
<br />
===Attack Roll===<br />
[[file:weaponsandarmor.png|right]]<br />
An Attack Roll is made using the Weapon/Attack that is currently selected on the bottom of the sheet. The roll is determined by the weapon and edition you're playing.<br />
{| class="wikitable"<br />
|-<br />
! Type<br />
! Attribute and Skill<br />
|-<br />
| Brawl<br />
| Strength + Brawling<br />
|-<br />
| Melee<br />
| Strength + Weaponry<br />
|-<br />
| Gun<br />
| Dexterity + Firearms<br />
|-<br />
| Thrown<br />
| Dexterity + Athletics<br />
|-<br />
| Brawl*<br />
| Dexterity + Brawling<br />
|-<br />
| Melee*<br />
| Dexterity + Weaponry<br />
|}<br />
Note: A weapons damage is either added to the roll in first edition or added as automatic damage if there is a hit in second edition.<br />
<br />
===Simple Roll===<br />
A Simple Roll will query how many dice you want to roll and return the result based on the explosion options selected. <br />
<br />
===Explosion Options===<br />
The Explosion Options in the lower right hand quadrant of the Dice Roller gives you the ability to adjust what kind of explosion or roll again mechanics apply to your current roll.<br />
{| class="wikitable"<br />
|-<br />
! Option<br />
! Description<br />
|-<br />
| Normal<br />
| A Normal roll will roll the selected dice against a difficulty of eight with results of 10 exploding (rolled again).<br />
|-<br />
| 9-Again<br />
| A 9-Again roll will roll the selected dice against a difficult of eight with results of 9 or 10 exploding (rolled again).<br />
|-<br />
| 8-Again<br />
| A 8-Again roll will roll the selected dice against a difficult of eight with results of 8, 9, or 10 exploding (rolled again).<br />
|-<br />
| Chance<br />
| A Chance roll will roll one a single die, regardless of the dice pool selected, against a difficult of 10 with only results of 10 exploding (rolled again).<br />
|}<br />
<br />
==Settings Page==<br />
The Settings Page has two sections. At the top are options to select the edition and game type. The edition options are first and second editions. Depending on what you choose certain game mechanics will be automatically calculated differently, such as combat damage, initiative, and more. In addition this section will let you pick the game template such as vampire or werewolf. Changing the game template will set certain default powers and settings for some templates and update the character sheet background style.<br />
<br />
The bottom part of the Settings Page allows you to tweak the auto calculations happening on the sheet. The settings are defaulted to normal but allow you to change the following:<br />
{| class="wikitable"<br />
|-<br />
! Setting<br />
! Default<br />
! Description<br />
|-<br />
| Defense Trait<br />
| Lowest<br />
| Determines what attribute is used between Dexterity and Wits to determine your base Defense Score.<br />
|-<br />
| Base Size<br />
| 5<br />
| Sets a creatures base size, which also reflects in the character's health levels.<br />
|-<br />
| Giant<br />
| Unchecked<br />
| Adds a size when checked and corresponding health level.<br />
|-<br />
| Small Framed<br />
| Unchecked<br />
| Removed a size when checked and corresponding health level.<br />
|-<br />
| Bonus Health Levels<br />
| 0<br />
| Adjusts Health Levels by the amount set to accommodate unusual powers, merits, or traits.<br />
|-<br />
| Bonus Willpower<br />
| 0<br />
| Adjusts Willpower by the amount set to accommodate unusual powers, merits, or traits.<br />
|-<br />
| Species Factor<br />
| 5<br />
| Sets a creatures species factor, which also reflects in the character's speed.<br />
|-<br />
| Fleet of Foot<br />
| 0<br />
| Adjusts speed by the amount set to accommodate unusual powers, merits, or traits.<br />
|-<br />
| Fast Reflexes<br />
| 0<br />
| Adjusts initiative by the amount set to accommodate unusual powers, abilities, or traits.<br />
|}<br />
<br />
==Page 1==<br />
The first page is the primary page of the character sheet. All standard rolls and many powers can be rolled as a Sheet Roll directly from this page. Trait levels are represented traditionally as dots between one and five. You can set the trait to the corresponding dot by selecting the trait counting left to right. So, clicking on the second bubble with set the trait to two. All traits have an invisible, until hovered over, option to set the trait to zero on the far left of the visible dots.<br />
<br />
===Header===<br />
The header will dynamically adjust to the game template chosen, however character name and player will always be options.<br />
<br />
===Attributes and Skills===<br />
[[file:attributes.png|center]]<br />
The Attributes and Skill sections remain consistent between editions and game settings. Both of these sections will transfer seamlessly. Any of the attributes or skills can be checked to be included in a sheet roll.<br />
<br />
===Specializations===<br />
The Specialization section is set to the lower right hand side so that the players can note them without fear of running out of room in the Skills section. These specialization are not automatically included in skill rolls and have to be added as situational modifiers at the time of the roll.<br />
<br />
===Merits===<br />
There are 16 slots for merits. It is formatted traditionally with the merit name on the left and the level represented in dots on the right.<br />
<br />
===Other Traits and Powers===<br />
The Other Traits section will adjust to Disciplines for the Vampire Template and Arcana for the Mage Template. It provides a sixteen slots to fill in with powers and other traits. Disciplines and Arcana can be selected for sheet rolls like Attributes and Skills. For other abilities, powers, or traits use Page 2 as described later in this guide.<br />
<br />
===Weapon/Attack===<br />
The combat section of the sheet allows you to detail the attacks your character has prepared, be it a merit, ability, power or weapon.<br />
{| class="wikitable"<br />
|-<br />
! Stat<br />
! Description<br />
|-<br />
| Selected<br />
| To the far left of the attack is a bubble. If that bubble is filled then this is the weapon that is currently selected and armed. If a combat roll is made from the sheet roller, this weapon will be used in that roll.<br />
|-<br />
| Weapon/Attack<br />
| Represents the name or label of the attack your character has prepared.<br />
|-<br />
| Type<br />
| Offers you a dropdown list of preselected attack options. Choose the option that best represents the nature of your attack. A specific list of Attribute and Skill combinations is provided in the [Attack Roll] section above.<br />
|-<br />
| Dmg<br />
| Represents the amount of damage your chosen attack does. Damage is calculated by adding dice to your roll in 1st Edition games and as automatic damage in 2nd Edition.<br />
|-<br />
| Mag<br />
| Represents the amount of ammo the weapon holds.<br />
|-<br />
| Ini<br />
| Represents the initiative penalty for wielding that weapon. Note that this penalty will automatically be included if the weapon is selected.<br />
|-<br />
| Str<br />
| Is the minimum amount of the Strength Attribute a character needs to effectively wield the weapon. If the character isn't strong enough the difference is added as a penalty to the attack roll.<br />
|-<br />
| Sz<br />
| Represents the weapon's size and how difficult it is to conceal.<br />
|}<br />
<br />
===Armor===<br />
{| class="wikitable"<br />
|-<br />
! Stat<br />
! Description<br />
|-<br />
| Selected<br />
| To the far left of the attack is a bubble. If that bubble is filled then this is the armor that is currently selected. The benefits and penalties of the armor are reflected in defense, armor, speed and initiative calculations.<br />
|-<br />
| Armor<br />
| Represents the name or label of the armor your character is wearing.<br />
|-<br />
| Rating<br />
| Represents the ballistic and impact ratings of your armor.<br />
|-<br />
| Str<br />
| Is the minimum amount of the Strength Attribute a character needs to effectively wear the armor. If the character isn't strong enough the difference is added as a penalty to attack rolls.<br />
|-<br />
| Def<br />
| Represents the Defense penalty for wearing that armor. Note that this penalty will automatically be included if the armor is selected.<br />
|-<br />
| Spd<br />
| Represents the Speed penalty for wearing that armor. Note that this penalty will automatically be included if the armor is selected.<br />
|-<br />
| Description<br />
| A general text field to add notes or special features of the armor.<br />
|}<br />
<br />
===Derived Traits===<br />
Along the right hand side of the sheet are many of the derived traits of a character. Health, Willpower, Size, Speed, Defense, Armor, and Initiative will all be auto calculated based on rules edition, game template, and other attributes. Other attributes will be added or removed depending on these settings such as Morality replaced for the game's equivalent, power states such as Blood Potency will be added along with other resources like Vitae. Also, experience beats will be added if a 2nd edition game template is chosen.<br />
<br />
==Page 2==<br />
The 2nd page allows you to set up any custom roll you might want to save for your character. A central place to list out all of their powers, rituals, and spells. The 2nd page starts off empty by default but you can add as many repeating sections as you want to either the left or right hand columns. Each repeating section has certain options.<br />
[[file:nwod_custom.png|right]]<br />
[[file:nwod_custom_result.png|right]]<br />
{| class="wikitable"<br />
|-<br />
! Stat<br />
! Description<br />
|-<br />
| Roll<br />
| Is the name or label of the custom roll you're setting up. It will be displayed at the top of the roll template.<br />
|-<br />
| Action<br />
| Provides a dropdown of action options for what kind of action using the ability costs. This defaults to an Instant action.<br />
|-<br />
| Source<br />
| Is a place to notate what book and page number your abilities comes from for easy reference.<br />
|-<br />
| Stats<br />
| There are three options for stats separated by plus signs. In each part there is a long field for the name and a small field for the value of the stat. If your roll only uses one or two stats you can leave the rest blank and it won't be included in the roll.<br />
|-<br />
| Dice Icon<br />
| The d10 symbol will allow you to roll the repeating section to the chat tab. Note that it will use whatever exploding options are selected at the time of the roll, from the Dice Roller in the upper right hand corner of the sheet.<br />
|-<br />
| Description<br />
| A general text field to add notes, a description, or special features of the custom roll you're setting up.<br />
|}<br />
<br />
Any of the separate repeating sections can have their roll button, the d10 icon, dragged to their personal quick macro bar for repeated use outside of the character sheet.<br />
<br />
In addition to setting up static rolls in place of a number of dice for the three part roll, you can put the name of an attribute, skill, or power reference. All attributes, skills, and powers can be referenced by using their lowercase named without spaces. For example Strength can be called with @{strength}, Animal Ken can be called as @{animalken}, and Vigor as @{vigor}.<br />
<br />
==Page 3==<br />
On Page 3 you are given a series of text fields that will dynamically adjust to the game setting you've chosen. In addition to the existing fields are two repeating sections at the bottom of the list for you to add as many details as you want to your character.</div>5047