ADnD 2nd Edition Character sheet
From Roll20 Wiki
Contents |
Intro
Advanced 2nd Edition (Simple Sheet) Character Sheet guide is intended to help DMs and Players better understand the Roll20 AD&D 2nd Edition Character sheet. The sheet was originally created by Dylan G. based on work by Stephen S. Continuing development and improvements are being implemented by Elena S. (Elena S. Roll20) and Aqua Alex (Aqua Alex Roll20). Many thanks are due to Dylan and Stephen for the wonderful character sheet that they created.
This sheet tries it's best to support all of the core AD&D 2nd Edition rules. Support for many of the optional rules from the various Complete Handbooks as well as the Player's Option series of books are also included as optional features. The sheet is actively supported by Roll20 volunteers. Please feel free to lend your support through, feedback, testing, suggestions, coding, and keeping this guide updated and helpful.
Please post questions, comments, suggestions, etc. on the most current test Game session at:
Test ADnD 2 Simple Sheet
The latest community version of the sheet can be found on GitHub, AD&D_2E If you are using the community Second Edition sheet, any updates to the sheet will be pushed automatically.
FAQ
Here are some frequently asked questions that often come up concerning the AD&D 2nd Edition Character Sheet.
Q: Can I set sheet values from a macro?
- A: No, you must be a Pro member and use the API to set sheet or token values from macros. If a token bar is mapped to an attribute, setting the token will update the sheet, but it will not call any custom sheet code and update secondary fields.
Q: I found a problem and wonder if anyone else found it yet?
- A: Go to the AD&D 2nd Edition Test Game first to see if your issue is already being worked on. If you don't see it, follow the instructions in the next question:
Q: I found a bug, have a question, suggestion, need help, etc. regarding the AD&D 2nd Edition Character Sheet. What should I do?
- A: The best resource regarding the sheet is to post to the Roll20's Character Sheets forum. Please include as much detail as possible to help isolate the bug to expedite a fix.
Q: Why can't I adjust some of the fields on the sheet?
- A: There are many auto-calculated attributes found on the sheet and are depicted as number fields with a gray background. While you can adjust the "sub" attributes used to calculate these fields, you cannot adjust auto-calculated attributes directly.
Q: How will users of the AD&D 2nd Edition sheet know when the sheet is updated?
- A: You can always check the bottom of the character sheet to see the latest build date and to check for announcements of upcoming changes. Updates to the sheet will be pushed automatically. There is also an announcement checkbox that if ticked will show latest changes.
Q: How do I make a (class ability, attack, feat, spell, inventory item, racial trait, trait) macro using a sheet roll?
- A: Create a Macro/Ability that includes a button's name ie
%{selected|button_name}
. If you mouse-over the buttons it shows you what the button's name is. e.g.(To create a macro for weapon attack 0, include%{selected|repeating_weapon_$0_Attack}
within your macro.) You can also drag and drop any repeating section/row button to the macro quick bar.
Q: How do I setup an animal companion or cohort or regularly summoned creature?
- A: Create a new character in the campaign, and use a new sheet to record stats for your animal companion. You may find it easier to use the "NPC" tab which has a a small subset of all fields.
Q: What can I do if my sheet isn't updating some or all of the attributes?
- A: Make sure you have entered the appropriate data. While the sheet does it's best to parse each field to allow only field appropriate data, illegal characters, malformed formula, etc. can cause the sheet to stop functioning. Try clearing the problematic field(s) or using "0" to see if that fixes the issue. Toggling selectors, entering a new/different value in a field, etc. can also help trigger auto-calculation. Please report any persistent issues to the AD&D 2nd Edition thread.
Changelog
Version 1.0.0
- Sheet as published by Dylan G. based on work by Stephen S.
Version 1.0.1 - Elena S.
- Added 2Edefault, 2Eattack, 2Esave, and 2Espell Templates, and the associated css code to support them.
Version 1.0.2 - Elena S.
- Added Information Header with update information and description of recent changes.
- Minor fixes to template formatting and css
Version 1.0.3b - Elena S.
- Added 2Echeck template and relevant css
- Updated Information header
- Added an attribute to the checkbox for hiding rogue skills so that it will stay hidden when checked.
- Added support for custom critical hit damage to the 2Eattack template.
- Improved handling of styles used for table headers to reduce the code footprint of the sheet.
- Added attribute Reference to the 2Espell template for placing reference of source (Aqua Alex)
Version 1.0.4a - Aqua Alex
- Added Dam tick box next to weapon
- There was a bug where if you chose the Dex tick box it did not include Str damage on a thrown or missile weapon that should have it.
- Now you tick the Str or Dex box for which To Hit bonus to use and you tick Dam box if Str Dam needs to be added to damage for weapon.
- Added worker script to Sheet
- Calculates all derived attribute values for attributes only on change of attribute
- Calculates Thief Skill bonuses for Dex attribute only on change of dex attribute
Version 1.0.4b - Aqua Alex
- Added 2Einversecheck template and relevant css
- This is the reverse of 2Echeck template so if roll is Less or equal to the TARGET it is a FAIL
Version 1.0.4c - Aqua Alex
- minor fixes
- Made some minor fixes to the sheet
Version 2.0.0 - Aqua Alex
- fixed formatting on some 2espell properties
- added some missing HTML tags and formatted for easier reading
- fixed bug in css
- added optional tag to 2espell property '{materials=xxx}'- to show Spell Materials
- added new roll Template for Protection Scrolls - 2Eprotscroll
- updated worker script to clear the Ability Scores Notes on change of attribute value
- New Spell Tab
- List Number of Available Spells per Level
- Spell Book
- Memorised Tick Box
- Type of Spell
- Spell Name
- Casting Time
- Initiative Roll Button
- Macro name
- Cast button that uses the macro name
- Scrolls
- Type of Scroll
- Scroll Name
- Casting Time
- Initiative Roll Button
- Macro name
- Cast button that uses the macro name
- Spell Notes
Roll Templates
Roll templates use a combination of html, css, and macro commands to format output to chat. While the HTML, CSS and sheet-roll button macros are written into the sheet, DM's and player's can utilize custom macros either within the macro-text found within the sheet or from ability macros used outside of the sheet. There are currently five different templates written into the AD&D 2nd Edition sheet: 2Edefault, 2Eattack, 2Echeck, 2Esave, and 2Espell.
Roll templates must declare the roll template used ie &{template:<template name>} and follow the syntax {{<propertyname>= <value>}} Property names that are defined within the roll template will follow the formatting and logic as given in the template.
2Edefault Properties
The header of the new 2Edefault template displays the same "name" property as the standard default template, and you can now optionally add a "subtitle" which will also display in the head of the template centered beneath the name in a reduced font size (8pt). To use the new subtitle property simply add {{subtitle = <value>}}
to your macro.
The information displayed in the body of the template, as in the standard default template, uses the allprops() helper function with several specific exclusions. What all props does is allow you to create a custom property in a roll template by simply typing what it's called into the template. This typically looks like {{<user defined key> = <user defined value>}}
The template then creates a table row with two columns in the template and displays the key on the left and the value on the right. You can create as many custom properties as you like! The specific exclusions in this new template are the predefined properties of desc, desc1, desc2. These will cause the template to display the value assigned to them in a single cell that spans both of the template columns, as well as reduce the font size slightly and align the text to the left.
Since this template contains both the <name>
and <allprops()>
properties any macro you currently are using can be converted to use the new template styling by simply changing the template call from default to 2Edefault. That's it, your macro will now display using the new template to determine it's styling in chat.
&{template:2Edefault}
Property/Key | Description/Examples |
---|---|
{{name}} | Name of your custom template. {{ name = <Your New Template> }} |
{{subtitle}} Optional |
Add an optional subtitle to the template heading. {{ subtitle = <Your Subtitle>}} |
{{anyproperty}} Optional |
This works identically to the standard default template. You can create as many custom properties as you like. {{ anyproperty=<Your Custom Property Value>}} |
{{desc}} Optional |
Add optional descriptive text. {{desc=<desc value>}} |
{{desc1}} Optional |
Add more optional descriptive text. {{desc1=<desc1 value>}} |
{{desc2}} Optional |
Add even more optional descriptive text. {{desc2=<desc2 value>}} |
2Edefault example
&{template:2Edefault}{{name=<Your New Template>}}{{subtitle=<Your Subtitle>}}{{anyproperty=<Your Custom Property Value>}}{{desc=<desc value>}}{{desc1=<desc1 value>}}{{desc2=<desc2 value>}} |
2Eattack Properties
This is a graphical template used to resolve attacks in one simple display. It includes properties to display who is making the attack, the target of the attack, what weapon was used, the AC that the attack will successfully hit, and damage vs both Small/Medium targets and Large targets. It also includes support for custom critical hit damage.
&{template:2Eattack}
Property/Key | Description/Examples |
---|---|
{{title}} | Name of the Attacker {{ title=@{selected|token_name} makes an Attack! }} |
{{subtitle}} | Who/what the attack targets {{ subtitle=vs. @{target|token_name} }} |
{{weapon_used}} | What weapon is being used for the attack {{weapon_used=@{selected|weaponname} }} |
{{ac_hit}} | Enter the roll formula for determining the AC hit as an inline roll {{ ac_hit=[[@{selected|ThAC0}-(1d20+(@{selected|attackadj})+(@{selected|strengthhit}*@{selected|strbonus})+(@{selected|dexmissile}*@{selected|dexbonus})+(?{Misc. attack bonus|+0}))]] }} |
{{dmg_s}} | Enter the roll formula for determining normal damage vs a Small/Medium target as an inline roll. {{ dmg_s=[[(@{selected|damsm}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]] }} |
{{dmg_l}} | Enter the roll formula for determining normal damage vs a Large target as an inline roll. {{ dmg_l=[[(@{selected|daml}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]] }} |
{{crit_s}} | Enter the roll formula for determining critical damage vs a Small/Medium target as an inline roll. {{ crit_s=[[(@{selected|damsm}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]] }} |
{{crit_l}} | Enter the roll formula for determining critical damage vs a Large target as an inline roll. {{ crit_l=[[(@{selected|daml}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]] }} |
{{crit}} Optional |
Add special text for critical hit results. {{ crit= }} |
{{fumble}} Optional |
Add special text for fumble results. {{ fumble= }} |
2Eattack example:
&{template:2Eattack}{{title=@{selected|token_name} makes an Attack!}}{{subtitle=vs. @{target|token_name} }}{{weapon_used=@{selected|weaponname} }}{{ac_hit=[[@{selected|ThAC0}-(1d20+(@{selected|attackadj})+(@{selected|strengthhit}*@{selected|strbonus})+(@{selected|dexmissile}*@{selected|dexbonus})+(?{Misc. attack bonus|+0}))]]}}{{dmg_s=[[(@{selected|damsm}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]]}}{{dmg_l=[[(@{selected|daml}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]]}}{{crit_s=[[(@{selected|damsm}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]]}}{{crit_l=[[(@{selected|daml}+(@{selected|strengthdmg}*@{selected|strbonus})+(@{selected|damadj}))?{Misc Damage Adjustment?|+0}]]}}{{crit=Immediately make another attack as a free action!}}{{fumble=Your weapon flies from your hand landing [[2d6]] ft from you.}} |
2Echeck Properties
This template is used to perform Ability, Proficiency, and Rogue Skill checks. It uses logic built into the template to determine success or failure based on the information provided in the macro calling it.
&{template:2Echeck}
Property/Key | Description/Examples |
---|---|
{{checkvs}} | Displays what attribute, proficiency, or skill is being checked against. {{ checkvs=Strength }} |
{{character}} | Displays the name of the character performing the check. {{ character=@{selected|token_name} }} |
{{checkroll}} | This property defines what to roll for the check being made. This should be entered as an inline roll. {{ checkroll=[[d20cf20cs1?{Situational Modifier?|+0}]] }} |
{{checktarget}} | This will determine the target number of the ability, proficiency, or skill check. This should be entered as an inline roll. {{ checktarget=[[@{selected|Strength}]] }} |
2Echeck example:
&{template:2Echeck} {{ checkvs=Strength }}{{ character=@{selected|token_name} }}{{ checkroll=[[d20cf20cs1?{Situational Modifier?|+0}]] }}{{ checktarget=[[@{selected|Strength}]] }} |
2Einversecheck Properties
This template is the inverse of the 2Echeck. If a roll is equal or less than the target it is a FAIL!
&{template:2Echeck}
Property/Key | Description/Examples |
---|---|
{{checkvs}} | Displays what is being checked against. {{ checkvs=Strength }} |
{{character}} | Displays the name of the character performing the check. {{ character=@{selected|token_name} }} |
{{checkroll}} | This property defines what to roll for the check being made. This should be entered as an inline roll. {{ checkroll= [[d10?{Situational Modifier?|+0}]]}} |
{{checktarget}} | This will determine the target number of the ability, proficiency, or skill check. This should be entered as an inline roll. {{checktarget=[[@{selected|Strength}]]}} |
2Einversecheck example:
&{template:2Einversecheck} {{checkvs=Surprise}}{{character= @{selected|token_name} }}{{checkroll=[[1d10?{Situational Modifier?|@{selected|dexreact}}]] }}{{checktarget=[[3]]}} |
2Esave Properties
This template works in a similar manner as the checks template. It uses the values for the roll result and the target number based on the macro input. It performs a logical comparison to determine whether the saving throw is a success or failure and clearly displays the result, showing both the relevant target number and roll result for verification.
&{template:2Esave}
Property/Key | Description/Examples |
---|---|
{{savevs}} | Displays what type of saving throw is being made. {{ savevs = Spells }} |
{{character}} | Displays the name of the character making a saving throw. {{ character = @{selected|token_name} }} |
{{saveroll}} | This property defines what to roll for the saving throw. This should be entered as an inline roll. {{ saveroll = [[d20?{Situational Modifier?|+0}+@{selected|spmod}]] }} |
{{savetarget}} | This will determine the target number of the Saving Throw. This should be entered as an inline roll. {{ savetarget=[[@{selected|sptar}]] }} |
2Esave example:
/w gm &{template:2Esave}{{savevs=Spells}}{{character=@{selected|token_name}}}{{savetarget=[[@{selected|sptar}]]}}{{saveroll=[[d20?{Situational Modifier?|+0}@{selected|spmod}]]}} |
2Espell Properties
This is another completely new template for displaying spell statistics and effects. It includes fields for all of the standard spell attributes including Spell Level, School, Sphere, Components, Casting Time, Range, Duration, Area of Effect, and Saving Throw, as well as a description of the spell's effects. Additionally there are optional properties for quick display of Damage and damage type, as well as Healing.
&{template:2Espell}
Proterty/Key | Description/Example |
---|---|
{{title}} | Input the name of the spell here. {{title=@{selected|token_name} casts Cure Light Wounds on @{target|token_name}}} |
{{splevel}} | Enter the spell level and type (wizard or priest). {{splevel=Level 1 Priest}} |
{{school}} | Enter the school of the spell here. {{school=Necromancy}} |
{{sphere}} Optional |
Used only for Priest spells. It can alternately be used to indicate if a spell is reversible. {{sphere=Healing (reversible)}} |
{{components}} | Displays the components required to cast the spell. {{components=V,S}} |
{{time}} | Displays the casting time of the spell. {{time=5 Segments}} |
{{range}} | Displays the range of the spell. {{range=Touch}} |
{{duration}} | Displays the duration of the spell. {{duration=Instant}} |
{{aoe}} | Displays the Area of Effect of the spell. {{aoe=Creature Touched}} |
{{save}} | Displays the Saving Throw information for the spell. {{save=Negates}} |
{{damage}} Optional |
Optional property for displaying the damage done by the spell. {{damage=[[1D4+1]], [[1D4+1]], [[1D4+1]], [[1D4+1]], and [[1D4+1]]}} |
{{damagetype}} Optional |
Optional property for displaying the damage type done by the spell. {{damagetype=Force}} |
{{healing}} Optional |
Enter the amount of healing done by the spell. {{healing=[[1D8+(?{Do you receive a bonus to your healing spells?|0})]] HP}} |
{{reference}} Optional |
Optional property for displaying reference for source materials. {{reference=Players Handbook 208}} |
{{effects}} | Used to display the description of the spells effects. {{effects=Fires [[ceil(({9, @{selected|level}}kl1)/2)]] missile(s) at one or more targets designated by the caster before the spell is cast. Each missile unerringly strikes it's target causing 1d4+1 points of damage.}} |
{{materials}} | Optional property for displaying materials for spell. {{materials=the priest's holy symbol and a handful of dust taken from a mummy's corpse.}} |
2Espell Examples:
&{template:2Espell}{{title=@{selected|token_name} casts Cure Light Wounds on @{target|token_name}}}{{school=Necromancy}}{{sphere=Healing}}{{splevel=Level 1 Priest}}{{components=V,S}}{{time=5 Segments}}{{range=Touch}}{{duration=Instant}}{{aoe=Creature Touched}}{{save=Spell}}{{healing=[[1D8+(?{Do you receive a bonus to your healing spells?|0})]] HP}} |
&{template:2Espell}{{title=@{selected|token_name} casts Magic Missile}}{{splevel=Level 1 Wizard}}{{school=Evocation/Invocation}}{{components=V, S}}{{time=[[1]] segment}}{{range=[[({10,@{selected|level}}kl1)*10+60]] ft}}{{duration=Instant}}{{aoe=Targeted Creature(s)}}{{save=None}}{{damage=[[1D4+1]], [[1D4+1]], [[1D4+1]], [[1D4+1]], and [[1D4+1]]}}{{damagetype=Force}}{{effects=Fires [[ceil(({9, @{selected|level}}kl1)/2)]] missile(s) at one or more targets designated by the caster before the spell is cast. Each missile unerringly strikes it's target causing 1d4+1 points of damage.}} |
Additional Resources
Advanced_Dungeons_and_Dragons
AD&D_2Espell_Macros
Additional Help
Some places/people to ask for further help
- Wiki
- [Forums]
- [Elena-SheetAuthor]
- [Gargamond-Token Action System Creator/Scripter]
- [Alex-Scripter]
- [Aaron-Scripting-Genius]
Copyrights
All reference to copyright material is not intended to infringe on any copyright. Advanced Dungeons & Dragons 2nd Edition and related materials are copyrighted and owned by Wizards of the Coast.