Oh, you want to help support the development of this extension (and more), how nice! You can do so by either contributing in some way (telling your friends about it, reporting bug reports, suggesting awesome features or contributing to the code) or, like many others who have helped make this project a possibility, you can support me on Patreon, Github.
If however, you do not want to use Patreon or Github Sponsors or don’t want to pledge on them for any reason, but still want to support this project financially, you can do so by buying me a ration on Ko-Fi using PayPal or a credit card (no signup necessary).
Help, support and issues
Oh, I misunderstood, you’re the ones in need of support! Well, fear not, I am here to help!
If you want to ask for help, give feedaback or discuss an issue, you can join our discord server.
If you’ve found a bug or have an issue with Beyond20, or if you have a feature or suggestion to make, you can head over to github’s issue tracker and submit your bug report or feature request by creating a new issue.
Alternatively, in case you’re not familiar to github (and don’t want to create an account there), if you just let me know about your request on Discord, I will take care of creating the issue for you.
The FAQ page is a good resource in case you have an issue that may have already been answered.
Some issues are already known and being worked on.
- Cannot separate to-hit and damage dice (disabled “auto roll damages” option) when using the Digital Dice.
- Quick roll tooltip have their positions shifted if there is an ad banner (“Get the Mythic Dice Set” for example) at the top of the D&D Beyond page
- Conditional Advantage/Disadvantage badges on skill checks will override the roll type setting (Use Alt to force a regular roll)
To check the latest list of known issues or feature suggestions, you can head to the github issue tracker.
Hey everyone! Here’s another small bugfix release of Beyond20. It’s only been a few days since the 2.1 release, but I introduced some rather critical bugs in the last release (that’s what happens when you add “one last fix before I release” at 6AM which ends up breaking other stuff instead).
This update fixes some issues with the attack rolls being sent properly for some spells and weapons, as well as initiative rolls being sent twice. There’s also a nice new experimental feature that was added by @shadow7412 which adds synchronization of the Combat Tracker with Roll20 (no support yet for Foundry).
If you’ve just been updated to 2.1.1 directly, please refer to the release notes and changelog of the 2.1 release below from a couple of days ago for more information about this update.
Another month, another Beyond20 release. This time, it’s mostly a bugfix release, and while I wanted to release this earlier—considering the number of bugs that crept into the v2.0 update—I found myself lacking the time and energy to do much work on Beyond20. Thankfully, there weren’t too many bad bugs in v2.0, nothing game breaking at least, so I allowed myself to concentrate on other works and to actually take some time off and finally rest for the first time in months (yeay!). Most of the initial bugs were fixed by Aeristoka who has been contributing a large number of features and bugfixes lately, so everybody send some thanks his way!
Today unfortunately, D&D Beyond have updated the character sheet and it broke Beyond20 pretty much instantly for everybody. This has forced me to rush out this release to you all, but I didn’t want it to be an underwhelming release with just a few fixes, so I spent the afternoon and all night working on trying to cram as much features and bugfixes into this release. I still managed to do about half (23 out of 51) of the originally planned features/fixes for 2.1, so I’m pretty happy with that.
That’s about it, a short release notes this time, the main changes here are bugfixes, especially for the break from the July 7th update of D&D Beyond, and a few general improvements to the user experience. There’s still plenty of changes to read about in the Changelog.
If you find Beyond20 useful and it helps you run your games more smoothly, please consider supporting me and Beyond20.
Thank you, stay safe, and, as usual, happy rolling!
Hi and welcome to the Two-Point-Oh release of Beyond20!
I usually say this at the end, but this time, I want to start by giving a very special thank you to all my patrons and all the generous people who supported my work by sending rations through Ko-fi or other means. Without you, I wouldn’t have had the courage and motivation to spend this much time working on making this release, especially with how busy and chaotic my life has been in the last few months.
As some of you may already know, I’ve worked relentlessly in the past few months on my new D&D related project and new business venture, The Forge, which is a hosting service for Foundry VTT games. With Foundry VTT officially releasing just last week (on May 22nd) and me doing my best to release The Forge on the same date, it has been a very stressful and chaotic time, but the launch went smoothly and I’m very happy with the results so far. I have still managed to take the time every few days and dedicate myself to working on Beyond20, and that has paid off greatly with this release being ready so soon and being so extensive.
Another big and important thing to mention relating to this release is the number of external contributions that were received, making Beyond20 greater than one man’s work. Some of the contributions were small, others were large, and others were non quantifiable. We now have new amazing artwork, made by Jerry Escandon that makes the Beyond20 icons look beautiful and sleek and much nicer at the low resolutions needed by Beyond20. We’ve also had code contributions by @Brunhine, @spisin, @kbuzsaki, @Ainias and last but not least @Aeristoka. Aeristoka has also been a huge help in systematically testing every feature of Beyond20 after the rewrite of the extension and reporting all the bugs he could find as well as fixing many of them himself. What this means is that if you find a bug, you can now blame Aeristoka, not me!🤣
I know that some of you may have wanted to see this release appear sooner, especially with the D&D Beyond Digital Dice release that affected our Quick Rolls feature, but let me give you a little bit of perspective before diving into the new features in this release.
So far in nearly one year, up to the 1.1 release last month, 173 issues (bugs and feature requests) were opened on the issue tracker with most of them being closed over that same period of time. In the last 8 weeks alone, we’ve had 152 new issues created and closed. Here’s a little table (for those who like statistics) showing how many changes (according to the github commit log history) each version had and how long it took to prepare that release.
|Release||Code changes||Development time|
|0.8||30 commits||17 days|
|0.9||37 commits||69 days|
|1.0||37 commits||32 days|
|1.1||24 commits||24 days|
|2.0||165 commits||53 days|
Oh and by the way, Beyond20 now has over 135 000 users which is just incredible! 🥳
Now let’s get down to the interesting bits. What does this release bring you?
The other big change, is with regards to Discord Integration. I promised you last time, that I would enhance the features of the Discord integration, and I did. It is still not as complete as I would hope, but it should hold you over until the next round of features are added. You can now add multiple Discord destination channels to Beyond20 and choose where you want the rolls to go. You can also give a friendly name to the channel so you don’t need to remember which secret key goes to which channel. I have also added support for specifying a channel dedicated to whispers when creating your secret key, as well as specifying options, the only one available now being the ability to disable the spoiler tags for the roll formulas. See the updated instructions on the Discord page for more information.
Another change that I am very happy about is the automatic detection of the character sheet template used on Roll20. We’ve had so many people asking about “why does Beyond20 send an empty message” and us having to point them to the FAQ that I’ve had to tackle that issue and make Beyond20 smarter. Now if your game is not using the ‘D&D 5e By Roll20’ character sheet template, then it will automatically use the default template instead. This also applies when using pre-rendered rolls when you roll using the Digital Dice.
If you find Beyond20 useful to you and it helps you run your games more smoothly, please consider supporting me and Beyond20.
Thank you, stay safe, and, as usual, happy rolling!
Hey everyone, it’s time for a new Beyond20 release!
That’s a lie, it’s actually not time for the release, but D&D Beyond has been updating their character sheet layout recently and Beyond20 was therefore broken for some users who were selected by D&D Beyond for beta testing the new layout.
This means that I’m making a release earlier than expected, which unfortunately also means that it doesn’t have all of the new features I had planned for v1.1. The big change in this update is of course the fact that it will now also work for those using the new D&D Beyond sheet layout. The change might not be visible to most of you, but there were some internal changes to the website that required Beyond20 to parse the page differently.
While there’s also a couple of bugfixes in this update (as usual, refer to the Changelog for the full details), there are also two interesting features that were added :
- You can use in custom spell/action/weapon descriptions the formula
1d20 + your spell save DCor
+ your Wizard spell attackor
+ your Cleric spell modifier, etc… to have those parsed and add the proper modifiers. These special formulas join the other
+ your dexterity modifier,
+ your Paladin level,
+ your proficiency bonusand
+ your ACthat were already supported.
- You can now define the damage type for your custom damage dice in the character sheet’s beyond20 quick settings. To specify the damage type, simply prefix your formula with the type separated with a colon, for example
Fury of the small: 3, Magic Weapon: 1
The Discord integration functionality turned out to be much more popular than I initially thought it would be, and I was hoping to add some new cool features to it, but due to the urgency of this release, that’s delayed. I will work on getting it more fleshed out for next time though, I promise.
I’d also like to take a moment to quickly address the current global crisis. Due to COVID-19, there are many people who have been forced to move their D&D games to online play, and this can be seen by the sudden surge in popularity of the Beyond20 extension. It is a bittersweet feeling, since, while I am deeply saddened by what’s happening outside our homes, I am also proud to have been able to help people stay connected and ease their experience in how they play their favorite game online. When I made the last release, I had announced that I’d achieved, ten months after the initial release, a total of 15 226 chrome and 1 611 Firefox users (on March 16th), and today, three weeks later (on April 8th), Beyond20 now has 58 292 chrome and 5 665 Firefox users. That’s almost 4 times the users in just 3 weeks, and it’s all been because of you, isolating yourselves and instead of spreading the virus, you were spreading through word of mouth, how much you love my extension and find it helpful.
I like to end these release notes with my usual thank yous. First, I’d like to thank the D&D Beyond team who have reached out to me and have granted me access to the alpha character sheet in advance so I could update Beyond20 to work with the new layout. Working with them has been a real pleasure, and I wanted to thank them for being so friendly and open.
I’d also like to thank all of you who have sent me rations/coffees through the Ko-fi link or who pledged on Patreon through my support page. The outpouring of love and support has been tremendous and is what keeps me working and updating Beyond20 for you all.
Thank you as well for all of you who told others of the extension or who came to my Discord to thank me or to tell me how much you loved my work.
If you find Beyond20 useful to you and it helps you run your games more smoothly, please consider supporting me and Beyond20.
Thank you, stay safe, and, as usual, happy rolling!
Wow, it’s the Vee-One Release!
Alright, the v1.0 version doesn’t hold any particularly special importance. I started releasing Beyond20 ten months ago with v0.1 and this is the 10th release since then. This release is still a pretty major milestone as I’m releasing a new feature in Beyond20 that I’m sure many of you will love. I didn’t know if I would be able to do it, but it turned out to be easier than expected, and I present to you : Discord Integration
You can now invite the Beyond20 Discord bot into your servers and have all your rolls sent to Discord. Be aware that you can either send to Roll20 or to Discord, not both at the same time. Since that limitation is not there for Foundry VTT, I’ll try to find a way to achieve the same thing with Roll20, though I’m not sure if it would be possible.
Here’s what it looks like (with and without the spoiler tags revealed, click to zoom) :
One other thing of note in this release is that I’ve received my first external code contribution. Thank you Jeremy ‘@jaypoulz’ Poulin who implemented the option to add the dexterity modifier as tie breaker to initiative rolls.
This release also fixes (for the third time) the changes to D&D Beyond’s Encounters page, allowing you, once again, to roll from the stat blocks of monsters directly in the Encounters or the new Combat tracker.
There’s plenty more features and a whole lot of bugfixes that made their way into this release and, as usual, you can read the full Changelog below. I wanted to do so much more, but saying that I’ve been busy for the past 2 months would be the understatement of the year, so I had to bump some of those features for the next release, but hopefully the Discord integration makes many of you happy and makes up for any feature you may have been waiting for.
I expect v1.1 to be ready in a month or two, to keep up with my usual release schedule, but I’m dedicating most of my time right now to a new business project I’ve started for hosting Foundry VTT games, so things may be a bit slower than usual in the coming months. With my new business, The Forge, my aim is basically to have a user experience resembling Roll 20 when it comes to game and user management but with the powerful Foundry VTT as the core technology behind it. And of course, I’m doing my best to make it as stable, polished and user-friendly as I’ve tried to do with Beyond20. Check it out if you’re curious, but do note that it’s currently still in beta and I’m not taking subscriptions just yet other than offering beta access for my patrons.
As usual, I can’t end without saying a big thank you to all those who supported this project and who contributed in one way or another. A big thank you to my patrons of course, who are making this possible, and to the 15226 chrome users and 1611 Firefox users (as of today, March 16th) of the extension who are using it, sharing it with their groups and friends, and who write reviews and send me praise/encouragement every day. Thank you all!
Thank you, and happy rolling!
It’s time for the v0.9 release of your favorite extension! This adds support for a lot of special feats and class features, thanks to @Kelijyr on Discord who tracked down most of them. I’ve fixed the bugs that have been reported recently, and added some cool new features as well. My favorite is the ability to quickly roll with advantage by holding Shift when clicking the roll button. You can also roll with disadvantage by holding Ctrl, or do a normal roll by holding Alt. Thanks to @TheSheep from Github for the suggestion and proof of concept.
Another cool feature, is the syncing of Temp HP for your characters and the HP and Temp HP for your Extra creatures. Make sure you rename that “Wolf” Beast Companion that follows you into a unique name to avoid changing the HP of all the wolves attacking you in your next battle. And one final thing which took way too long to achieve was the addition of the quick settings button for Firefox users. I originally thought it was a Firefox bug but I finally realized that Chrome was not following the specification and I had to work around it to achieve what I was trying to do. But now it works, so that’s great.
As usual, big thanks to everyone who helped, supported me, reported bugs, gave feature suggestions, or just spread the word about this extension to their friends and gaming groups. A special thank you as always to my Patrons who keep me motivated.
Thank you, and happy rolling!
Another update already! This was meant to be a small bugfix release, but I still managed to add nice set of new features as well. The one I’m most happy about is the Quick Rolls feature which lets you roll ability checks, actions/weapons/spells directly from the main page without having to open the side panel first then click on the beyond20 icon. I am most happy about the fact that I managed to do this without adding tons of new dice icons everywhere in the character sheet. All you need to do is click on the ability/save/skill modifier or the icon next to the attack (or the small ‘Cast’ button next to spells) to have the Quick Roll happen. Conveniently, a Beyond20 icon will appear as a tooltip above the areas that are considered quick rolls to make them recognizable. You can still click anywhere else (where the tooltip doesn’t appear) to open the side panel normally without auto-rolling. The option can also be disabled of course in case you don’t like it, but I expect this will be a fan favorite!
I have also added support for super advantage and super disadvantage rolls (and roll thrice for FVTT users or those using the Dice roller). That was a compromise in trying to add support for the Elven Accuracy feat which was very difficult to get right. Note that on Roll20, if you use the ‘D&D 5e by Roll20’ character sheet template, there is no way of rolling a third dice, so ‘roll thrice’ acts as a ‘roll twice’, but the ‘super advantage/super disadvantage’ modes will work just fine as it will actually roll 3 dice even though only two are shown, the second roll box will be an advantaged/disadvantaged roll. You can hover on that box to see all the dice results.
Last major feature that was added is the condition tracking for the character sheets. If using FVTT and you have the Beyond20 FVTT module (which you should), then update the module as it will allow you to automatically set condition status effects on the tokens. For Roll20 unfortunately, I never understood any of their status effect icons and I didn’t want to choose some as representing specific D&D conditions as I expect everyone has their own interpretation of each icon’s meaning.
Finally, I’ve fixed a bunch of bugs from the last release, and added support for a new Paladin class feature and handling for three special spells. As usual, I suggest you check out the full Changelog for more details.
Also, as usual, I’ll thank everyone who helped, supported this project, reported bugs or gave feature suggestions, or just spread the word about this extension to their friends and gaming groups. A special thank you as always to my Patrons who are always motivating me to keep doing what I love!
The #ThankYouPatrons release!
This release is dedicated to my generous patrons who are making this possible by supporting my projects. Today (November 19th) is the #ThankYouPatrons event organized by Patreon. As I asked recently my patrons which projects they would like me to focus on, I was surprised to see Beyond 20 at the top of the poll results, so I’ve worked day and night to making this release possible for today in order to celeberate all those who have generously given me their support.
As a way of thanking them for their support, I’ve made this a big release with some major improvements and new features. The most important of which is the addition of a new Dice Roller for anyone using D&D Beyond without a Virtual TableTop (or using one that isn’t supported by Beyond20).
I have also added a new option for how critical hit dice are calculated so you can select some of the more used homebrew rules instead of the D&D 5e PHB rules. I unfortunately could not add a ‘double dice result’ option even if I know it’s a popular one, because the way Roll20 does its rolls makes it impossible.
I’ve also added Beyond 20 button for quickly accessing the settings in both the VTT and the D&D Beyond pages. I’ve realized that many users never noticed that they can click on the Beyond20 icon in the toolbar to get character specific options, so I hope this makes it much more visible to everyone and makes it easier to access and use as well.
The new support for many of the special class features is another important change : You can now enable through the quick settings menu the following features : Bloodhunter’s Crimson Rite, Ranger’s Dread Ambusher, Paladin’s Legendary Strike, Warlock’s Hexblade’s Curse and the Rogue’s Assassinate.
There are many other smaller improvements or bugfixes, and I invite you to check out the full Changelog for more details.
Thank you to everyone who submitted their feature requests or reported bugs they found, please continue to do so and I’ll be happy to tackle those as soon as possible.
And finally, again and always, a special thank you to my Patrons who are making this possible and for everything they’ve done for me!
Another month, another Beyond20 update! I won’t bore you with long release notes this time. This adds a couple of features that were requested on the github issue tracker and fixes some bugs as well. I am mostly just responding to requests at this point so if there’s something you’d like the extension to do, let me know and I’ll work on it.
The two main feature of this release are the ability to display spell cards from monster stat blocks directly without having to open the spell page separately, and better support for Vehicles. With the
Baldur's Gate: Descent into Avernus release, we now have some new types of Vehicle stat blocks for Infernal Machines and Beyond20 parses those and allows you to roll them. I’ve also improved the regular monster stat block parsing to let you roll monster features and legendary actions.
There are other features and bugfixes as well, so I recommend checking out the Changelog for the full list.
A big milestone this week is that Beyond20 has now reached 5000 active Chrome users (according to Chrome Web Store statistics) and nearly 450 installs on Firefox. Since I don’t really promote Beyond20, this has mostly happened thanks to word of mouth and thanks to the great reviews people have been giving this extension. Thank you everyone for sharing and talking about it and thank you for all the love and words of appreciation I’m receiving from the community, it really means a lot! I’d also like to thank those who reported the bugs or gave the ideas for the features that were added in this release!
And finally, again and always, a special thank you for all those who donated as well as to my Patrons who have paid for the development of this update.
Another small update but one that is long overdue, also there’s a lot to talk about.
As Beyond20’s feature list has stabilized and it does most of what I want it to do, I haven’t been working on it as much as I was before (until/unless people request features on Github which I’m happy to handle). This update fixes the bug where spell pages weren’t working anymore, it adds a few new features which you can read about in the Changelog, but the one major change is one that will affect FVTT users on Chrome.
Starting from v0.5, if you are using FVTT on Chrome (Firefox users are unaffected), you will need to click on the Beyond20 icon in the toolbar to ‘activate’ Beyond20 on your FVTT tab. The reason for this change is that, since FVTT can be hosted anywhere, I had to have very broad persmissions for Beyond20, basically giving it access to every website, and it doesn’t seem like Google likes that very much so every update has been stuck for 7 to 10 days while a Google employee reviews it to make sure it doesn’t do anything malicious. The Google Chrome Web Store will also add a new policy, effective October 15th 2019 to restrict extensions that use broad permissions and Beyond20 might be taken down unless I make this change.
By not having access to every website, Beyond20 cannot verify if the current page is an FVTT installation, so Beyond20 will not work by default on FVTT. The solution however is to click on the Beyond20 icon in the toolbar which is your way of telling Chrome that you give the extension permission to access the current page. That will activate Beyond20 for the FVTT page and then it will work just as it did before! I’ve also updated the FVTT companion module so it shows an information banner reminding you to activate it when you first load the page.
Other than that, most of my work in the last month has been concentrated on making modules for FVTT. I’ve completely finished my transition away from Roll20 and into FVTT as my VTT of choice and I couldn’t be happier. While FVTT is still considered Beta software, I think it’s much more stable than Roll20 ever was, it has also surpassed it by miles in terms of performance, features, stability, ease of use, etc.. (the only big thing missing is macro support, but with an extensive API and a modules framework, it doesn’t matter to me as much), if you’re curious about why I like it so much, you can read a comment I wrote about it here.
That being said, on that same forum, I’ve seen a few people worried that it means Beyond20 will stop supporting Roll 20 and I want to assure you that this isn’t the case. While I’m not a Roll 20 user anymore, I will keep implementing all new features for both Roll 20 and FVTT and will keep maintaining the software (bugfixes) for both platforms as well. In the same way that I fix and test Beyond20 on Firefox even though I don’t use Firefox personally.
Finally, a big shout out to all those who donated to me via Paypal and to my Patron subscribers who have been supporting my work in the recent months (and therefore, paid for this Beyond20 update).
Thank you all!
A small update but it took a while to do as I’m working on other things lately. I’ve finished the support for FVTT basically and fixed the outstanding bugs. I’ll now be mostly concentrating on FVTT modules and other similar work, though Beyond20 will continue to get updates to fix any bugs found or add features as they get requested.
In other news, it’s my birthday in a few days, so yeay!
This is a major update that I’ve been working on for a while. As I’m moving away from Roll 20, I’ve added support for Foundry VTT which works so much better for me. In order to do that, I’ve had to change some of the way that Beyond20 works and move a lot of the logic out of the Roll20 module and into the D&D Beyond module.
Another consequence is that the extension now needs permission to access all websites and that’s simply because Foundry VTT can be self-hosted on any website. If the extension doesn’t find a FVTT instance on the page, it won’t load anything. If you are worried about what it does exactly, feel free to review the source code on Github.
Roll20 support will continue of course, so you don’t need to worry about that, but now you can also use Beyond20 with FVTT.
A lot of my time was also spent on writing a full campaign exporter and a Roll20 -> FVTT converter which I might release at some point in the future. For now it’s available in beta to my Patreon subscribers.
There’s a couple of bugfixes and some new features, but the FVTT support is the major take away from this version!
- Feature: Add synchronization of D&D Beyond’s combat tracker with Roll20’s Combat tracker (By @shadow7412)
- Feature: Add support for the Wizard’s Bladesong class feature (By @Aeristoka)
- Feature: Add support for Aarakocra Talons as Natural Weapons (By @Aeristoka)
- Bugfix: Fix incorrect detection of “To Hit” values (spells in action page and customized weapons)
- Bugfix: Prevent initiative rolls from being sent twice
- Bugfix: Fix HP not syncing immediately if applying damage/healing from the main page directly
- Bugfix: Roll20: Show the spell’s name when rolling a spell without to-hit using the Beyond20 renderer
- Bugfix: Roll20: Fix “Display in VTT” for a monster’s avatar when using the Beyond20 renderer
- Feature: Add Quick Roll Area to the Digital Dice buttons for “To Hit” and “Damages” in Actions and Spells tabs
- Feature: Add support for the Bard’s Silver Tongue class feature (By @Aeristoka)
- Feature: Add support for Natural Weapons (Claws, Bites, Tails, Ram, Horns, Hooves, etc..) (By @Aeristoka)
- Feature: Add support for Dragon’s Breath Spell attack (By @Aeristoka)
- Feature: Add support for Path of the Zealot’s Divine Fury (By @Aeristoka)
- Feature: Use a slightly less biased random number generator (1 in a few trillion chances of having a biased result) (By @shadow7412)
- Feature: FVTT: Save Roll information in ChatMessage (allows interoperability with Dice So Nice module) (By @Aeristoka)
- Feature: Make Quick Roll icon clickable and change the mouse pointer when hovering on it
- Feature: Change the Quick Roll tooltip’s arrow to point to the quick roll area instead of the tooltip itself, to avoid confusion
- Feature: Make Quick Roll areas show a clickable mouse pointer
- Feature: Hide monster names when showing their avatars in whisper mode
- Feature: Query for whisper type on the D&D Beyond page instead of the VTT which allows the “Ask every time” option to work with Discord integration
- Feature: Add hint in the settings popup about the Shift/Ctrl/Alt hotkey for changing the roll type
- Feature: Add support for monster that do multiple damages of a single type (Orc War Chief)
- Bugfix: Fix support for the new Character Sheet update of D&D Beyond’s 7th of July update
- Bugfix: Fix adding the initiative to the initiative tracker when using the Digital Dice
- Bugfix: Fix Cast button not working when using the Quick Roll area to click on it
- Bugfix: Fix issue with rolling hit dice (By @Aeristoka)
- Bugfix: Fix issue with Polearm Master Bonus attack and Great Weapon Fighting (By @Aeristoka)
- Bugfix: Fix issue preventing Chaos Bolt from working properly (By @Aeristoka)
- Bugfix: Fix issue with Brutal Critical/Savage Attacks when using “Perfect Dice” critical homebrew rules (By @Aeristoka)
- Bugfix: Fix custom damage parsing when using “:” as separator without a space (By @Aeristoka)
- Bugfix: Fix roll type query not appearing when a skill check has an advantage/disadvantage badge (By @Aeristoka)
- Bugfix: Fix issue with separate roll damages breaking when character’s name has a quotation mark in it
- Bugfix: Small fix to quick roll tooltip position so it is better centered
- Bugfix: Fix initiative value not updating when switching between statblocks in the Encounters page
- Bugfix: Fix parsing of some monster stat blocks that had non-breaking spaces in their actions’ descriptions
- Bugfix: Fix issue of displaying results of zero when doing a monster’s attack that has a to-hit value but no damages
- Bugfix: Fix issue with rolling actions that have “–” as their “To Hit” value (Fist of Unbroken Air)
- Bugfix: Roll20: Fix newly introduced bug where custom roll modifiers that uses queries may not change the roll to display as a critical hit when it’s not
- Bugfix: Roll20: Fix bug where damages could not be rolled separately on a monster with “Hide Monster and Attack Name” whisper mode
- Bugfix: Roll20: Show critical success/failure colored results on rolls using the Beyond20 roll renderer
- Bugfix: Roll20: Change the Beyond20 renderer display so it doesn’t say “To Hit” on non attack rolls
- Bugfix: Roll20: Add the “Roll Damages” button when using the Beyond20 renderer with the ‘auto roll damages’ option disables
- Misc: Improved and more standard build and packaging process (By @moritonal )
- Feature: Add integration with the D&D Beyond Digital Dice
- Feature: Update the Beyond20 icon sets to make them more beautiful and usable at low resolutions. Icons provided by Jerry Escandon
- Feature: Discord: Add a channel manager for Discord secret keys to allow easily switching channel destinationse](https://github.com/Brunhine))
- Feature: Discord: Add support for whispered rolls in the Discord integration
- Feature: Roll20: Automatically check for character sheet template and display the roll according to the campaign setting
- Feature: Add quick roll button to Initiative
- Feature: Add ability to send pre-rolled dice using the Digital Dice to Foundry and Roll20
- Feature: Discord: Add support for customizing rolls (no spoiler tags) when requesting a secret key from the Discord Bot
- Feature: Discord: Hide monster name, attack and formulas on Discord rolls when using the “hide monster name” whisper mode (By [@Brunhin
- Feature: Discord: Add support for linking back to the character, spell and item, when rolling to discord
- Feature: Add ability to display a monster avatar in the VTT (By @Brunhine)
- Feature: Roll20: Add custom modifiers to the display of the modifier field in Roll20 rolls (by @spisin)
- Feature: Allow the use of reroll modifiers on custom dice formulas
- Feature: Differentiate between one handed and two handed damages for versatile weapons when rolling both damage types
- Feature: Detect Advantage/Disadvantage indicator on skills and apply them to skill checks (By @Aeristoka)
- Feature: Add the proper modifiers to a Fighter’s Parry and Rally maneuvers
- Feature: Differentiate between Brutal Critical damages and Savage Attacks damages (By @Aeristoka)
- Feature: Consider Unarmed Strike as natural weapons for class features that affect weapon attacks (brutal critical, giant might, etc..) (By @Aeristoka)
- Feature: Add support for roll formulas in descriptions of the form “+ half your
- Feature: Add support for Ranger’s Colossus Slayer class feature (By @Brunhine)
- Feature: Add support for Ranger’s Planar Warrior class feature (By @Brunhine)
- Feature: Add support for Protector Aasimar’s Radiant Soul class feature (By @Aeristoka)
- Feature: Add support for Flames of Phlegethos Feat (By @Aeristoka)
- Feature: Add support for Ranger’s Slayer’s Prey class feature
- Feature: Add support for Ranger’s Gathered Swarm class feature
- Feature: Add support for Cleric’s Supreme Healing class feature
- Feature: Add support for Rogue’s Reliable Talent class feature
- Feature: Add support for the Elemental Adept Feat
- Bugfix: Fix some edge cases in roll formula formatting in ability descriptions (By @Brunhine)
- Bugfix: Fix Fighter’s Giant Might class feature not scaling its dice properly at level 11 (By @Aeristoka)
- Bugfix: Fix Cleric’s Divine Strike to work for non melee weapons as well (By @Aeristoka)
- Bugfix: Fix handling of Great Weapon Fighting for the Polarm Master bonus action (By @Aeristoka)
- Bugfix: Roll Sneak Attack damages on Psychic Blades action (By @Aeristoka)
- Bugfix: Fix saving throws quick roll not working anymore (By @kbuzsaki)
- Bugfix: Do not display duplicate custom dice icons in the class features list
- Bugfix: Fix the integrated dice roller not rolling ‘d4’ formulas (instead of ‘1d4’) such as in the Bless spell
- Bugfix: Apply Great Weapon Fighting rerolls to a weapon’s additional damages
- Bugfix: Fix Cleric’s Life Transference damage being wrongly calculated
- Bugfix: Fix custom damage labels being ignored for spells and actions
- Bugfix: Fix class feature descriptions not being properly displayed
- Bugfix: Fix rolling tools from Equipement due to change in equipment type
- Bugfix: Roll20: Prevent multiple dice rolls in a single formula from appearing as separate formulas
- Bugfix: Foundry VTT: Fix add to initiative breaking with 0.6.0 release (By @Aeristoka)
- Bugfix: Foundry VTT: Fix applying damage or healing to a token from a custom roll
- Bugfix: Foundry VTT: Fix condition syncing with tokens (By @Brunhine)
- Bugfix: Foundry VTT: Fix PC/NPC Names being displayed in lowercase (By @Aeristoka)
- Bugfix: Foundry VTT: Fix loading the Beyond20 setting icon in whitelisted pages
- Bugfix: Discord: Use the correct URL for Discord monster link back when rolling from encounter pages
- Bugfix: Discord: Send the correct whisper setting when sending the roll to Discord
- Bugfix: Discord: Fix displaying Equipment and Magic Items to Discord
- Misc: Allow Beyond20 to work within iframes (By @Ainias)
- Misc: Remove roll type indicators and use the new badge icons to represent the roll type
- Misc: Change internal dice formula reference to be more streamlined and independent of specific VTT implementations
- Misc: Make the quick roll icon remain fixed in place and disappear with a small delay
- Misc: Fix some dice rolls failing on pre-v3 D&D Beyond character sheets (irrelevant at this point)
- Feature: Add support for the new D&D Beyond character sheet layout
- Feature: Save and cache spell modifiers/attack/save DC information from character sheets
- Feature: Add support for dice formulas using “+ your spell save DC” or “+ your Wizard spell attack”, etc..
- Feature: Add ability to specify the damage type in custom damage formulas
- Bugfix: Always round initiative value to decimal when using the tie breaker option
- Bugfix: Don’t send HP update information to VTT if HP syncing is disabled
- Bugfix: Remove trailing spaces from character names to avoid issues with HP syncing name match
- Bugfix: Fix damage total calculation breaking when enabling Rage
- Bugfix: Fix damage total calculation breaking when enabling Sharpshooter
- Bugfix: Fix statblock detection for character sheet creatures when using the integrated dice roller
- Bugfix: Fix issue with the “Send rolls to” being reset to an invalid value when changing settings
- Bugfix: FVTT: Fix detection of FVTT tab when using a route prefix
- Misc: Fix Donate button size being too big in the popout dialog in non-dnd/roll20/fvtt websites
- Misc: Chrome: Add permissions for forge-vtt.com as I prepare for using a new domain
- Feature: Added Discord integration via the new Beyond20 Discord Bot!
- Feature: Add setting for adding a dexterity tie breaker to initiative rolls (Contributed by Jeremy ‘@jaypoulz’ Poulin)
- Feature: Track the monster stat blocks from the new encounter page and combat tracker
- Feature: Add support for parsing the avatar of the character/monster and preview image of attacks/items/spells (used in Discord integration)
- Feature: Improved dice formula parsing for D&D Beyond integrated dice roller
- Feature: Use “Display in VTT” button only for spells/items that do not generate attack or damage rolls
- Feature: Add support for parsing “+ your AC” or “+ your Armor Class” dice formulas in description text
- Feature: Allow manually selected super-advantage to remain active when rolling with features that force advantage (such as the Rogue’s Assassinate)
- Feature: Roll20: Improve display of Temp HP when assigned to a token bar
- Feature: FVTT: Add support for HP sync with worlds using the Simple Worldbuilding System
- Bugfix: Fix Quick Roll feature not working properly for spells when character has available spell slots
- Bugfix: Fix rolling attack roll for weapons affected by magic items
- Bugfix: Reset roll type key modifiers (shift, alt, ctrl) when window is unfocused to prevent wrong state in cases of Ctrl-Tab for example
- Bugfix: Fix support for disadvantage key modifier with Ctrl/Cmd on Mac OS
- Bugfix: Fix the use of the proper modifier in formulas that have “+ your proficiency bonus”
- Bugfix: Apply Hexblade’s Curse critical hit on 19 for all attacks, not only weapon attacks
- Bugfix: Fix Monster skill checks not adding the modifier when rolled from the new Encounters page
- Bugfix: Fix rolling of weapons with no item properties, such as Maces
- Bugfix: Fix negative modifiers not being applied to damages when using integrated roller
- Bugfix: Consider Vehicle stat blocks as Monsters with regards to the whisper monster rolls setting
- Bugfix: Don’t consider the “0 hit points by this damage” for the Demon Grinder Vehicle as a damage of type “hit points by this”
- Bugfix: Roll20: Fix syncing of temp HP with token bars
- Bugfix: FVTT: Fix updating initiative on combatants already in encounter
- Bugfix: Firefox: Fix condition tracking not working properly
- Misc: Various small miscellaneous fixes
- Misc: Add The Forge (https://forgevtt.com) as a whitelisted FVTT server for Chrome
- Misc: Add transparency to the roll type indicator to make it less conspicuous
- Feature: Add indicator on roll buttons to identify the roll type (advantage, disadvantage, roll twice, etc…)
- Feature: Add synchronization of Temporary HP to tokens and character sheets in Roll20 and FVTT
- Feature: Add support for HP and Temp HP synchornization for character sheet creatures from the Extra section
- Feature: Add a “Display to VTT” button on Equipment and Magic Items pages of D&D Beyond
- Feature: Support rolling with Advantage when clicking with the Shift button pressed
- Feature: Support rolling with Disadvantage when clicking with the Ctrl button pressed
- Feature: Support rolling normally (with no advantage/disadvantage/double rolls) when clicking with the Alt button pressed
- Feature: Firefox: Add buttons to access Quick Settings menu from Firefox (added for Chrome in v0.7 but finally got it working for Firefox)
- Feature: Add option to force an auto-crit on all attacks (against paralyzed enemies for example)
- Feature: Add the ability to roll multiple separate custom damage dice, by separating them with a comma (for use with Green-flame Blade for example)
- Feature: Add support for spells that add Temp HP instead of healing (such as False Life)
- Feature: Add support for Polearm Master Feat, which considers the bonus action as melee
- Feature: Add support for Fighter’s UA Rune Knight’s Giant Might class feature
- Feature: Add support for Artificer’s Arcane Firearm class feature
- Feature: Add support for Draconic Sorcerer’s Elemental Affinity class feature
- Feature: Add support for rolling the Bardic Inspiration dice, and Blade Flourishes for the College of Swords
- Feature: Add support for Cleri’s Divine Strike class feature
- Feature: Add support for Whispers Bard’s Psychic Blades class feature
- Feature: Add Attack buttons to roll the to-hit with damage on the various object sizes in the Animate Objects spell description
- Bugfix: Fix custom/concentration/ritual Spells and custom weapons which to-hit value was not being parsed properly due to a DNDB website change
- Bugfix: Fix quick roll tooltip from being at the wrong position when the page was not scrolled to the top
- Bugfix: Fix character settings not being saved properly. Caused double output of conditions on Firefox
- Bugfix: Support parsing of monster statblocks from the new My Encounters popup window for monsters
- Bugfix: More lax statblock parsing, which fixes the actions from monster ‘Orcus’ not being parsed properly
- Bugfix: Reroll all the dice in a critical hit if a custom dice formula had additive dice formulas
- Bugfix: Fix “Display to VTT” button position for Spell pages
- Bugfix: Roll20: Use /me instead of /emas for condition mapping if user is not a GM as /emas is a GM-exclusive command
- Bugfix: FVTT: Fix HP syncing for actors when the scene doesn’t have a token of the character sheet on it
- Misc: Make the Quick Rolls tooltip move with the mouse, as some people were confused by its position, not understanding it was a tooltip
- Misc: Make the D&D Beyond Dice roller animation less flashy and quicker to appear
- Misc: Added the ‘sponsor’ button on the github page, and registered for the Github Sponsors program
- Feature: Add Quick Rolls feature to quickly roll skills, attacks, spells from the main page directly
- Feature: Add support for Super Advantage and Super Disadvantage rolls
- Feature: Track Character Condition changes and display them in the VTT
- Feature: Add roll type option of always rolling three twice instead of twice (For Elven Accuracy Feat; limited support on Roll20)
- Feature: Cache the To-Hit value of weapons attacks so they can be rolled from the Equipment page
- Feature: Add support for the Paladin’s Improved Divine Smite extra radiant damage
- Feature: Add support for special spell: Absorb Elements (Doesn’t duplicate all the damage types)
- Feature: Add support for special spell: Life Transference (Shows healing amount on FVTT, clarifies the value on Roll20)
- Feature: Add support for special spell: Toll the Dead (Queries if the target is missing hit points)
- Feature: Roll20: When rolling initiative with ‘add to tracker’ enabled and ‘roll twice’ (or thrice), queries the user for advantage mode
- Feature: FVTT: Map Character Conditions to status effects (Requires Beyond20 FVTT module version 0.7+)
- Bugfix: Roll20: Fix the ‘incognito’ whisper mode where the monster name was leaked with the ‘Speaking As’ feature
- Bugfix: Fix inability to roll when opening the character sheet for the first time with a mobile or tablet layout
- Bugfix: Fix duplication of the “Roll initiative” lines in stat blocks when switching monsters in the My Encounters page
- Bugfix: Fix the spell name for concentration or ritual spells since the recent change to D&D Beyond content
- Bugfix: Fix Great Weapong Fighting dice reroll being mistakenly applied on some two-handed non-melee weapons
- Bugfix: Fix the spell level/school display missing spaces introduced in the recent code refactor of v0.7
- Bugfix: Fix character action list not being properly cached which may lead to loss of character options on mobile
- Bugfix: Fix parsing of stat block attacks for Clay Gladiator and Scout which had typos in the official D&D Beyond pages
- Bugfix: Fix Spell Attack roll which show displayed the modifier instead of rolling the 1d20
- Bugfix: FVTT: Fix dice roll formulas in descriptions not being clickable in FVTT 0.4.x
- Bugfix: Dice Roller: Fix display bug on rolls after opening the quick settings dialog
- Bugfix: Fix full settings window opening donate link inside the iframe instead of a new tab
- Feature: Add a Dice Roller within D&D Beyond for players not using Roll20 or FVTT
- Feature: Add option for alternate critical damage calculations based on common homebrew rules
- Feature: Add an ‘incognito’ monster whisper mode where rolls are displayed but monster name and action names are hidden
- Feature: Add a ‘Roll Initiative’ button to monster/vehicle stat blocks (rolls dexterity but allows adding to tracker)
- Feature: Add a “Roll Twice” option when querying the user for advantage.
- Feature: Chrome: Add a Beyond 20 button to D&D Beyond and VTT pages for easy access to quick settings
- Feature: Open the ‘More Options’ link as dialogs within the page instead of opening the browser’s extension page
- Feature: Add support for Bloodhunter’s Crimson Rite feature
- Feature: Add support for Ranger’s Dread Ambusher feature
- Feature: Add support for Paladin’s Legendary Strike (UA) feature
- Feature: Add support for Warlock’s Hexblade’s Curse feature
- Feature: Add support for Rogue’s Assassinate feature
- Feature: FVTT & Dice Roller: Standardize appearance of chat messages when using simple rolls
- Feature: FVTT & Dice Roller: When rolling with advantage/disadvantage, display both rolls instead of only the result
- Bugfix: Roll20: Fix Brutal Critical/Savage Attacks brutal damage not being rolled on some critical rolls
- Bugfix: Roll20: It seems Beyond 20 now works in Roll20’s popped out chat window
- Bugfix: FVTT: Show the world’s title instead of its name in the browser’s tab title
- Bugfix: FVTT: Critical hits of 18 or 19 (due to Improved or Superior Critical features) now appear green as expected
- Bugfix: Make parser for monster actions in stat blocks less rigid so it can find action names in some homebrew monsters
- Bugfix: Fix item/feature or spell descriptions not being properly displayed when they contain lists
- Misc: Use non-intrusive notification when opening a character sheet and no VTT window is found
- Misc: Add monster specific options to a monster page’s quick settings menu
- Misc: Fix typos of “Save Attacks” instead of “Savage Attacks”
- Misc: Using the new in-page quick settings dialog, setting a custom dice formula and dismissing the dialog will now accept the change
- Misc: Updated donate link to redirect to beyond20.here-for-more.info/rations instead of paypal.me/kakaroto
- Misc: FVTT: Major refactor of how message rendering is done internally to allow for the dice roller to work
- Feature: Roll Spells from Monster stat blocks without opening the spell in a separate window
- Feature: Add roll buttons on non-weapon actions of monster stat blocks (Legendary actions or a Dragon’s Fearful Presence/Breath attack for example)
- Feature: Add support for Vehicle/Ship weapons
- Feature: Add support for Infernal machines from Baldur’s Gate: Descent to Avernus
- Feature: Add escape DC parsing in monster stat blocks (when grappling).
- Feature: Alert when trying to roll while no VTT window is found or configured to receive the rolls
- Feature: Add a “Display in VTT” button for rollable actions
- Feature: Add support for rerolling 1 and 2 damage dice for Great Weapon Fighting
- Feature: FVTT: Play dice sound when rolling dice
- Feature: FVTT: Make all rolls as out-of-character messages so they appear with the colored border of the character (v0.3.7+)
- Bugfix: Fix damage detection in monster stat block where for example a “DC 13 saving throw or take half damage” could be mistaken for 13 damage of type “saving throw or take half”
- Bugfix: FVTT: Update initiative in combat if rolled more than once
- Bugfix: FVTT: Do the proper damage calculations when using the ‘Apply Damage’ context option on chat messages
- Bugfix: FVTT: Re-calculate total damages when rolling damage multiple times with the ‘Roll Damages’ button (Auto-roll disabled)
- Bugfix: FVTT: Do not re-roll damages the first time we click on ‘Roll Damages’ (gives proper dice values and damage types for Chaos Bolt for example)
- Feature: Roll the appropriate die when clicking on a Superiority Die or Maneuvers feature instead of displaying its description
- Feature: Query for skill and proficiency when rolling a tool from the equipment
- Feature: Improve support for casting Chaos Bolt spell.
- Feature: FVTT: Add custom support for Chromatic Orb and Chaos Bolt spells.
- Bugfix: Fix rolling from spell pages not working anymore
- Bugfix: Roll damages even without a “To-Hit” for Custom Actions
- Bugfix: FVTT: Clicking ‘Roll Damages’ when auto-roll damage is disabled will now re-roll the damage dice.
- Misc: Decrease Chrome extension permissions and require manual activation for FVTT installations (See Release Notes for more information)
- Misc: Replace all remaining occurences of “Roll20” with “VTT”
- Feature: Add option to decide if character is using one-handed or two-handed versatile weapons
- Feature: FVTT: query for advantage and custom skills.
- Feature: FVTT: Replace dice in description text.
- Feature: FVTT: Add support for the auto-roll damage option
- Feature: FVTT: Nicer display output for rolls
- Feature: Add “Roll20 Template” option in the Roll20 popup menu
- Bugfix: Fix non-visible messages on Roll20 when using other tempaltes even if template is set to ‘Other templates’
- Bugfix: No need to roll critical damages for spells that have no ‘to-hit’. Fixes 3d Dice rolls doubled on healing spells.
- Bugfix: Fix spell attack dice disappearing
- Misc: Remove the green/red on death saving throws above/below 10 as it was apparently confusing to players (might re-add as an option).
- Feature: Support for sending the rolls to Foundry Virtual TableTop (FVTT) as an alternative to Roll20
- Feature: The Whisper rolls Yes/No option has now become a Yes/No/Query where it can now prompt the user on every roll
- Feature: The Roll Advantage Yes/No Option has now become a Normal/Double/Query/Advantage/Disadvantage option
- Feature: Add support for Melee/Ranged Spell attack actions for monster stat blocks.
- Feature: Parse “+ your
level" or "+ your bonus" to the dice formula parsing algorithm.
- Feature: Support the new “My Encounters” website format since the recent D&D Beyond update.
- Bugfix: Roll20: Fix HP syncing when it didn’t always update the HP in the character sheet itself.
- Bugfix: Make attack buttons in monster stat blocks styled correctly after D&D Beyond removed the CSS for it
- Bugfix: Fix action descriptions having extra spaces in a monster stat block
- Bugfix: Fix damage for actions (like Unarmed attacks) when a custom dice is set.
- Bugfix: More relaxed monster action parsing algorithm to work better with homebrewed monsters.
- Feature: Add per character custom roll and damage dice formulas
- Feature: Add option to disable auto-roll damage and crit dice
- Feature: Add support for the Fighter’s Improved Critical and Superior Critical features
- Feature: Add support for the Barbarian’s Brutal Critical and Half-Orc’s Savage Attacks features
- Feature: Add support for Barbarian Rage (damage and advantage on STR rolls)
- Feature: Add special support for Chromatic Orb spell to ask for the damage type to use
- Feature: Add support for rolling abilities on Vehicles
- Bugfix: Fix Jack of All Trades being broken in v0.1
- Bugfix: Fix clicking the Display button executing the roll too
- Bugfix: Fix dice replacement in monster pages if the feature/action name has a “+X” in it
- Bugfix: Fix encounter page not being handled if navigated to from the my-encounters page directly
- Bugfix: Disable options until settings are loaded to avoid changing an option then getting it overwritten
- Misc: Per user request, updated Donate link to one that allows paying with credit cards
- Misc: HP syncing is now a global setting instead of a per-character setting
- Misc: Clean up of quick settings window to make room for more per-character options
- Feature: Full support for Monster stat blocks and character Creatures (roll for Abilities, Saves, Skills and Weapon attacks)
- Feature: Add support for rolling monsters from the My Encounters page
- Feature: Add support for rolling dice and display spell cards from Spell pages
- Feature: Add Class/Racial Features parsing and new options for using Sharpshooter and Great Weapon Master Feats
- Feature: Add option to choose what components to display during a spell attack
- Misc: Major improvement to the way rolls are displayed when clicked from descriptions in the Roll20 chat
- Misc: Only allow Disciple of Life option if the Cleric is of the Life domain
- Misc: Change the way Sneak attack bonus is sent so it also gets doubled if Crit
- Feature: Add preliminary Monster and Creatures support (only dice formulas are clickable for now)
- Bugfix: Fix Firefox support which got completely broken in 0.0.8
- Bugfix: Correctly fix the HP syncing feature and add support for HP=0.
- Bugfix: Fix wrong damage value in with weapons that have multiple types of damages
- Bugfix: Fix critical damage rolls for multi-damage attacks
- Bugfix: Fix bug where HP management only works if VTT ES extension is installed
- Feature: Add support for HP management (Requires VTT ES extension installed, for now)
- Feature: Add ability to select which Roll20 page to send the rolls to
- Feature: Add per-character settings to roll Sneak Attack, Disciple of Life, Jack of all Trades
- Feature: Add roll dice icon to spell attack modifier
- Misc: Brand new website!
- Feature: Add support for Firefox
- Feature: Add a “Display in Roll20” button for weapons and attack spells
- Feature: Add support for custom skills
- Bugfix: Don’t roll the second dice in 3D dice roller if not rolling with advantage
- Bugfix: Fix damage output with multiple additional damages in custom weapons
- Bugfix: Fix GreenFlame Blade damage output when level < 5
- Feature: Add option to send initiative to the turn tracker
- Feature: Add support for Firefox and fix firefox specific issues
- Bugfix: Fix 1d20 added to spell description for +x modifiers
- Misc: Change the “First/Second Roll” for other templates into a better name
- Bugfix: Fix issue with settings getting reset if we modify an option in the toolbar popup
- Misc: Change tag names for default template rolls to make them more readable
- Feature: Add support for other roll20 character sheet templates
- Bugfix: Fix custom dice formulas gettings messed up if we change spell level casting
- Feature: Add option to disable substitution of dice formulas
- Feature: Add option for critical hit prefix
- Bugfix: Fix dice formula detection
- Feature: Add a settings window and a popup menu to quickly change settings
- Feature: Add option to not always roll with advantage
- Feature: Inject into shared D&D Beyond character sheet, not just our own creations
- Feature: Switch to page actions (toolbar icon highlighted only on dndbeyond and roll20 pages)
- Bugfix: Fix double roll of equipment items when clicking on the beyond20 button in the top-right
- Initial release with support for all types of roles