Roll20 Character Sheet

Since this applies for both Player and GM resources, posting it just in the Resources section.

Hello all,

I created and have been updating the Charactersheet on Roll20. I thought I’d actually make a post on here so that people could discuss it. Feel free to talk about something you’d like to see, additions, subtractions, etc.

You can go to the following link and view the changelog, as well as the files:

Below this point, you will see what updates/changes are planned, as well as what the latest change was, but of course, check the link above for a full change log. I will make edits below this point whenever there is an update, as well as post in this topic.

In Progress

2.0.0 :: finish settings button with explanations for sheet, as well as possible hover tool tips

  • Revamp = lots of code cleanup
  • Example macros to use

Completed Recently

1.9.9 on 2019 August 19th

  • Worker Scripts for Boon Actions
    • Rare error when certain fields updated, did not reflect correctly for Roll Output to chat for boons
    • Added commands to run Function that assigns Boon values to output
  • Target Selection for Attack added
    • Drop down menu added “Attack (Defend Interrupt)” as an option for a targeted Defense

1.9.8c on 2019 April 12th

  • Folder Rename
    • Changing folder name in Roll20 github from “Open Legend Basic by Great Moustache” to “Open Legend”
    • When I was a young pup in the game, didn’t realize should have named folders better
  • Image Updates 2
    • Updated all remaining links in preperation for Folder rename

1.9.8b on 2019 April 6th

  • Image Updates
    • Updated all link references to Roll20 Github
    • Uploaded Open Legend Logo and background images for v2 of the sheet

1.9.8a on 2018 July 6th

  • Quick Fix of layout due to Roll20 Char-o-mancer update changing default padding/spacing for all charactersheets across the site
    • Next update should be v2.0 of sheet with improved layout and borders (might be awhile)

1.9.8 on 2018 May 31st

  • Default Advantage for NPCs on Primary attribute 1 & 3 fixed
    • Was the same attribute name, fixed so each seperate
  • Legendary Item display on a new sheet creation by default fixed
    • Toggled it to “hide” instead of “show”

1.9.7 on 2018 May 27th

  • Made NPC initiative rolls go to the tracker
    • Oops, not sure how I let that slip through

1.9.6 on 2018 May 14th

  • Resist Rolls Updated
    • Made Resist Roll buttons next to Speed (to match what was on NPC section)
    • Updated look of Speed section on character sheet

1.9.5 on 2018 May 13th

  • Sheet Type Selection added (and lots of backend coding)
    • Pick between: Primary Character, NPC/Summons, Alternate Form Tier 1 or 2, Companion Tier 1, 2, or 3
    • Changes the calculations for Attribute Points & Feat points based on what is selected
    • Adds some entry fields were applicable (Companion Tier 3 Feat Points Granted)
    • For NPC, shows a completely different sheet for “Quick” build (useful for summons as well)

1.9.3 on 2018 May 10th

  • Fix for “Other Actions” section & Effects
    • On Load function for Other Actions wasn’t doing the Power Levels Correctly
    • Forgot to make Effects dice explode (all dice in OL explode!!)

1.9.2 on 2018 May 8th

  • Added Whisper to GM option
    • Global button to make any roll on the sheet go to the GM only

Full Changelog here: Changelog


Pros and Cons for the Roll20 sheet as follows:


  • No longer need a pop-up window asking for number of advantage/disadvantage dice, you simple enter a postive number for advantage, or a negative number for disadvantage


  • User error higher, forgetting to change the number
  • Won’t be able to drag and drop the action to the Macro Quick Bar for use there.
  • User error higher, put the number in another action, and forgot for other actions.

I’m open to others thoughts on Pros and Cons for this as well.

1 Like

First off, fantastic work on the Roll20 sheet. I am using it in the ASOF campaign that I am currently running and its a wonderful asset.

As far as the advantage/disadvantage number is concerned. We might want to take some inspiration from the absolutely astounding Shaped 5e sheet that is available. Its the concept of “Roll 2”. I like to give additional advantage and disadvantage willy nilly during my 5e games for situational and RP reasons so Roll 2 is useful in that any d20 that I roll (or my players roll) is rolled twice and I use the appropriate number (first number if no adv/disadv and the lower/higher if I do).

OL is a bit more complicated with its adv/disadv system, but a similar concept could be used – outputting extra dice rolls to represent adv/disadv. For this, I would suggest that two inline dice rolls are performed for each roll. The first represents the roll with Advantage (if any) and the second represents the roll with Disadvantage. Players should always reference the first roll if they have no advantage or advantage and only reference the second roll if they have disadvantage.

I would still recommend a dialog for the number of advantage/disadvantage to be applied for this roll like it is now since, as you point out, its VERY easy to forget to update a static number on your character sheet and makes using these abilities in your macro bar very error prone.

Below is a mockup of the Roll 2 concept applied to open legend (second number is for disadvantage).

I have used a lot of the Roll20 features in character sheets and would be happy to offer input on any decisions like this! Thanks a lot for spending your time putting this together for the community.

Unrelated to my last post. Could you provide some clarity on what the following output means?

I ticked “Use power level” and set the minimum to 2 and maximum to 9. Everything looks right (CRs are correct for PL2 and PL9), but the “2” undernearth “Power Level” confuses me. I assume its just a bug since every single action that uses power levels reports out Power Level 2. I imagine that this should report Power Level 6, since my roll of 23 beats 10+62 (22), but does not beat 10+72 (24). I realize this power level will have to be modified manually if the Bane/Boon that is being invoked does not have a particular power level.

That would be an interesting solution, but seems like it would add confusion to the rolls just to eliminate 1 dialog pop-up.

However, it DID get me thinking about another possible solution. I might be able to finagle something by allowing a negative number in there, and withing the call to do the roll do a bit of math before sending it to the chat, and just reuse that input to read if it the number is less than 0, but an L, else put an H.

Not sure that is actually possible, b/c the way roll20 interacts with those is weird sometimes… but I’ll investigate it.

PL 2, is b/c that is the Power Level that you enter in. A 2

It should also be doing a 9, however that is b/c it is in the “other actions” section, and I fixed it in the last update… .or at least I thought I had. If you are using the sheet from the drop down menu, it should be auto-updated, otherwise, if you are copy/pasting the code in, then you might grab the latest version.

Yes, it is reporting what Powerlevel you Rolled, but rather, what you entered.

I could attempt to do something where it tells you the power level you rolled for, but it is hard, since you can’t do math to stuff after you have sent it to the roll templates.

I might could make a long CASE statement to output it I suppose.

I dont think you have much control over modifying the rolls via the Roll20 inline dice roll interface like you suggest (I could be wrong), but some fancy parsing in javascript to form the inline roll command could work as well. Roll 2 can be confusing at first, but after using it just a little it becomes second nature and has really sped up my rolls as a DM.

That being said, some people really do not like seeing their “good” rolls go to waste for roll permutations that they did not use. I think this is silly…because statistics, but our hobby is a pretty superstitious one by nature.

If you are using the sheet from the drop down menu, it should be auto-updated,

I am using the public sheet. Maybe Roll20 hasn’t published the new version yet – I am on version 1.7.91.
EDIT: and that Attack was registered in the Favored Attacks section.
Also, the PL calculation really isn’t that necessary IMO since the number of power level increments differs widely from bane to bane and boon to boon. The math for PL->CR is pretty easy.

I might have accidently taken the fix back out maybe >.<;

			if(score === 0) {
			roll = "[[?{Do you have Advantage or Disadvantage?|Neither,1d20!!|Advantage,2d20!!kh1|Disadvantage,2d20!!kl1}]]";
		} else {
			roll = "[[" + values.might_dice_d20 + " + [[" + number + "+?{# of Advantage/Disadvantage Dice|0}]]" + type + "k?{Do you have Advantage or Disadvantage?|Neither,h|Advantage,h|Disadvantage,l}" + number + "]]";

If you want an example of the code. And actually, yes, it should let me do what I am wanting. So where it says:

?{# of Advantage/Disadvantage Dice|0}]]

I can use that query again in another spot, and it won’t ask again. I just got to format the output options. It might not be possible, but I think it could be.

1 Like

the use power level is really only meant to be used for Boons. For Banes it doesn’t really matter, and doesn’t need to be used for attacks at all.

The reason for entering it in is so it can visually show you if you were “Successful” or “Failure/Success with a Twist” when you Invoke.

clever, didnt realize you could return strings from queries!

@Great_Moustache We’ve discussed elsewhere, but here are some of my wishlist items from using them for about 5 sessions so far, from a group of R20 newbs’ perspectives:

  • Consolidate Space Personally, I’d lose the paper scroll graphics, if it wouldn’t offend anyone. The current header font sizes are really large, especially the defense names. Ideally, attributes, defenses, hit points, speed, and favored actions should be above the fold (understanding not all attributes and favored actions will fit vertically), allowing players to get to their rolled actions quickly. Goals, Beliefs, and Instincts should be below.
  • Do whatever is possible to make applying advantage to rolls easier. The current two step dialog box way can get pretty cumbersome. Using the macro bar, as you suggested in our other convo, helps a TON, but for new players they are going to want to open/switch to character sheet, click action, quickly select advantage and roll. I like the idea of making it just a positive or negative number and customizing the script as we discussed to handle adv/disadv.
  • The link to roll initiative under Speed is really hard to find. If there is room, I’d add the D20 icon (really anywhere you can initiate a roll, the button/icon would be nice).
  • I’d remove the second column in the feats box. It leaves very little space to read the name of the feat.

I appreciate the feedback @Daranar

So a couple things on this

  • You can make any of the sections go away. By clicking the toggles at the top, you don’t have to view the Character Info, the Goals, Beliefs, or Instincts. I put it at the top b/c I felt it tied in with Character Info. During a battle, where you would be using the other sections of the sheet more, you can just toggle these off.

  • Part of the goal of the character sheet is to make it look like the PDF, which is why all the scrolls, however the idea of being able to remove it is something I have been discussing with Brian. My idea is to potentially have 3 different options, the scrolls, some sort of sci-fi theme, and just regular boxes/lines.

  • The reality is, that no matter how you organize, for a new person, it’s going to be rough at first finding everything. That’s just the way it is.
  • The reason those things are bigger is so they can be seen quicker, which addresses your concern about a new person finding things faster
  • You mentioned “Consolidate Space”, but then want to occupy MORE space with the dice roll button? The reason I removed that and made it so it is clickable on the words was TO consolidate space
  • I feel that the dialog box, while certainly a bit cumbersome with having 2 pop-up boxes, is actually a huge boon to new players, because it helps remove user error. The actual entering of a negative number isn’t intuitive.

  • Even when I add in the ability to work with the API, that is not something to consider for the design side, b/c not everyone will be able to use the API script for rolling.

  • I’ve been thinking a long time about removing the 2nd column of feats, and even Perks and Flaws. I haven’t done this b/c I don’t want people to have to re-enter information.

  • There is a workaround, since the information would still exist, where I can create a workerscript that upon first run will actually transpose the repeating_section into another repeating_section. I could implement this, and have it run for like… a month, and then end up removing it. Not a priority at the moment though.
  • Honestly, the better way to implement Initative is NOT from the sheet. I put that there for people that don’t know how to make it a token action. In all my games, I usually go add a macro for each player for their initiative, and turn it into a token action.
  • This makes it so whenever they select their token, the macro button pops-up at the top left of the screen to click. This makes it so they had to select their token, so there isn’t any worry about it not being selected to add to turn order.
  • You can also make your charactersheet temporarily go away (if the window is not popped out) by double-clicking the top of it. This minimizes it down to a small little box that is partially see-through and has the character name visible.
  • for a GM this is very useful if you have multiple NPC/Creatures in the fight.
  • You are also able to drag the box around to any spot on the screen to make it further out of the way.
  • Double clicking it brings it back up.

Overall, I’m just not swayed yet one way or the other about removing the pop-ups for asking for advantage/disadvantage. I’ve asked players you have been using it for awhile, and who are experienced TTRPG players, and they prefer it.

Anything is going to take some getting used to. When you enter in the number for Advantage/Disadvantage, you can then just press enter, and enter again, and you are done. You only have to worry if you are selecting Disadvantage for that second pop-up.

I’ll actually probably change the 2nd pop-up so it only has 2 options, instead of the 3:


B/c the secret is, there is no difference between selecting Neither or Advantage, both those options do the same thing. It was just put it b/c originally I thought it might confuse people to have the 2 grouped together.

Once all the stuff goes off to the printer, Brian and I will be sitting down and really thinking over the Design/Layout of the charactersheet. Mainly @brianfeister , honestly.

Let me know your thoughts on what I just mentioned, and please continue to give feedback so the sheet can improve.

Like I said, I’m just not convinced one way or the other yet for the advantage/disadvantage dilemma. Heck, I might just make a checkbox so you can select which one you want to use.

1 Like

@Great_Moustache All your points are well taken, and I appreciate that you have a lot more experience (and your tips are super helpful, thank you!). My personal preference would be to make it as easy and obvious for new users first, and try to balance it out with the needs of expert users as the next priority. E.g. would an expert user care that the goals, etc were lower down the page, vs. a new user who probably is using a simple or pre-gen character and clicking on their favored rolls a whole bunch because macros, token actions, etc are all new/unknown to them?

Making it as super-obvious as possible for new users should also increase the chances they keep using OL and Roll20. I’m not sure I’d prioritize making it match the PDF over ease-of-use in Roll20 because a PDF/paper copy can be placed in front of you with no scrolling necessary.

As far as adv/disadv, I agree that pos/negative number is not an ideal solution. I assume you can’t turn it into a single dialog box with maybe an adv/disadv toggle and a number field? So you only have to click “OK” once?

Eiter way, I am not firmly opposed to any of your recommendations and counterpoints - I know they come from a lot more experience with the tool. I have a huge amount of appreciation for all the work you and others put into this stuff, so my suggestions are never meant as complaints, and probably are closer to questions :slight_smile:

Some day I hope to play with custom sheets just because it seems like a fun challenge, and if I come up with anything I like I’d certainly share. I also hope to contribute to the compendium or anything else I can!

So, actually, this is a whoops. The default for the goals section is to be toggled off. But I have the flag set as “show” instead of “hidden” when someone first creates a sheet. Being toggled off doesn’t change the order, but it does make it not show for that new user, which should achieve the same thing.

I was wondering if that was a bug but wasn’t sure if it was something I did. The switch was set to “off” but the section was showing for me until I toggled it on and off again!

yeah, it’s not that simple. The first dialogue is figuring out how many extra dice to roll. The second is figuring out if a “K” or “L” is needed on the end. That’s why they aren’t linked together.

The standard roll is:

/roll d20!!+2d6!!
/roll d20!!+4d6!!kh2 (2 advantage, k for keep, h for highest)
/roll d20!!+4d6!!kl2 (2 disadvantage, k for keep, l for lowest)
/roll d20!!+4d6!!dh2 (2 disadvantage, d for drop, h for highest [I don't use this])
/roll d20!!+4d6!!dl2 (2 advantage, d for drop, l for lowest [I don't use this])

so I can’t roll it all together. I could nest the query, but it would still pop-up in a different dialogue box like it does now.

I think @Daranar brings up a good point about the Feat/Perk/Flaw columns. While I am all about efficient use of space, the end result (at least on my resolution and browser - 2k and Firefox) I can see only the first 10 characters or so of the name and find the columns a little confusing, so I don’t even use the second column. The process for updating the sheets from 2-column version to 1-column version, as you said, sounds a bit messy, but even if we have to repopulate those fields by hand it may be worth it.

For the DM, most of the NPCs are rather simple and at most would only have feats in the first column, so it wouldn’t be the end of the world. For the players, they will just need to update one sheet and they should have a backup copy of their character somewhere for reference.

As far as the PDF style formatting goes. I am pretty torn. I do really like the template output in the chat and because of the base assumption in OL that every roll matters, why not bring attention to the rolls in chat like we are now. The sheet, on the other hand…undecided. For my NPCs, I usually just hide everything but the defenses and favored attacks/feats, but I still have to scroll around to select some things.

May I suggest an alternative that may bridge the gap? Again, stealing straight from the Shaped 5e sheet here.

This is the NPC version of the sheet:

Which is rather condensed and easy to access everything on a single window, but 95% of the time, I use the sheets embedded macro “%{selected|shaped_statblock}” and “%{selected|shaped_spells}” to output this summary of the NPC as a whisper to the GM which looks like this in chat (spell list not shown, but very similar output):

I assigned this macro as a Token Action so that I can click on the token and then click the Token Macro button to output this summary. From there its just a matter of clicking on “Unarmed Strike” to perform the NPC’s attacks and I have quick reference to all of its stats.

I would love this type of macro to be available from the sheet. I think it may bridge the gap between a very stylized Character Sheet like we have currently, and a compact display that is easily used in combat with multiple different creature types.

Just my 2 XP

So part of all that, is that I believe it is linked to the compendium. Maybe I am wrong there, but I think you just drag and dropped the NPC in to the game?

That’s not something I can do with the sheet, but is done through the compendium. I can make the sheet compatible with the compendium, which we will eventually be able to have for Roll20, an OL compendium, but at the moment it isn’t there.

The NPC section will be very simple, and able to have what you mentioned. You can manually create the macros in this way:

Click on a Favored action so it rolls to the chat window. hit the up arrow, you know have the code that you can put into a macro, and then make it a token action in the same way.

As far as the dual columns, like I mentioned, it is something I’ve been thinking about, and just have to implement. It’s not hard to do the code to transfer from the right column and auto put it inot the left column for people, and I can have that just happen when the sheet is loaded and it is all done.

I say easy, I still have to write the code, but yeah.

I’m trying to work on the extraordinary items, but, i’ll post with something right after this.