Character Vault
Any Concept / Any System
Compendium
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

Difference between revisions of "Character Sheets"

From Roll20 Wiki

Jump to: navigation, search
(Advanced Character Sheet Usage)
(Character Sheet in a separate window)
 
(160 intermediate revisions by 42 users not shown)
Line 1: Line 1:
Character Sheets are a new feature in Roll20 which allow you to use a digital sheet that's similar to a traditional paper character sheet while playing your game. The creator of a game can choose a character sheet template when setting up the game, and all characters in the game will use that sheet template.
+
{{revdate}}{{HCbox|{{hc|articles/360037773373-Character-Sheet-Tips-and-Tricks Character Sheet Tips & Tricks}} }}
 +
''Main Page'' '''[[Journal#Characters|Journal, "Characters"-section]]'''
  
 +
[[File:5E OGL Sheet Core v2.6.png|400px|thumbnail|right|The '''[[D&D 5E by Roll20]]''' Character Sheet, the most popular sheet used on Roll20]]
 +
'''Character Sheets''' allow you to use a digital sheet that's similar to a traditional paper character sheet while playing your game in Roll20. The [[GM#Creator|creator]] of a game can choose a character sheet template when setting up the game, and all characters in the game will use that sheet template.
  
==Choosing a Character Sheet==
+
The character sheet is an optional sub-section of the [[Character]], along with the [[Character#Bio_.26_Info_Tab|Bio]]- and [[Character#Attributes_.26_Abilities_Tab|Attributes&Abilites]]-tabs.
 +
=Choosing a Character Sheet Template=
 +
Depending on what game system you want to play, or even choosing between options available for some systems, you must decide what template, if any, to use in your game.
  
**Starting a New Campaign**
+
If you choose '''None''', then all [[characters]] will only have a [[#Bio|Bio]] & [[#Attributes & Abilites|Attributes & Abilites]]-tabs, but no tab for "Character Sheet."
 +
[[File:Sheet-template-none.png|300px|thumbnail|right| How a sheet without template looks like]] [[File:Cs.png|400px|thumbnail|right| The menu to choose '''Character Sheet Template''']]
  
When starting a new campaign, you can choose the Character Sheet you want to use from the handy drop-down available on the New Campaign creation screen. If you're making a Campaign that's a copy based on an existing Campaign, the copy will keep all relevant character sheet information to match the original.
+
==Starting a New Game==
  
**For an Existing Campaign**
+
When starting a new game, you (as the game's [[GM#Creator|Creator]]) have the option to choose the '''Character Sheet Template''' you want to use from the handy drop-down available on the New Game creation screen. The Sheet Template can be changed after game creation form the [[Game Settings]]-page. If you're making a Game that's a copy based on an existing Game, the copy will keep all relevant sheet template information to match the original. Finally, you need to click the (I'm Ready, Create Game) button to save.
  
To select a character sheet, the GM should navigate to Campaign Settings (My Campaigns > View Details > Campaign Settings). In the Character Sheet Template section, select a template from the dropdown. Mentors can also choose Custom to enter their own HTML and CSS.
+
==For an Existing Game==
  
==Character Sheet Basics==
+
To change or add Character Sheet, the Creator of the game should visit the Game Settings page. This page is accessed from the [[Game_Management#Settings|'''Settings dropdown''']] on the [[Game_Management#Game_Details|'''Game Details''']] page. Links to the Game Details pages of games that you belong to can be found on the [https://app.roll20.net/campaigns/search/ '''My Games'''] page.
  
[[File:Charsheetexample2.gif|framed|right]]
+
In the Character Sheet Template section, select a template from the dropdown. '''[[Pro]]''' subscribers can also choose '''Custom''', and then enter their own HTML/CSS/Translation code into the [[Sheet Editor]].  Finally, you need to click the '''(Save Changes)''' button found at the bottom of the screen.
  
If there is a character sheet template enabled for your game, there will be a new tab on when you open up a Character in your Journal labeled "Sheet". Clicking this tab will open the Character Sheet. The layout and look of your sheet, as well as what fields are available, will be determined by the template that the creator of the game has chosen.
+
[[File:Cs1.png|thumb|400px|Game Settings|left]]
  
The most basic way to interact with a sheet is simply by filling in values. You can type in text boxes, choose from drop-down menus, use checkboxes and radio buttons, etc. As you fill out the sheet, all of your changes are automatically saved.
+
<div style='clear: both;'></div>
  
Some fields may have default values already included. You can modify these values as needed for your particular Character. Some fields are also auto-calculating. As you fill out other parts of the sheet, those fields will auto-update to reflect their new values. You cannot modify those fields directly.
+
{{mbox | text = '''Note:''' You may need to remove any Attributes that you already have on your existing Characters, if they conflict with the names of the attributes on the new sheet template's [[Auto-Calc|auto-calculating values]]. If you are seeing weird results with rolls from the sheet, remove your attributes.}}
  
In addition to fields, your sheet may feature repeating sections. These are sections (for example, the "Skills" section in the example sheet shown to the right) where you can put more than one item in a list. Just click the "Add" button beneath the section to add a new entry. You can click the "Modify" button to delete existing entires.
+
<div style='clear: both;'></div>
  
Your sheet may also feature roll buttons. These are pre-defined rolls included with the sheet which allow you to quickly make attacks, roll checks, etc. These rolls will use the values that you have filled in on the sheet to function, so they're always up-to-date.
+
[[File:Journal1.0.jpg|thumb|The Add button in the Journal Tab|right|400px]]
  
==Advanced Character Sheet Usage==
+
==Add Individual Sheets In-Game==
 +
The Game's [[Creator]] (or anyone promoted to [[GM]]) can add individual character sheets in-game that can be assigned to people([[players]] can't do so). You go to the {{Journal}}-tab and click on the '''+ Add''' button and select '''Character''' from the dropdown menu.
  
'''Interaction with Attributes'''
+
'''[https://help.roll20.net/hc/en-us/articles/360037772613-Change-Log#june-8-2023-0-1 June 2023]:''' GMs now have an option to make it possible for players to create their own character sheets, and it's off by default.
  
Sheets in Roll20 are a presentation layer for the Attributes system. This means that every field on the sheet is "backed" by a corresponding Attribute on the Character. For example, if there is a field called "Strength" on the sheet, there will also be an attribute called "Strength" in the Attributes & Abilities listing tab. As you update the sheet, the attribute is updated, and vice versa. This also allows you to link the sheet to a token the same way you would link an Attribute to a token, via the "Represents" box on the Token Settings dialog.  
+
You can also add a character by right-clicking an existing folder in the {{Journal}}-tab, and selecting '''Add Character''' from the '''[[Journal#Folder_Options|Folder Options]]''' menu. Adding new '''Characters''' or '''Handouts''' using the right-click method places them directly into the right-clicked folder.
  
'''Interaction with Macros and Abilities'''
+
Regardless of how you create the Character entry, Roll20 will randomly generate a random name for the new Character.
  
You can reference sheet values in your Macros and Abilities by referencing the corresponding Attribute. For example, <code>@{Character Name|Strength}</code> would use the "Strength" attribute, which is also the "Strength" field on the sheet (which would have <code>name='attr_Strength'</code> in the sheet builder). If the Sheet has a "Strength" field which hasn't been edited yet by the player, then the result of the variable will be either the default value for the field specified on the sheet by the sheet designer, or it will be "" (an empty string).
+
<br>
 +
<br>
  
Note that at present you cannot reference auto-calced values from the character sheet.  This is in the works.  The suggested work-around in the meantime is to recalculate the values inside the macro.  An alternative is to create a hidden roll button (see below) with value='@{AutoCalcedName}'.  This can then be referenced elsewhere via the %{CharName|HiddenButtonName} syntax.  This requires minimal changes to remove the workaround later.
+
=Character Sheet Basics=
  
'''Interaction with the API'''
+
[[File:Charsheetexample2.gif|thumbnail|right|550px|Drag and drop sheet buttons to the macro quick bar.]]
  
Since all sheet fields are attributes, you can simply use the existing API methods for Attributes to read or update sheet values as needed. Note that if a sheet field has not been edited yet for a Character, that Character will not have an attribute for that field. So be sure to check for "undefined" Attributes when fetching values. Once a sheet has been edited for a Character, the Attribute is available to the API for reading. You can always write to the Attribute even if the sheet hasn't been edited yet by creating that Attribute yourself -- the sheet in-game will update accordingly.
+
If there is a character sheet template enabled for your game, there will be a new tab on when you open up a Character in your Journal labeled "Character Sheet". Clicking this tab will open the Character Sheet. The layout and look of your sheet, as well as what fields are available, will be determined by the template that the creator of the game has chosen.
  
You can get the value of attributes via the following function call.  If the attribute has not been edited, it returns the default value, if it is an auto-calc value, it returns the auto-cal formula, not the calculated value.  Note that value_type appears to be optional.
+
The most basic way to interact with a sheet is simply by filling in values. You can type in text boxes, choose from drop-down menus, use checkboxes and radio buttons, etc. As you fill out the sheet, all of your changes are automatically saved.
  
getAttrByName(character_id, attribute_name, value_type);
+
Some fields may have default values already included. You can modify these values as needed for your particular Character. Some fields are also auto-calculating. As you fill out other parts of the sheet, those fields will auto-update to reflect their new values. You cannot modify those fields directly.
 +
<br clear=all>
 +
{{mbox | text = '''Useful Tip:''' To the left of the Character name is a popout button. Click to pop your info window out into a new browser window. Visit the '''[[My Settings]]''' page to set popout windows to automatic.}}
 +
<br>
  
==Building a Character Sheet==
+
== Sheet Rolls ==
 +
Your sheet may also feature roll buttons. These are pre-defined rolls included with the sheet which allow you to quickly make attacks, roll checks, etc. These rolls will use the values that you have filled in on the sheet to function, so they're always up-to-date.
  
To build a sheet from scratch, choose the "Custom" option in the drop-down of your Campaign Settings page when choosing a character sheet template. You will be presented with an editor allowing you to build the sheet. The editor has three tabs: HTML/Layout, CSS/Styling, and Preview.  
+
To acquire the contents of a sheet roll button:
 +
# Click on the sheet roll button.
 +
# Focus the <span style="font-family:Pictos;">q</span> [[Text_Chat#Chat|Text Chat's input box]] (by clicking into to it, or using the [[Advanced_Shortcuts|Advanced Shortcut]] {{button|C}} {{button|C}}). When it's focused, a blue outline appears around it.
 +
# Press the {{button|&uarr;}}(up arrow) key on your keyboard.
 +
# The contents of the sheet roll button will then populate the Text Chat input box.
 +
<br>
 +
To acquire the [[Character#Abilities|Ability call]] corresponding to that sheet roll button, drag the sheet button down to the [[Macros#Macro_Bar|Macro Quick Bar]], click on what you just dragged down, and then complete steps 2 to 4.
  
===HTML/Layout===
+
=== Drag and Drop Buttons ===
 +
You can [[Drag & Drop]] sheet buttons to the [[Macros#Macro_Bar|macro quick bar]]. Buttons may be dragged directly off of the character sheet and placed onto the Macro Quick Bar at the bottom of the screen, simply by clicking and dragging the button into place. The buttons can be removed by dragging the button out of the quick bar into open space, the button will turn red and then vanish when the mouse is released. Please note, if you have the pop-out option enabled for the character sheets you must first disable it under your user settings ({{gear}}cog icon) before the drag and drop function will work. You can then turn it back on after you arrange your macro buttons.
 +
[[File:Turn-Tracker-Init-from-sheet.gif|right|thumb|500px|Example of an Initiative Roll that appears on the {{Turn Tracker}} ]]
 +
To delete a button that was added to the macro bar, drag the button off the bar.
  
HTML is used to define the fields and layout the character sheet template. You can use most of the basic HTML tags, such as <code>p,div,textarea,input,select,img</code>, etc. Note that you cannot use any Javascript on your sheet template.
+
=== Initiative Rolls ===
 +
For an Initiative roll to end up on the <span style="font-family:Pictos;">t</span>[[Turn_Tracker#Character_Sheet|Turn Tracker]], a [[Token|token]] '''must''' first be selected, otherwise the roll only appears in the {{Text Chat}}.
  
'''Creating Fields'''
+
The Initiative roll can be made from a character sheet, or reference stats from a sheet, but doesn't have to. See [[Dice Reference#Roll To Initiative|Dice Reference - Initiative]], for more details.
 +
{{clear}}
 +
== Repeating Sections ==
 +
{{main|Repeating Section}}
 +
{{:Repeating Section}}
 +
==Link Token==
 +
{{#evp:youtube|c-JmxkjLnDU|Connecting Tokens to Character Sheets, 6min(Sep 2021)|right|400}}
 +
[[Linking Tokens to Journals|Linking Token to a Character]] is a good idea to make character sheets quicker & easier to use. Only the [[GM]] can updates the [[Journal#Default_Token|Default Token]] of a character.
  
To create a field in the sheet, use the <input type="text">, <input type="number">, <input type="checkbox">, <input type="radio">, <select>, or <textarea> tags. (Note: <input> tags must have a type specified (text, number, checkbox, or radio)). For each tag, you must include a <code>name</code> attribute which begins with "attr_" and defines the unique attribute name for this field. For example, <code><input type="text" name="attr_Strength" /></code> would create a text input for the "Strength" attribute. If you want the field to utilize the "max" of an attribute instead of the normal value, you can append "_max" onto the name of the field. For example, <code><input type="text" name="attr_Strength_max" /></code>.
+
If a [[token]] is linked to a character sheet, you can open up the character sheet by pressing {{button|Shift}} & double-clicking the token.
 +
{{clear}}
 +
=Default Sheet Settings=
 +
'''Default Sheet Settings''' will determine default values & settings for any new character sheets added to the {{Journal}}, which the [[GM]] can change from the [[Game_Settings_Page#Default_Sheet_Settings|Game Settings Page]].
  
'''Default Values'''
 
  
You can also optionally include a <code>value</code> attribute on the tag, which will define the default value for the field. For example, <code><input type="number" name="attr_AC" value="0" /></code> would define an "AC" field with a default value of "0". If no default value is specified, it is an empty string ("").
+
If you want to apply these settings to '''existing''' character sheets in the game, go to {{My Settings}} in-game, and press the [[My_Settings#Apply_Default_Settings|Apply Default Settings]]-button.
 +
=Advanced Usage=
  
'''Checkboxes and Radio Buttons'''
+
==Attributes==
 +
{{main|Character#Attributes}}
 +
'''Interaction with Attributes'''
  
For checkboxes and radio buttons, you must always specify a <code>value</code> attributes.  
+
Sheets in Roll20 are a presentation layer for the Attributes system. This means that every field on the sheet is "backed" by a corresponding Attribute on the Character. For example, if there is a field called "Strength" on the sheet, there will also be an attribute called "Strength" in the [[Journal#Attributes_.26_Abilities_Tab|Attributes & Abilities]]-tab. As you update the sheet, the attribute is updated, and vice versa. This also allows you to link the sheet to a [[token]] the same way you would link an Attribute to a token, via the "Represents" box on the Token Settings dialog.  
  
For checkboxes, the if the box is checked the attribute will be set to the value of the checkbox. If it is not checked, it will be set to "0". If you would like a checkbox to be checked by default, add the "checked=true" attribute. For example, <code><input type='checkbox' name='attr_HasShield' value='1' checked='true' /></code>.
+
==Macros and Abilities==
 +
{{main|Macro Guide}}
 +
'''Interaction with Macros and Abilities'''
  
For radio buttons, if one of the radio buttons is selected, the attribute will be set to the value of that radio button. If no radio buttons are selected, the value will be an empty string. At least one of the radio buttons should have the <code>checked="true"</code> attribute to set a default value. Radio buttons are the only type of field where it is permissible to have more then one field with the same "name" attribute. For example, <code><input type='radio' value='10' name='attr_Multiplier /><input type='radio' value='25' name='attr_Multiplier' checked='true' /></code>.
+
You can reference sheet values in your Macros and Abilities by referencing the corresponding Attribute. For example, <code>@{Bob|strength}</code> would use the <code>strength</code> attribute, which is also the <code>strength</code> field on the sheet (which would have <code>name='attr_strength'</code> in the sheet code). If the Sheet has a <code>strength</code> field which hasn't been edited yet by the [[player]], then the result of the variable will be either the default value for the field specified on the sheet by the sheet designer, or it will be "" (an empty string).
  
'''Auto-Calculating Values'''
+
Note that at present you cannot reference [[Auto-Calc|auto-calculated]] values or sheet rolls from the character sheet using the auto-complete function (discussed in [[Macros]]) in custom macros on the abilities page or in the {{Text Chat}}. You can, however, reference all of them by typing them out manually (for example, <code>/roll 1d20+@{Alice|STR-mod}</code> for a strength check using the Pathfinder character sheet). You can also create an ability that contains the macro or sheet roll(s) you wish to use, and then you can reference that ability with the auto-complete function. To find the specific name of a given auto-calculated field, read the specific notes about the character sheet you are using. Some sheets have tooltips telling you the name of the attribute, but this is at the discretion of the sheet author.
  
You can include a formula in the default value for the field, and specify the <code>disabled="true"</code> attribute on the field. If you do so, the sheet will display the result of the formula instead of the formula itself. For example, <code><input type="number" name="attr_StrMod" value="@{Strength}/2" disabled="true" /></code> would create a "StrMod" field that shows half the Strength value. These auto-calculating attributes can be used in Sheet Rolls, Macros, and Abilities as normal.
 
  
Note that you can only include attributes from the current Character. You also can't include macros, abilities, or rolls...just basic math such as <code>@{Intelligence}/2+@{Level}</code>. You also have access to the floor, round, and ceil functions, such as <code>floor(@{Intelligence}/2)</code>.
+
==Roll Templates==
 +
{{main|Roll Templates}}
  
'''Sheet Rolls and Roll Buttons'''
+
Roll Templates are a special facet of the Character Sheets system which can be added by the sheet author to provide additional layout and styling options for the display of roll results in the {{Text Chat}}
  
You can include pre-defined rolls on your sheet. This is a great way to add the rolls that will be needed by the player when using the standard rolls in the game system. For example, you may want to add a "Roll Check" button next to each "Bluff", "Intimidate", etc. field on the sheet. To define a roll, just use the <code><button></code> tag. The <code>type</code> attribute should be set to "roll". The roll itself is defined in the <code>value</code> attribute. You can also add a <code>name</code> attribute which allows the roll to be referenced in external Macros and Abilities. A full example of a bluff check roll might look like: <code><button type='roll' value='/roll 1d20 + @{Bluff}' name='roll_BluffCheck' /></code>. Note that you can reference attributes/fields on the sheet using the <code>@{AttributeName}</code> syntax. You could also then roll that example in other Macros or Abilities using <code>%{CharName|BluffCheck}</code>. '''Note:''' The names you give your Sheet Rolls must be unique from any Ability names on your Characters if you want to reference them in Abilities or Macros. You can also just not give your Sheet Rolls names if you just want them to only be rolled by clicking the button on the Sheet itself.
+
* [[D&D 5e by Roll20 Roll Templates]]
 +
* [[Pathfinder by Roll20/Roll Templates]]
 +
* [[:Category:Roll Templates]]
 +
 
 +
==API==
 +
{{pro only|section}}{{apiboxRec}}
 +
Since all sheet fields are attributes, you can simply use the existing [[API]] methods for Attributes to read or update sheet values as needed. Note that if a sheet field has not been edited yet for a Character, that Character will not have an attribute for that field. So be sure to check for "undefined" Attributes when fetching values. Once a sheet has been edited for a Character, the Attribute is available to the API for reading. You can always write to the Attribute even if the sheet hasn't been edited yet by creating that Attribute yourself -- the sheet in-game will update accordingly.
 +
 
 +
You can get the value of attributes via the following function call.  If the attribute has not been edited, it returns the default value, if it is an auto-calc value, it returns the auto-cal formula, not the calculated value.  Note that value_type appears to be optional.
  
'''Columns and Layout'''
+
<code>getAttrByName(character_id, attribute_name, value_type);</code>
  
While you are free to use your own CSS (see below) to layout the sheet, we do provide a few basic classes you can use to organize things into a simple column-based layout. To use them, just create a div with a class of 'sheet-3colrow', 'sheet-2colrow', or 'sheet-row'. Then inside of that div, create a div for each column with a class of 'sheet-col'. For example, to create a 3-column layout, you would could:
 
  
<pre data-language="javascript">
+
'''Character Sheet related APIs:'''
<div class='sheet-3colrow'>
+
* '''[[Script:ChatSetAttr|ChatSetAttr]]''' -- Create, modify, and delete character attributes via chat commands or macros. ChatSetAttr can be embedded into normal macros.
    <div class='sheet-col'>
+
* '''[[Script:Group_Initiative]]''' -- A way to quickly roll initiative for multiple characters
        <!-- Put the content for the first column here -->
+
* '''[[Script:GroupCheck]]''' -- A way to quickly roll a group check for everyone and see if they succeed
    </div>
+
* [[Script:CharSheet|CharSheet]] -- Allow players to create their own character sheets.
    <div class='sheet-col'>
+
* [[Script:Ammo|Ammo]] -- Provides inventory management for ammunition stored in an attribute of a character. Can be used with any char sheet
        <!-- Second column -->
+
* {{fpl|9888024/ PlayerCharacters}} -- Player & Character Manager. List all Player Characters divided by Player for the GM, or all assigned Characters for a Player. Add Characters for GM and Players.
    </div>
+
* {{fpl|6213379/ PublicSheet}} -- Creates a "public" version of character sheets that players can't edit, which mirrors the ''actual'' character sheet.
    <div class='sheet-col'>
+
* {{fpl|9934364/ Reporter}} -- A script to poll the game and return info on Token/Character pairs, along with customized action tools.
        <!-- Third column -->
+
* {{fpl|4742980/ Observer}} -- Manages observer players, who are given the visibility (and control) of all player characters. This is useful for both podcasting views and local play on a single player screen.
    </div>
+
* {{fpl|5281433/ Welcome Package}} -- API create and assigns character sheets to new people who join a game
</div>
+
* See more: '''[[API:Script Index]]'''
</pre>
+
  
'''Repeating Sections'''
+
==Modifying Community Sheet==
 +
{{pro only|section}}
 +
If you are interested in creating your own Character Sheet for a new game system, improving an existing sheet, or creating your own sheet that's fully customized for your individual play style, you can build your own custom character sheet .
  
Sometimes you may have a type of object where there may be one or more of them, and it's not known ahead of time how many there are. A good example of this is the Skills listing for a Character in Savage Worlds. Roll20's sheets allow you to define a template for each item in the section, and the player can then add as many of these in the listing as they need. To define a repeating section, use a <code><fieldset></code> tag. Add a class called "repeating_<sectionname>" to the tag, and inside the tag put the fields that each item will have. Note that no two sections on your sheet should have the same name, and that you cannot use underscores in your sectionname. Here's an example of a Skills listing:
+
Read More at '''[[Building Character Sheets]]''' & [[Use Custom Sheet]]
  
<pre data-language="javascript">
+
If you run a slightly modified version of a common game system (such as Pathfinder with your own homebrew rules), you may want to modify the existing sheet. To do so, you must be a '''Pro''' subscriber. If you are:
<h3>Skills</h3>
+
<fieldset class="repeating_skills">           
+
    <select name="attr_dtype" class="dtype">               
+
          <option value="d4">d4</option>
+
          <option value="d6">d6</option>
+
          <option value="d8">d8</option>
+
          <option value="d10">d10</option>
+
          <option value="d12">d12</option>
+
      </select>
+
      <input type="text" name="attr_skillname" />       
+
</fieldset>
+
</pre>
+
  
When the sheet is displayed, Roll20 will automatically add "Add" and "Modify" buttons to allow the player to add as many of each item as needed. Each item will have its own set of fields (in the example above, each has its own "attr_dtype" and "attr_skillname").
+
# Go to the [[Game_Management#Game_Details_Page|Game Details]] => [[Game Settings]] page of your game (outside of the game). Make sure that the "Custom" option is selected under the Character Sheet Template section. You will see an editor with 3 tabs.
 +
# Go to the {{repo|Roll20/roll20-character-sheets Github repository}} for the community sheets.
 +
# Find the folder for the sheet you are using (e.g. "Pathfinder").
 +
# There should be an HTML file and a CSS file in the folder. You can ignore any other files. Copy the contents of the HTML file and paste them into the HTML/Layout tab of the sheet editor for your game. Do the same for the CSS file and the CSS/Style tab.
 +
# Make your modifications. Those modifications will only apply to this game, and they don't have to approved by anyone else. You can find more information about how to create new fields and other sheet tools on the [[Building Character Sheets]] page.
 +
# '''NOTE:''' If you decide to use a custom version of a community sheet, you will not receive future updates for the community sheet.
  
Internally, each repeating item is stored in an attribute like so: "repeating_skills_0_dtype" and "repeating_skills_0_skillname" for the first item, "repeating_skills_1_dtype" and "repeating_skills_1_skillname", etc. '''Do not attempt to manage these attributes manually''', as if items are added or deleted from the repeating list, what item is stored at each index will change. These repeating attributes are NOT shown in the Attributes listing for players to edit for this reason.
 
  
'''Security Filtering'''
 
  
There are a few caveats to be aware of in regards to the security filtering that Roll20 applies to your HTML:
+
=Character Sheet in a separate window=
 +
[[File:Char-sheet-pop-out-button.png|thumb|Highlighted in red, the button to open a character in a separate window|right|300px]]
 +
It's possible to have the character sheet "popped out" in a separate browser window from Roll20, but while in this mode, a number of things don't work quite as well as when it's viewed inside the VTT. The popping out feature is more of a convenience during play to keep the window uncluttered, but if you want to make lots of changes to the sheet, it's generally a good idea to not have it "popped out".
  
* All classes that don't start with "attr_", "repeating_", or "roll_" will be prefixed with "sheet-".
+
'''Things that don't work when sheet is in a separate window:'''
* All images will be passed through the Roll20 image proxy to prevent security attacks. This should be largely transparent to you and shouldn't affect anything, but it's something to be aware of.
+
  
 +
* '''[[Charactermancer]] doesn't work.''' - You might be able to open it, but the final step to finish building doesn't work.
 +
* '''Can't [[drag-n-drop]]''' - drag-n-drop from the {{compendium}} to the sheet when it's in its own window is inconsistent, and doesn't work in all situations.
 +
* '''Can't re-order things in [[#Repeating Sections]]''' - You can check/uncheck the "lock" and delete entries, but not re-order them
 +
* '''Edit "[[Character#Bio_.26_Info_Tab|Bio & Info]]"-tab''' - when you press on the edit button, Roll20 opens the sheet inside the main Roll20 application on the "Bio & Info" page for the sheet
 +
* '''Nothing in the "[[Journal#Attributes_.26_Abilities_Tab|Attributes & Abilities]]"-tab can be re-ordered''' - you can add & delete Attributes and add Abilities, but not re-order them
 +
* '''The "Share with Players" button disappears.
  
'''Only Use Classes, not IDs'''
+
[[File:Char-sheet-popped-out.png|thumb|Example of how the character sheet looks while in a separate window(Firefox 75/Linux Mint 19/April 14th 2020)|left|500px]]
 +
<br clear=all>
  
You should not use IDs on your tags (for example, DO NOT do <input type='text' id='name' />). Since there are multiple copies of each sheet in the DOM at once, using an ID is incorrect since IDs should only be used on unique elements.
+
=Community Sheets=
  
'''Complete Example'''
+
There is a library of sheets contributed by the community that you can choose to use instead of creating your own from scratch. If you want to help improve those sheets or add a sheet for a new game, see the {{repo|Roll20/roll20-character-sheets Github repository}} and [[Beginner's Guide to GitHub]].
  
Here's a complete example of a basic Savage Worlds sheet HTML layout and CSS stylesheet: [https://github.com/Roll20/roll20-character-sheets/tree/master/kitchensink Kitchen Sink example]
 
  
===CSS/Styling===
+
[[BCS|Editing & building character sheets]] require [[Pro]] subscription.
  
You can use custom CSS to style the way that your sheet looks to players. You can use nearly any CSS styling that you want, including background images, colors, font sizes, etc. There are just a few caveats to note:
+
You can request the community to create new sheets here: {{forum|10137951/character-sheet-requests-q3-2021 Character Sheet Requests Q3 2021}}
  
* All of your CSS styles will be restricted to the ".charsheet" parent class. So if you put a style called "input", the system will automatically prefix that with ".charsheet input". This shouldn't affect you in general, but it prevents you from changing any of the Roll20 application CSS outside of the character sheets.
+
==Character Sheet Guides==
* Note that by default, any HTML classes defined in your HTML layout which don't begin with "attr_", "roll_" or "repeating_" will be prefixed with "sheet-". So for example, if you want to style some of your input tags to be shorter than others and you define the HTML as "<input class='shortfield'>", when processing your layout it will be changed to "<input class='sheet-shortfield'>". So basically, you should probably prefix your classes in your HTML and CSS with "sheet-" to avoid confusion.
+
Here is a list of some of the Guides for popular or well-documented character sheet. See also the '''[[:Category:Character Sheet Documentation|Full list of Character Sheet Guides]]'''<br />
  
 +
* '''[[5E|D&D 5E]]'''
 +
** '''[[D&D 5E by Roll20]]''' - The most used sheet on Roll20
 +
** [[DnD5e Shaped Character Sheet|D&D 5E (Shaped)]] - The second-most popular D&D 5E sheet
 +
** [[DnD5E Community Contributed | D&D 5E (Community Contributed)]]
 +
<br>
 +
* '''[[Pathfinder]]/Pazio'''
 +
** [[Pathfinder_Second_Edition_Official|Pathfinder Second Edition by Roll20]]
 +
** [[Pathfinder_Official|Pathfinder (1E) by Roll20]]
 +
** [[Pathfinder_Character_Sheet|Pathfinder (1E) Community Sheet]]
 +
<br>
  
===Preview===
+
'''[[:Category:Official Sheet|Official(by Roll20)]] sheets/[[:Category:Publisher Sheet|Publisher-made]] Sheets'''
  
The preview pane updates in real-time whenever you change the HTML or CSS of your sheet to show you what that sheet will look like in-game. It's very useful for checking while your editing to make sure that the end-result is as you expect it to be.
+
* [[Burn Bryte]]
 +
* [[Earthdawn - FASA Official V2]]
 +
* [[Fate by Evil Hat]]
 +
* [[Free Spacer]]
 +
* [[Official Savage Worlds]]
 +
* [[Stargate|Stargate RPG]]
 +
<br>
 +
'''Other well-documented sheets:'''
  
The Preview pane applies all the same security precautions and filtering as the main Roll20 application. Be sure to right-click and Inspect Element if you are seeing strange behavior (e.g. your styles aren't being applied correctly) -- it may be that there is a security filter that is changing the name of a class or something similar.
+
* [[ADnD 2nd Edition Character sheet|AD&D 2E]]
 +
* [[ADnD 2nd Edition Character sheet Simplified| AD&D 2E (Simplified)]]
 +
* [[Genesys]]
 +
* [[Heroes Unlimited 2E]]
 +
* [[Palladium Fantasy 1E]]
 +
* [[Palladium Fantasy 2E]]
 +
* [[Star Wars D6 Sheet|Star Wars D6/WEG]]
 +
* [[Star_Wars_Saga_Edition_Character_Sheet|Star Wars Saga Edition]]
 +
* [[Torg Eternity Community Sheet|Torg Eternity]]
 +
* [[Zweihänder Grim & Perilous]]
  
==Community Sheets==
+
* '''{{hc|categories/360003712814-Roll20-Character-Sheets by Roll20 sheets}}''' - official documentation
  
There is a library of sheets contributed by the community that you can choose to use instead of creating your own from scratch. If you want to help improve those sheets or add a sheet for a new game, see the [https://github.com/Roll20/roll20-character-sheets Github repository].
+
=Related Pages=
 +
* {{Journal}}-tab - Other aspects of the character sheet
 +
* [[Character Vault]] - where you can import/export characters between games, saving the associated Bio, Avatar, and Token image + settings.
 +
* [[Adding Character Sheet]] - Guide for both adding individual characters to a game, and for adding specific Character Sheet Template to a campaign.
 +
* [[Tokens]]
 +
** '''[[Linking Tokens to Journals|Linking Tokens to Character sheets]]'''
 +
* [[Complete Guide to Macros & Rolls]]
 +
* [[Transmogrifier]] ({{Pro}}) - useful for moving characters between games in bulk
 +
<br/>
 +
<br/>
 +
[[Category:Docs]]
 +
[[Category:Character Sheets]]

Latest revision as of 15:34, 17 June 2024

Attention: This page is community-maintained. For the official Roll20 version of this article, see the Help Center for assistance: Character Sheet Tips & Tricks .

Main Page Journal, "Characters"-section

The D&D 5E by Roll20 Character Sheet, the most popular sheet used on Roll20

Character Sheets allow you to use a digital sheet that's similar to a traditional paper character sheet while playing your game in Roll20. The creator of a game can choose a character sheet template when setting up the game, and all characters in the game will use that sheet template.

The character sheet is an optional sub-section of the Character, along with the Bio- and Attributes&Abilites-tabs.

Contents

[edit] Choosing a Character Sheet Template

Depending on what game system you want to play, or even choosing between options available for some systems, you must decide what template, if any, to use in your game.

If you choose None, then all characters will only have a Bio & Attributes & Abilites-tabs, but no tab for "Character Sheet."

How a sheet without template looks like
The menu to choose Character Sheet Template

[edit] Starting a New Game

When starting a new game, you (as the game's Creator) have the option to choose the Character Sheet Template you want to use from the handy drop-down available on the New Game creation screen. The Sheet Template can be changed after game creation form the Game Settings-page. If you're making a Game that's a copy based on an existing Game, the copy will keep all relevant sheet template information to match the original. Finally, you need to click the (I'm Ready, Create Game) button to save.

[edit] For an Existing Game

To change or add Character Sheet, the Creator of the game should visit the Game Settings page. This page is accessed from the Settings dropdown on the Game Details page. Links to the Game Details pages of games that you belong to can be found on the My Games page.

In the Character Sheet Template section, select a template from the dropdown. Pro subscribers can also choose Custom, and then enter their own HTML/CSS/Translation code into the Sheet Editor. Finally, you need to click the (Save Changes) button found at the bottom of the screen.

Game Settings
The Add button in the Journal Tab

[edit] Add Individual Sheets In-Game

The Game's Creator (or anyone promoted to GM) can add individual character sheets in-game that can be assigned to people(players can't do so). You go to the N Journal-tab and click on the + Add button and select Character from the dropdown menu.

June 2023: GMs now have an option to make it possible for players to create their own character sheets, and it's off by default.

You can also add a character by right-clicking an existing folder in the N Journal-tab, and selecting Add Character from the Folder Options menu. Adding new Characters or Handouts using the right-click method places them directly into the right-clicked folder.

Regardless of how you create the Character entry, Roll20 will randomly generate a random name for the new Character.



[edit] Character Sheet Basics

Drag and drop sheet buttons to the macro quick bar.

If there is a character sheet template enabled for your game, there will be a new tab on when you open up a Character in your Journal labeled "Character Sheet". Clicking this tab will open the Character Sheet. The layout and look of your sheet, as well as what fields are available, will be determined by the template that the creator of the game has chosen.

The most basic way to interact with a sheet is simply by filling in values. You can type in text boxes, choose from drop-down menus, use checkboxes and radio buttons, etc. As you fill out the sheet, all of your changes are automatically saved.

Some fields may have default values already included. You can modify these values as needed for your particular Character. Some fields are also auto-calculating. As you fill out other parts of the sheet, those fields will auto-update to reflect their new values. You cannot modify those fields directly.


[edit] Sheet Rolls

Your sheet may also feature roll buttons. These are pre-defined rolls included with the sheet which allow you to quickly make attacks, roll checks, etc. These rolls will use the values that you have filled in on the sheet to function, so they're always up-to-date.

To acquire the contents of a sheet roll button:

  1. Click on the sheet roll button.
  2. Focus the q Text Chat's input box (by clicking into to it, or using the Advanced Shortcut C C). When it's focused, a blue outline appears around it.
  3. Press the (up arrow) key on your keyboard.
  4. The contents of the sheet roll button will then populate the Text Chat input box.


To acquire the Ability call corresponding to that sheet roll button, drag the sheet button down to the Macro Quick Bar, click on what you just dragged down, and then complete steps 2 to 4.

[edit] Drag and Drop Buttons

You can Drag & Drop sheet buttons to the macro quick bar. Buttons may be dragged directly off of the character sheet and placed onto the Macro Quick Bar at the bottom of the screen, simply by clicking and dragging the button into place. The buttons can be removed by dragging the button out of the quick bar into open space, the button will turn red and then vanish when the mouse is released. Please note, if you have the pop-out option enabled for the character sheets you must first disable it under your user settings (ycog icon) before the drag and drop function will work. You can then turn it back on after you arrange your macro buttons.

Example of an Initiative Roll that appears on the t Turn Tracker

To delete a button that was added to the macro bar, drag the button off the bar.

[edit] Initiative Rolls

For an Initiative roll to end up on the tTurn Tracker, a token must first be selected, otherwise the roll only appears in the q Text Chat.

The Initiative roll can be made from a character sheet, or reference stats from a sheet, but doesn't have to. See Dice Reference - Initiative, for more details.

[edit] Repeating Sections

Main Page: Repeating Section

[edit] Using

Example of deleting & reordering a repeating section on the D&D 5E by Roll20-sheet.


In addition to fields, your character sheet may feature one or more repeating section , where you can dynamically change a list by adding/reordering/removing entries to them.

How the Repeating sections buttons look may vary between character sheets for different systems, but this is how the buttons usually look:

  • Add: Click on the &-button in the bottom-left corner of the repeating section to add a new entry.
  • Modify: Click the ( "Modify/Lock"-button to enable deleting existing entries, or reorganizing them.
    • Reorder: Press and hold the -symbol of a specific row, and then drag it up- or downwards to change it's position. (left side)
    • Delete: Press the #-icon of of a specific row, to delete it. You get no warning, so it's deleted right away. (right side)
    • When you're done deleting/re-ordering things, click on the )(bottom right) to exit the edit mode for the rep section


For info on coding rep sections for character sheets, see: Character Sheet Development/Repeating Section

[edit] Link Token

Connecting Tokens to Character Sheets, 6min(Sep 2021)

Linking Token to a Character is a good idea to make character sheets quicker & easier to use. Only the GM can updates the Default Token of a character.

If a token is linked to a character sheet, you can open up the character sheet by pressing Shift & double-clicking the token.

[edit] Default Sheet Settings

Default Sheet Settings will determine default values & settings for any new character sheets added to the N Journal, which the GM can change from the Game Settings Page.


If you want to apply these settings to existing character sheets in the game, go to y My Settings in-game, and press the Apply Default Settings-button.

[edit] Advanced Usage

[edit] Attributes

Main Page: Character#Attributes

Interaction with Attributes

Sheets in Roll20 are a presentation layer for the Attributes system. This means that every field on the sheet is "backed" by a corresponding Attribute on the Character. For example, if there is a field called "Strength" on the sheet, there will also be an attribute called "Strength" in the Attributes & Abilities-tab. As you update the sheet, the attribute is updated, and vice versa. This also allows you to link the sheet to a token the same way you would link an Attribute to a token, via the "Represents" box on the Token Settings dialog.

[edit] Macros and Abilities

Main Page: Macro Guide

Interaction with Macros and Abilities

You can reference sheet values in your Macros and Abilities by referencing the corresponding Attribute. For example, @{Bob|strength} would use the strength attribute, which is also the strength field on the sheet (which would have name='attr_strength' in the sheet code). If the Sheet has a strength field which hasn't been edited yet by the player, then the result of the variable will be either the default value for the field specified on the sheet by the sheet designer, or it will be "" (an empty string).

Note that at present you cannot reference auto-calculated values or sheet rolls from the character sheet using the auto-complete function (discussed in Macros) in custom macros on the abilities page or in the q Text Chat. You can, however, reference all of them by typing them out manually (for example, /roll 1d20+@{Alice|STR-mod} for a strength check using the Pathfinder character sheet). You can also create an ability that contains the macro or sheet roll(s) you wish to use, and then you can reference that ability with the auto-complete function. To find the specific name of a given auto-calculated field, read the specific notes about the character sheet you are using. Some sheets have tooltips telling you the name of the attribute, but this is at the discretion of the sheet author.


[edit] Roll Templates

Main Page: Roll Templates

Roll Templates are a special facet of the Character Sheets system which can be added by the sheet author to provide additional layout and styling options for the display of roll results in the q Text Chat

[edit] API

Since all sheet fields are attributes, you can simply use the existing API methods for Attributes to read or update sheet values as needed. Note that if a sheet field has not been edited yet for a Character, that Character will not have an attribute for that field. So be sure to check for "undefined" Attributes when fetching values. Once a sheet has been edited for a Character, the Attribute is available to the API for reading. You can always write to the Attribute even if the sheet hasn't been edited yet by creating that Attribute yourself -- the sheet in-game will update accordingly.

You can get the value of attributes via the following function call. If the attribute has not been edited, it returns the default value, if it is an auto-calc value, it returns the auto-cal formula, not the calculated value. Note that value_type appears to be optional.

getAttrByName(character_id, attribute_name, value_type);


Character Sheet related APIs:

  • ChatSetAttr -- Create, modify, and delete character attributes via chat commands or macros. ChatSetAttr can be embedded into normal macros.
  • Script:Group_Initiative -- A way to quickly roll initiative for multiple characters
  • Script:GroupCheck -- A way to quickly roll a group check for everyone and see if they succeed
  • CharSheet -- Allow players to create their own character sheets.
  • Ammo -- Provides inventory management for ammunition stored in an attribute of a character. Can be used with any char sheet
  • PlayerCharacters(Forum) -- Player & Character Manager. List all Player Characters divided by Player for the GM, or all assigned Characters for a Player. Add Characters for GM and Players.
  • PublicSheet(Forum) -- Creates a "public" version of character sheets that players can't edit, which mirrors the actual character sheet.
  • Reporter(Forum) -- A script to poll the game and return info on Token/Character pairs, along with customized action tools.
  • Observer(Forum) -- Manages observer players, who are given the visibility (and control) of all player characters. This is useful for both podcasting views and local play on a single player screen.
  • Welcome Package(Forum) -- API create and assigns character sheets to new people who join a game
  • See more: API:Script Index

[edit] Modifying Community Sheet

If you are interested in creating your own Character Sheet for a new game system, improving an existing sheet, or creating your own sheet that's fully customized for your individual play style, you can build your own custom character sheet .

Read More at Building Character Sheets & Use Custom Sheet

If you run a slightly modified version of a common game system (such as Pathfinder with your own homebrew rules), you may want to modify the existing sheet. To do so, you must be a Pro subscriber. If you are:

  1. Go to the Game Details => Game Settings page of your game (outside of the game). Make sure that the "Custom" option is selected under the Character Sheet Template section. You will see an editor with 3 tabs.
  2. Go to the Github repository for the community sheets.
  3. Find the folder for the sheet you are using (e.g. "Pathfinder").
  4. There should be an HTML file and a CSS file in the folder. You can ignore any other files. Copy the contents of the HTML file and paste them into the HTML/Layout tab of the sheet editor for your game. Do the same for the CSS file and the CSS/Style tab.
  5. Make your modifications. Those modifications will only apply to this game, and they don't have to approved by anyone else. You can find more information about how to create new fields and other sheet tools on the Building Character Sheets page.
  6. NOTE: If you decide to use a custom version of a community sheet, you will not receive future updates for the community sheet.


[edit] Character Sheet in a separate window

Highlighted in red, the button to open a character in a separate window

It's possible to have the character sheet "popped out" in a separate browser window from Roll20, but while in this mode, a number of things don't work quite as well as when it's viewed inside the VTT. The popping out feature is more of a convenience during play to keep the window uncluttered, but if you want to make lots of changes to the sheet, it's generally a good idea to not have it "popped out".

Things that don't work when sheet is in a separate window:

  • Charactermancer doesn't work. - You might be able to open it, but the final step to finish building doesn't work.
  • Can't drag-n-drop - drag-n-drop from the i Compendium to the sheet when it's in its own window is inconsistent, and doesn't work in all situations.
  • Can't re-order things in #Repeating Sections - You can check/uncheck the "lock" and delete entries, but not re-order them
  • Edit "Bio & Info"-tab - when you press on the edit button, Roll20 opens the sheet inside the main Roll20 application on the "Bio & Info" page for the sheet
  • Nothing in the "Attributes & Abilities"-tab can be re-ordered - you can add & delete Attributes and add Abilities, but not re-order them
  • The "Share with Players" button disappears.
Example of how the character sheet looks while in a separate window(Firefox 75/Linux Mint 19/April 14th 2020)


[edit] Community Sheets

There is a library of sheets contributed by the community that you can choose to use instead of creating your own from scratch. If you want to help improve those sheets or add a sheet for a new game, see the Github repository and Beginner's Guide to GitHub.


Editing & building character sheets require Pro subscription.

You can request the community to create new sheets here: Character Sheet Requests Q3 2021(Forum)

[edit] Character Sheet Guides

Here is a list of some of the Guides for popular or well-documented character sheet. See also the Full list of Character Sheet Guides



Official(by Roll20) sheets/Publisher-made Sheets


Other well-documented sheets:

[edit] Related Pages