November 14th, 2019 Update: It has been a very...very busy year for me :(
Became a senior tech lead of my company, now have weekly 5 hour DND sessions, bought a house, girlfriend moved in and got two baby Bengals. It has been so busy I have not had time to properly maintain this, sorry everyone.
I actually am actually about 70% done a "version 2", almost finished it at the start of this year before things got insane. It is entirely java-script, entirely client side code and *open source*. I am hoping to get some time this fall to work on it and finish it. I put it off and stopped working on it because I thought this functionality by now would be entirely built into DND Beyond.
The link at the top is a zip because chrome removed the extension because they changed their TOS and I never uploaded a new one under the new TOS. This is just temporary until I finish the new one.
TLDR:
This extension manipulates the D&D Beyond site to allow clickable text that will generate roll results for dice. It took a lot of work to get this working so I hope that many of you out there will enjoy using this free service. Right now there is only a chrome version (others will come with time) and it only been tested with the Monster Manual and SRD monsters but the goal is with time and your help, support all main browsers, support and be tested against all monsters and even character sheets, items, spells, etc. This extension modifies the D&D Beyond website by changing the action text to clickable code (like Bite or Greataxe on a monster) that will then perform dice rolls and auto calculate fail and crits (double dice - will have multiple crit options in the future). There is also now the new global dice roller widget.
Longer Version (Ready TLDR then this):
The dice rolls are presented in a nice popup dialog which show the individual dice rolls and modifiers beside the type of damage as well as the exact expression used to get the values so there is no guess work. The goal is to get this extension working everywhere that having dice results would allow for a richer, smoother D&D gaming experience (character page, monster page, custom items, etc). As well I would love to integrate even more third party API's in like Roll20, Discord, etc as currently only Slack is supported (as this is what I personally use).
Currently the type of pages that are supported are all monster pages (be that official or homebrew). Homebrew content will need to be worded and formatted like official content for it to be picked up properly. The system is flexible enough where it should work for almost any monsters unless the text breaks the standard formatting. As there are literally almost a thousand monsters in D&D, it would be impossible to say "everything will work 100% of the time" but it should work for almost all the monsters at this point. If you find a monster that does not work please let me know.
The goal was to build something smart enough to work 99% of the time and with user feed back and testing, custom build edge cases in the for 1% so that overtime it becomes perfect - at least for official content. User feed back is extremely important, as a community we can make this amazing. The other pages will come with time.
I love D&D and as a GM this extension has become priceless to me and my players love how quickly I can present damage as it means I can spend more time describing than I do rolling and doing math in my head. Hopefully your players will too.
I will be releasing an update sometime this weekend to the service to support all the monsters on DND beyond (non-homebrew). Support != bug free, but will mean it had some local testing. Will fix things as bug reports come in.
Pretty damned cool, I prefer rolling real dice, however I do have stealthy type encounters coming up and this may come in handy. Players get very used to hearing and thereby keying off the sound of dice rolling... this will eliminate that on those encounters where I want stealth, such as surprise encounters. I also wish to echo the treasure/magic tables thought, but yeah very nice work and very well done on the integration look with DDB.
All the javascript that is execute is computer generated from back end logic and so I can't really make an extension that is "open source". Really though, its just a set of API calls that I will later document if others wanted to use it as no auth is needed for the primary calls.
The back end is all C# and uses a English language parser I wrote to attempt to "read" what it should do and produce meta data as a result. The meta data is then processed at runtime into javascript and cached and returned to the client where it is executed in the javascript virtual machine and rendered on screen.
This also has the nice by product of allowing me to modify things on the server and everyone gets the latest version without them having to get the latest version of the extension.
With the initial release now running and the critical bugs and user complaints addressed, its time to think about tomorrow (literally).
The next few items I plan to work on this weekend (and next week depending on how things go) are:
1) Allow the user to close the modal window by clicking outside of the results box, it is clear a few people want to have this and helps mobile support.
Difficulty: Easy? Time: 1-2 hours including smoke testing.
2) Get a basic global floating dice rolling widget implemented as this will require a new service call with net new code which will mean core extension changes.
Difficulty: Medium / Hard Time: Not sure, but if I had to take a guess it will take me about a day to get a rough version working to then be released for feed back.
3) Build a Firefox extension. As the code is 99% service / server based, it should not be hard. It will just be refactoring the code a bit to detect chrome vs Firefox and of course Firefox specific formatting and extension details. This one is key though for the future success of the platform as its a major browser.
Time: A day, maybe two depending on how Firefox renders my code and styling (each browser is so different sometimes!).
Due to a lot of people asking for it, sometime this week I will be rolling out the following feature, global dice rolling widget! Currently it is working great but it needs a bit of work to get it integrated into the back end system.
Can you also make this work on the character page?
Let's say I am playing one of my DDB characters and I need to roll an attack or skill check. Would be nice if I could click on the weapon that I am attacking with and the attack and damage was displayed.
Can you also make this work on the character page?
Let's say I am playing one of my DDB characters and I need to roll an attack or skill check. Would be nice if I could click on the weapon that I am attacking with and the attack and damage was displayed.
I have plans to eventually roll this out for the character page, I have already done a bit of digging into the HTML of characters and it looks doable but does not fit with the current engine model so it may take a few weeks (or longer) for a basic implementation, but it will come. And that is for a "basic" implementation because there are so many modifiers / items / etc that can affect stats, weapon damage, etc it will be hard to get something accurate - but it is on my wish list for the future.
I have published the new extension, Version 1.1.0. It will take about an hour for it to show up on the chrome web store and another ~6 hours or so for it to slowly make its way to everyone who has it installed. You can of course manually update yours in about an hour.
Included in this update is some improvements to the existing features as well as the new global dice rolling widget. It allows you to create any sort of dice expression easily (mouse scroll wheel support on all the number text boxes!!) and then execute it and see the results. In my testing I was able to create custom rolls easier with this than in person, and that is saying something!
You can also click the die image instead of the roll button to roll a single die instantly which I know comes in handy for very single die rolls. I hope you all enjoy this feature :)
My next task for next weekend is to get the current version ported to firefox, edge, opera, etc. and to continue fixing any bugs that people report.
Extension Link: https://easyupload.io/rm2ypx
November 14th, 2019 Update:
It has been a very...very busy year for me :(
Became a senior tech lead of my company, now have weekly 5 hour DND sessions, bought a house, girlfriend moved in and got two baby Bengals. It has been so busy I have not had time to properly maintain this, sorry everyone.
I actually am actually about 70% done a "version 2", almost finished it at the start of this year before things got insane. It is entirely java-script, entirely client side code and *open source*. I am hoping to get some time this fall to work on it and finish it. I put it off and stopped working on it because I thought this functionality by now would be entirely built into DND Beyond.
The link at the top is a zip because chrome removed the extension because they changed their TOS and I never uploaded a new one under the new TOS. This is just temporary until I finish the new one.
TLDR:
This extension manipulates the D&D Beyond site to allow clickable text that will generate roll results for dice. It took a lot of work to get this working so I hope that many of you out there will enjoy using this free service. Right now there is only a chrome version (others will come with time) and it only been tested with the Monster Manual and SRD monsters but the goal is with time and your help, support all main browsers, support and be tested against all monsters and even character sheets, items, spells, etc. This extension modifies the D&D Beyond website by changing the action text to clickable code (like Bite or Greataxe on a monster) that will then perform dice rolls and auto calculate fail and crits (double dice - will have multiple crit options in the future). There is also now the new global dice roller widget.
Longer Version (Ready TLDR then this):
The dice rolls are presented in a nice popup dialog which show the individual dice rolls and modifiers beside the type of damage as well as the exact expression used to get the values so there is no guess work. The goal is to get this extension working everywhere that having dice results would allow for a richer, smoother D&D gaming experience (character page, monster page, custom items, etc). As well I would love to integrate even more third party API's in like Roll20, Discord, etc as currently only Slack is supported (as this is what I personally use).
Currently the type of pages that are supported are all monster pages (be that official or homebrew). Homebrew content will need to be worded and formatted like official content for it to be picked up properly. The system is flexible enough where it should work for almost any monsters unless the text breaks the standard formatting. As there are literally almost a thousand monsters in D&D, it would be impossible to say "everything will work 100% of the time" but it should work for almost all the monsters at this point. If you find a monster that does not work please let me know.
The goal was to build something smart enough to work 99% of the time and with user feed back and testing, custom build edge cases in the for 1% so that overtime it becomes perfect - at least for official content. User feed back is extremely important, as a community we can make this amazing. The other pages will come with time.
I love D&D and as a GM this extension has become priceless to me and my players love how quickly I can present damage as it means I can spend more time describing than I do rolling and doing math in my head. Hopefully your players will too.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
Very nice! It's seamless enough I had to look in another browser to double check the differences. Good luck with it!
Thank you kindly :D
I hope to make some big improvements over the next few weeks thanks to user feed back!
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
Pretty cool. I prefer rolling real dice for that but if you got this to work with treasure/magic tables good god that would be amazing.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
I will be releasing an update sometime this weekend to the service to support all the monsters on DND beyond (non-homebrew). Support != bug free, but will mean it had some local testing. Will fix things as bug reports come in.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
Pretty damned cool, I prefer rolling real dice, however I do have stealthy type encounters coming up and this may come in handy. Players get very used to hearing and thereby keying off the sound of dice rolling... this will eliminate that on those encounters where I want stealth, such as surprise encounters. I also wish to echo the treasure/magic tables thought, but yeah very nice work and very well done on the integration look with DDB.
Thanks for sharing and for your work!
https://twitch.tv/twisteddieroller
Nice, I started one too for my Discord group. May just help out here instead.
"Any society that would give up a little liberty to gain a little security will deserve neither and lose both" -- allegedly Benjamin Franklin
Tooltips (Help/aid)
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
The back end is all C# and uses a English language parser I wrote to attempt to "read" what it should do and produce meta data as a result. The meta data is then processed at runtime into javascript and cached and returned to the client where it is executed in the javascript virtual machine and rendered on screen.
This also has the nice by product of allowing me to modify things on the server and everyone gets the latest version without them having to get the latest version of the extension.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
With the initial release now running and the critical bugs and user complaints addressed, its time to think about tomorrow (literally).
The next few items I plan to work on this weekend (and next week depending on how things go) are:
1) Allow the user to close the modal window by clicking outside of the results box, it is clear a few people want to have this and helps mobile support.
Difficulty: Easy?
Time: 1-2 hours including smoke testing.
2) Get a basic global floating dice rolling widget implemented as this will require a new service call with net new code which will mean core extension changes.
Difficulty: Medium / Hard
Time: Not sure, but if I had to take a guess it will take me about a day to get a rough version working to then be released for feed back.
3) Build a Firefox extension. As the code is 99% service / server based, it should not be hard. It will just be refactoring the code a bit to detect chrome vs Firefox and of course Firefox specific formatting and extension details. This one is key though for the future success of the platform as its a major browser.
Time: A day, maybe two depending on how Firefox renders my code and styling (each browser is so different sometimes!).
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
I hope it works out well for you!
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
Due to a lot of people asking for it, sometime this week I will be rolling out the following feature, global dice rolling widget! Currently it is working great but it needs a bit of work to get it integrated into the back end system.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
Can you also make this work on the character page?
Let's say I am playing one of my DDB characters and I need to roll an attack or skill check. Would be nice if I could click on the weapon that I am attacking with and the attack and damage was displayed.
This is really slick and I'm going to be using it in my game tonight. Nice work :)
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension
I have published the new extension, Version 1.1.0. It will take about an hour for it to show up on the chrome web store and another ~6 hours or so for it to slowly make its way to everyone who has it installed. You can of course manually update yours in about an hour.
Included in this update is some improvements to the existing features as well as the new global dice rolling widget. It allows you to create any sort of dice expression easily (mouse scroll wheel support on all the number text boxes!!) and then execute it and see the results. In my testing I was able to create custom rolls easier with this than in person, and that is saying something!
You can also click the die image instead of the roll button to roll a single die instantly which I know comes in handy for very single die rolls. I hope you all enjoy this feature :)
My next task for next weekend is to get the current version ported to firefox, edge, opera, etc. and to continue fixing any bugs that people report.
Check out my new DDB Extension!!
https://www.dndbeyond.com/forums/d-d-beyond-general/general-discussion/7320-d-d-beyond-interaction-chrome-extension