ADnD 2nd Edition Character sheet
From Roll20 Wiki
This is outdated, or could otherwise do with some cleanup. |
This is a guide to the Advanced 2nd Edition Character Sheet(Formerly known as Advanced 2E Revised) for Advanced Dungeons & Dragons Second Edition.
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.
Contents |
General
The sheet was originally created by Seth in 2016. Some minor fixes where made by Vince in 2018, and in March 2020 Peter B., continued work on the sheet, by fixing bugs and adding new features).
The latest version of the sheet code can be found on GitHub: Advanced 2nd Edition(Note that the folder is named "AD&D2E Revised" due to that being the sheets previous name). 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: I don't like buttons or drop downs or roll templates or worker scripts is there a simpler sheet for AD&D 2e?
- A: Yes there is a Simplified sheet with no Worker Scripts, Roll Templates, Tabs, Buttons or Drop Downs. Can see the code here: Simplified 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 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.
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 seven different templates written into the AD&D 2nd Edition sheet: 2Edefault, 2Eattack, 2Echeck, 2Einversecheck, 2Eprotscroll, 2Esave, and 2Espell.
Roll templates must declare them using &{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 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:2Einversecheck}
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]]}} |
2Eprotscroll Properties
This template is used to cast Protection Scrolls.
&{template:2Eprotscroll}
Property/Key | Description/Examples |
---|---|
{{title}} | Displays user reading the scroll, as well as name of protection scroll. {{title=@{selected|token_name} reads Protection from Acid}} |
{{duration}} | Displays the duration of the scroll effect. {{duration=[[1d4+4]] Turns}} |
{{time}} | Display the casting time of readign the scroll. {{time=[[3]]}} |
{{reference}} Optional |
Optional property for displaying reference for source materials. {{reference=DMG, page 999}} |
{{effects}} | This will determine the target number of the ability, proficiency, or skill check. This should be entered as an inline roll. {{effects=Protection extends outward from the reader to a 30-foot diameter sphere. All within the area are protected from the effects of nonmagical cold to a temperature of absolute zero (-460 degrees). Against magical cold, the scroll confers a +6 bonus to saving throws and one-quarter damage (one-eighth if the saving throw is made).}} |
2Eprotscroll example:
&{template:2Eprotscroll}{{title=@{selected|token_name} reads Protection from Cold}}{{duration=[[1d4+4]] Turns}}{{time=[[3]]}}{{reference=DMG, page 999}}{{effects=Protection extends outward from the reader to a 30-foot diameter sphere. All within the area are protected from the effects of nonmagical cold to a temperature of absolute zero (-460 degrees). Against magical cold, the scroll confers a +6 bonus to saving throws and one-quarter damage (one-eighth if the saving throw is made).}} |
&{template:2Eprotscroll}{{title=@{selected|token_name} reads Protection from Undead}}{{duration=[[10d8]] Rounds}}{{time=[[4]]}}{{reference=DMG, page 999}}{{effects=When this scroll is read, a 5-foot radius circle of protection extends from, and moves with, the reader. It protects everyone within it from all physical attacks made by undead (ghasts, ghosts, ghouls, shadows, skeletons, spectres, wights, wraiths, vampires, zombies, etc.) but not magical spells or other attack forms. If a creature leaves the protected area, it is subject to physical attack. The protection restrains up to 35 Hit Dice/levels of undead; excess Hit Dice/levels can pass through the circle. Some protection scrolls of this nature protect only against certain types of undead (one or more) rather than all undead, at the DM's option.}} |
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 |
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.}} |
&{template:2Espell}{{title=@{selected|token_name} casts Earthquake}}{{school=Alteration}}{{sphere=Elemental (Earth)}}{{splevel=Level 7 Priest}}{{range=120 yards}}{{components=V, S, M}}{{duration=1 round}}{{time=1 Turn}}{{aoe=[[(@{selected|PriestLevel})*5]]-foot diameter}}{{save=None}}{{reference=PHB, page 233}}{{effects=A local tremor of fairly high strength rips the ground for one round. The earthquake affects all terrain, vegetation, structures, and creatures in its locale. Solidly built structures with foundations reaching down to bedrock sustain half damage, quarter damage if they score above 50% on a saving throw. An earth elemental opposed to the caster in the area of effect can negate [[1d10*10]]% of the effect. Other magical protections and wards allowed by the DM may also reduce or negate this effect. If cast undersea, this spell may, at the discretion of the DM, create a tsunami or tidal wave. Earthquake Effects: TERRAIN: Cave or Cavern -> Collapses roof Cliffs -> Crumble, causing landslide Ground -> Cracks open, causing following fractions of creatures to fall in and die: S: 1 in 4; M: 1 in 6; L: 1 in 8 Marsh -> Drains water off to form muddy, rough ground Tunnel -> Caves in VEGETATION: Small growth —> No effect Trees —> 1 in 3 uprooted and fall STRUCTURES: All —> Sustain [[5d12]] points structural damage; those suffering full damage are thrown down in rubble }}{{materials=a pinch of dirt, a piece of rock, and a lump of clay.}} |
Changelog
- v3.1.16 (July 14th 2020)
- Roll-Templates, Repeating magic resistance, styling, and bug fixes
- Forum post by Peter B.
- GitHub PR
- v3.1.13 (June 16th 2020)
- Proficiency calculator, Attribute auto-fill, Turn Undead buttons and more
- Forum post by Peter B.
- GitHub PR
- v3.0.06 (April 13th 2020)
- New Player Options weapon section and styling
- Forum post by Peter B.
- GitHub PR
- v2.8.54 (March 31 2020)
- Rogue Improvements, Improved rolls, Standard weapon section
- Forum Post by Peter B.
- GitHub PR
- v2.8.53 (January 28 2020)
- Currency calculation fixes
- Forum Post by Peter B.
- GitHub PR
- (April 2018)
- sheetworker fix for API error - PR by Vince
- v2.8.52 (Aug 2017)
- Sheetworker fixes - PR by Project462
- v2.7.63 (Jul 2017)
- Fixes, Additions, and Maintenance - PR by Project462
Related Pages
ADnD 2nd Edition
ADnD 2nd Edition Character Sheet
ADnD 2nd Edition Simplified Character Sheet
ADnD 2nd Edition Spell Macros
DnD
See Also
- Character Sheets - Roll20 Forums general help with character sheets
- AD&D 2E Revised Sheet: Rogue improvements- Sheet update March 2020 thread - Roll20 Forums
- sheet sourcecode