Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Roll20 Tips and Tricks (Innovative Solutions to Common Problems)

1531593352

Edited 1603221133
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Drop down Nester While a better option is usually to make an ability/api button chat menu, sometimes you just need to make complicated drop down prompts with nested problem characters. When that happens, the html encoding necessary can quickly become a nightmare. So, I present a google sheet for making nested roll queries (or other problem characters). The sheet can be found viewed here . Just make a copy to add an editable version to your own google drive. Hope you all have fun making those complicated macros :)
1531595204
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Scott C., that is awesome! Indexed.
1531595882
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Thanks Keith, I know you'd asked me to post it like 3 months ago. I just finally found it in my drive again.
1531762473

Edited 1531765231
PC Token Action to Roll Initiative Many times in our games, players are asked to roll for Initiative! Then inadvertently a turn goes by and some player (one in particular) says, "Hey, I never got a turn, I'm not on the initiative tracker". For those that don't know, you have to select your token when clicking Initiative on your character sheet in order to make sure they get added to the tracker. This is after over a year of using Roll20 still an issue. So to make this process easier, I've added the Initiative Macro used by the character sheet as a Token Action Macro to all the PC tokens. Now I can tell them just to select their token and press Initiative in the upper left hand corner. Here is a video showing how to set this up. Below is the macro I used in the video that I used. @{wtype}&{template:simple} {{rname=^{init-u}}} {{mod=@{initiative_bonus}}} {{r1=[[@{initiative_style}+@{initiative_bonus}@{pbd_safe}[INIT] &{tracker}]]}} {{normal=1}} @{charname_output} I was later informed a much easier macro is the following. More importantly, the GM can add this Macro to the game and enable it for all players as a Token Action meaning this doesn't need to be added to each character sheet. %{selected|initiative}
1531762653

Edited 1531767822
How to manipulate Attack Actions Note, this is specific to the Dungeons and Dragons 5th Edition OGL Character Sheet. I put this video together to help players in my game better understand the different ways to manipulate their Attacks to make them easier for the GM and other players to understand. This shows how to use 2nd Damage, Global Attack Modifiers, Manipulating Critical Damage Dice and Attack Damage with No Rolls. Here is the video on YouTube
1531765684
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Just as a note, your how to manipulate attack actions is specific to the 5e OGL sheet. It's still a valuable resource for users, but you should note that on the posts.
1531766114
Kirsty
Pro
Sheet Author
@Jeremy Great video. I just sent the link to every one of my players. Thank you!
1531776654
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Thanks Jeremy, those have both been added to the index.
keithcurtis said: When you've got something concrete (and the editor dust has settled, maybe shoot a PM at OldSchoolChris so they can edit their post. I can clear this up, Blue64 is right. This trick is not working anymore because the behaviour allowing it has been removed due to security concerns.
1531828456

Edited 1531832174
use dynamic lighting in many of my games, but because the doors are usually no thicker than the walls, it's sometimes hard for the players to see where a doorway actually is. - I've previously 'indented' the dynamic lighting wall back a bit, so the players can see a bit of the wall and door, but this in itself can be a slight problem. Especially if you have two rooms next to each other that share the same thin wall. I've produced a couple of simple door icons which are 2x1 squares in size (280px x 140px). which I can drop onto the map. They're at 50% opacity so don't stand out too much, but it's now easy for players to see doorways without ruining the look of the map. An example used in game...
1531841974
GiGs
Pro
Sheet Author
API Scripter
That's clever, and I really like the icons.
Scott C. said: Drop down Nester While a better option is usually to make an ability/api button chat menu, sometimes you just need to make complicated drop down prompts with nested problem characters. When that happens, the html encoding necessary can quickly become a nightmare. So, I present a google sheet for making nested roll queries (or other problem characters). The sheet can be found here:&nbsp; <a href="https://docs.google.com/spreadsheets/d/1fEtE4B5BMY1pUKFgesoV4Q75rRksN-xocShH0aKz2FY/edit#gid=0" rel="nofollow">https://docs.google.com/spreadsheets/d/1fEtE4B5BMY1pUKFgesoV4Q75rRksN-xocShH0aKz2FY/edit#gid=0</a> Hope you all have fun making those complicated macros :) I would like to point out that: you posted the Pathfinder one. your "Copy" Page has more info than the initial Page. that is a very laggy view for me, perhaps you can find a way to improve the performance of the document? The document was not very clear on the contents of everything Perhaps segment it better? Add Labels for the various Segments, I was only capable of comprehending everything because I'm partially familiar with the advanced functions you used, it is by no means "Dummy Proofed", as even I wasn't fully understanding how everything was working. Where do we type our desired Macro? Where do we get the Finished Product? Do we still need the Space if you are already searching for }, ], |, etc? (more importantly, isn't there a better version of said search than explicit?)
1531859459
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
G G said: That's clever, and I really like the icons. Me too. They look like good candidates for a rollable table token.
1531859525
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Blue64 said: I would like to point out that: you posted the Pathfinder one. your "Copy" Page has more info than the initial Page. that is a very laggy view for me, perhaps you can find a way to improve the performance of the document? The document was not very clear on the contents of everything Perhaps segment it better? Add Labels for the various Segments, I was only capable of comprehending everything because I'm partially familiar with the advanced functions you used, it is by no means "Dummy Proofed", as even I wasn't fully understanding how everything was working. Where do we type our desired Macro? Where do we get the Finished Product? Do we still need the Space if you are already searching for }, ], |, etc? (more importantly, isn't there a better version of said search than explicit?) Well, to answer your questions, in general I think you are misunderstanding the purpose of the sheet. The spreadsheet is system agnostic. The macros that are currently in it are for pathfinder (I play PF and SF), but what the sheet does has nothing to do with what character sheet you're using. The copy page just had other versions of some macros I was working on I'm not sure why you've got lag. It works smoothly for me, but that said spreadsheets can get laggy when you start having many formulas. (and sub questions) Well, the sheet could really be just the first section (above the first black bar). Your final query is in the section (highlighted in cyan) labeled "Assembled Query". The query is assembled from each of the option names in that section and option values. I'm not sure what you mean by searching for "}, ], |,". The sheet doesn't do anything with square brackets, and doesn't look for things followed by commas.
godthedj said: use dynamic lighting in many of my games, but because the doors are usually no thicker than the walls, it's sometimes hard for the players to see where a doorway actually is. - I've previously 'indented' the dynamic lighting wall back a bit, so the players can see a bit of the wall and door, but this in itself can be a slight problem. Especially if you have two rooms next to each other that share the same thin wall. I've produced a couple of simple door icons which are 2x1 squares in size (280px x 140px). which I can drop onto the map. They're at 50% opacity so don't stand out too much, but it's now easy for players to see doorways without ruining the look of the map. An example used in game... I love these icons for this purpose. Something about them reminds me of Hero Quest too :D
1531863738

Edited 1531865694
Jeremy said: PC Token Action to Roll Initiative Many times in our games, players are asked to roll for Initiative! Then inadvertently a turn goes by and some player (one in particular) says, "Hey, I never got a turn, I'm not on the initiative tracker". For those that don't know, you have to select your token when clicking Initiative on your character sheet in order to make sure they get added to the tracker. This is after over a year of using Roll20 still an issue. So to make this process easier, I've added the Initiative Macro used by the character sheet as a Token Action Macro to all the PC tokens. Now I can tell them just to select their token and press Initiative in the upper left hand corner. Here is a video showing how to set this up. Below is the macro I used in the video that I used. @{wtype}&amp;{template:simple} {{rname=^{init-u}}} {{mod=@{initiative_bonus}}} {{r1=[[@{initiative_style}+@{initiative_bonus}@{pbd_safe}[INIT] &amp;{tracker}]]}} {{normal=1}} @{charname_output} I was later informed a much easier macro is the following. More importantly, the GM can add this Macro to the game and enable it for all players as a Token Action meaning this doesn't need to be added to each character sheet. %{selected|initiative} You forgot to mention (here) what Sheet that was using, not all Sheets have the Simple Template. I however have one using the Default Template, so no worries. I would also like to point out that the %{Sheet Call} is not always reliable, as the Players need that Sheet to be recognized as Loaded and have Control &amp; Edit Access to use it, although not Journal Access (so they can access the sheet for it from a Token you place for it, but not many other ways), however it is easier and much less overhead to simply apply this to an All Players Token Action Macro, it's one of only 2 such Macros I find myself using lately: Initiative: (All Players, Show as a Token Action = Yes) /ooc &amp;{template:default} {{name=@{selected|token_name}'s Initiative Roll}} {{Initiative=[[(((1d20)+@{selected|initiative_bonus})[Initiative] + ((1d20)+@{selected|initiative_bonus})*0.01)[Tiebreaker] &amp;{tracker}]]}} Mind you, this was using the OGL Sheet, here's one without the OGL Sheet reference (sorry Bards, the call for checking for Bards varies with sheet, add that Jack of all Trades half Proficiency separately please): /ooc &amp;{template:default} {{name=@{selected|token_name}'s Initiative Roll}} {{Initiative=[[(((1d20)+@{selected|dexterity_mod})[Initiative] + ((1d20)+@{dexterity_mod})*0.01)[Tiebreaker] &amp;{tracker}]]}} Alternatively: (potentially using OGL Sheet calls, @{selected|pb} is the Selected Token's Linked Character Sheet's Proficiency Bonus) !?{Bard Lv?|0,0|1,0|2+,floor(@{selected|pb} /2)} /ooc &amp;{template:default} {{name=@{selected|token_name}'s Initiative Roll}} {{Initiative=[[(((1d20) +@{selected|dexterity_mod} +?{Bard Lv?})[Initiative] + ((1d20) +@{selected|dexterity_mod} +?{Bard Lv?})*0.01)[Tiebreaker] &amp;{tracker}]]}} or, for the truly lazy: /ooc &amp;{template:default} {{name=@{selected|token_name}'s Initiative Roll}} {{Initiative=[[((1d20)[Initiative] + ((1d20)*0.01)[Tiebreaker]) &amp;{tracker}]]}} Talk to Myself (ttms): (All Players, Show as a Token Action = No) !?{Talking to|Myself,on|Everyone,off} /talktomyself ?{Talking to}
1531865923
MattBx8
Pro
Marketplace Creator
Sheet Author
godthedj said: An example used in game... Man, those are cool! Now I’ve got to put them in my maps! /Matt
1531865975

Edited 1531944102
Scott C. said: Blue64 said: I would like to point out that: you posted the Pathfinder one. your "Copy" Page has more info than the initial Page. that is a very laggy view for me, perhaps you can find a way to improve the performance of the document? The document was not very clear on the contents of everything Perhaps segment it better? Add Labels for the various Segments, I was only capable of comprehending everything because I'm partially familiar with the advanced functions you used, it is by no means "Dummy Proofed", as even I wasn't fully understanding how everything was working. Where do we type our desired Macro? Where do we get the Finished Product? Do we still need the Space if you are already searching for }, ], |, etc? (more importantly, isn't there a better version of said search than explicit?) Well, to answer your questions, in general I think you are misunderstanding the purpose of the sheet. The spreadsheet is system agnostic. The macros that are currently in it are for pathfinder (I play PF and SF), but what the sheet does has nothing to do with what character sheet you're using. The copy page just had other versions of some macros I was working on I'm not sure why you've got lag. It works smoothly for me, but that said spreadsheets can get laggy when you start having many formulas. (and sub questions) Well, the sheet could really be just the first section (above the first black bar). Your final query is in the section (highlighted in cyan) labeled "Assembled Query". The query is assembled from each of the option names in that section and option values. I'm not sure what you mean by searching for "}, ], |,". The sheet doesn't do anything with square brackets, and doesn't look for things followed by commas. This is so gonna get parsed, but I was specifically referencing lines such as this: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A5,"&amp;","&amp;amp;")," }}","&amp;#125;&amp;#125;")," }","&amp;#125;")," | ","&amp;#124;"),",","&amp;#44;")
1531868634
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Things don't get parsed in the forums anymore thanks to the text editor update. Thatcode looks for " }}", " }", and " | ". Well and "&amp;".
1532012927
The Aaron
Pro
API Scripter
Use Images in the Default Template If you want to dress up your default template, you can stuff an image in the name portion instead of just text: &amp;{template:default}{{name=[x]( YOUR_IMAGE_URL #.png)}}{{test=foo}} Cheers!
The Aaron said: Use Images in the Default Template If you want to dress up your default template, you can stuff an image in the name portion instead of just text: &amp;{template:default}{{name=[x]( YOUR_IMAGE_URL #.png)}}{{test=foo}} Cheers! Just used this script to get rid of some of the godawful purple on the template header. Got this: Quite pleased with it, tbh. Thanks again, Aaron!
I don't know if anyone else will find this useful, but it was very helpful to me, so I offer it here. I had a player with a Staff of Striking in 5e and wanted to automate the attack roll such that it asked the&nbsp;number of charges expended&nbsp;and automatically added them to the damage. It took a little trial and error, and some help from the folks on the forums, but I finally have it working. I still haven't quite gotten it to automatically subtract the proper amount of charges&nbsp;from the counter, but it does handle the damage calculations correctly for both 1H and 2H use. Nightbreeze is, of course, the character's name and you will want to substitute that with your character. @{Nightbreeze|wtype}&amp;{template:atkdmg} {{mod=+5}} {{rname=Staff of Striking}} {{r1=[[@{Nightbreeze|d20}cs&gt;20 + 2[PROF] + 3[MAGIC]]]}} @{Nightbreeze|rtype}cs&gt;20 + 2[PROF] + 3[MAGIC]]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d6+ ?{Charges|0,0|1,1|2,2|3,3}d6 + 3[MOD] + 3[MAGIC]]]}} {{dmg1type=Bludgeoning }} {{damage=1}} {{dmg2flag=1}} {{dmg2=[[1d8+ ?{Charges}d6 + 3[MOD] +3[MAGIC]]]}} {{dmg2type=Bludgeoning }} {{crit1=[[1d6[CRIT]]]}} {{crit2=[[1d8[CRIT]]]}} 0 {{desc=}}&nbsp; &nbsp;{{spelllevel=}} {{innate=}} {{globalattack=@{Nightbreeze|global_attack_mod}}} {{globaldamage=[[0]]}} {{globaldamagecrit=[[0]]}} {{globaldamagetype=Bonus Damage}} ammo= @{Nightbreeze|charname_output}
1532275602
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
In order for it to be a Stupid Trick, it has to have some kind of broader applicability. Is there an underlying technique here you can discuss?
Not sure what you mean. Let me know if I need to delete it and I will.
1532283658
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
No need to delete. It's still helpful to someone. I just won't put it in the index. You might want to consider making it its own post for visibility's sake. The search engine might help people who are looking for this solution find it better. Just make sure you identify it as using the Roll20 5e OGL sheet.
1532328188

Edited 1532328267
GiGs
Pro
Sheet Author
API Scripter
John G. said: Not sure what you mean. Let me know if I need to delete it and I will. The idea is this thread is for suggestions that everyone can use to make their games better, no matter the game they are playing. So, suggestions that only work in one game system dont really fit. Your suggestion for instance only works for DnD players who are using the same character sheet as you are. Thats a very narrow list. That's also why there arent tricks listed using the API, by the way, because that is restricted to people who have a Pro subscription. Tricks should be very general, and useful for everybody.
1532357551
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
To expand, there are a few tricks that use the API, but only if the API is used in a way not explicit in its documentation. And if there is an alternative way to do the trick without the API, include that in the description. The thread is about creative use and innovation. John G., your macro is good and very useful, but as GG says, the appeal needs to be broader.
1532370590

Edited 1532370817
Spaces in Macro Names Tired-of-having-dashes-every-time-you-type-space-in-macro-names? Well, I just learned you can use the ASCII character 032 to solve this. When typing the name of the Macro / Token Action, instead of typing space, you can type ALT+032 to get the ASCII character for a space in its place. Your macros will now look like this both on the character sheet and within the Token Action section of the User Interface.
1532372158
GiGs
Pro
Sheet Author
API Scripter
VERY handy, Jeremy!
1532373413

Edited 1532381015
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Very nice. Have you had any problems in using a macro call using this method? If so, this is probably best reserved for button names. (For those not in the know, you can rename (and colorize) buttons on the macro bar with a right-click). In any case, for those more used to using html replacements, or on a Mac—which uses a different input method for most unusual characters—you can also type: &amp;nbsp instead of ALT+032. Kastion also reports that you can copy a space from elsewhere and paste it into the name.
I'm doing it right now with the traits on an NPC on the OGL Character Sheet, so far no issues. That doesn't mean I'm not having other issues, like the Token Actions not honoring the order when Sort Alphabetically is unchecked. But that's another issue.
1532375409
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
When typing the name in a macro as a reference, you are typing a space normally? Or inputting its ASCII value again?
I'm typing the ACSII value, rather, I'm copy pasting it from the name of the macro.
1532386247

Edited 1532386387
I would like to point out that there was (last I checked) a problem with calling a Space in a %{Sheet Call} (which is why I didn't post that one forever ago), sorry to be a downer on your parade, I wish it worked flawlessly as well. When using a Space in a Macro Name; Be sure to test EVERY way you might use it: Straight Call Macro Bar Button Character Token Button Manual Call in Sheet Nested Macro Call Macro Bar Button Character Token Button Manual Call in Sheet API Calls Straight Call Nested Call once you have thoroughly tested the Macro, make sure you don't call it any differently anywhere else, straight up Copy/Paste it. If it starts bugging out, try the other methods mentioned (specifically the &amp;nbsp looks promising, it stands for "Non-Breaking Space") Edit: This Bug I'm referencing is likely due to doing a Copy/Paste of a normal Space Bar Space, which is not recognized by the Parser as a part of a Name.
1532391466

Edited 1532391514
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Blue64, Unless I misunderstand, you should probably add "Chat call" to the list? i.e. just typing #macro name into chat?
keithcurtis said: Blue64, Unless I misunderstand, you should probably add "Chat call" to the list? i.e. just typing #macro name into chat? Good foresight, but that's already being accomplished in Multiple ways. The Macro Bar button it's self is sending the Command directly into Chat to call it. The Chat GUI calls it the moment it's called, thus making it a Nested Macro. I nearly overlooked Call Via API &amp; threw that in within the last 60 sec of typing
Here's a small Macro that I made for private sense rolls, this is for GURPS, but I believe it will work well for Passive perception checks. it will need some tweaking for which game/sheet you are using and you'll need to change the character names. /w GM &amp;{template:default} {{name=***Perception***}} {{**Coffee**=[[ [[@{East Kingswood "Shadar"|Perception} + (@{East "Coffee" Kings-wood|modifier})]]-[[3d6]]-([[?{Enemy Result|0}]]) ]]}} {{**Gui**=[[ [[@{Gui Tejaron|Perception} + (@{Gui Tejaron|modifier})]]-[[3d6]]-([[?{Enemy Result|0}]]) ]] }} {{**Leopold**=[[ [[@{Leopold Hazelton|Perception} + (@{Leopold Hazelton|modifier})]]-[[3d6]]-([[?{Enemy Result|0}]]) ]] }} {{**Luigi**=[[ [[@{Luigi|Perception} + (@{Luigi|modifier})]]-[[3d6]]-([[?{Enemy Result|0}]]) ]] }} {{**Ramon**=[[ [[@{Ramon Azteca|Perception} + (@{Ramon Azteca|modifier})]]-[[3d6]]-([[?{Enemy Result|0}]]) ]] }}
1532442673
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Thanks Adras, but like I told John G above, this thread is for innovative uses of the Roll20 interface. Your macro is helpful, particularly for GURPS players, but is using the tools in the expected and normal fashion. Look through some of the previous pages, and hopefully you'll get a sense of what gets posted here. No need to delete—someone will find this helpful—but it won't go in the index.
1532444364

Edited 1532444683
Noobsauce said: I'm sure I'm the 1000th person to discover this, but off the chance I'm not, I figured out you can paste raw HTML into roll20 text fields, as long as you take out all breaklines. In addition, I believe you actually have to paste the text instead of typing it? Or at least it only works when I do it that way. Anyways, it allows you to add some styling elements that you normally wouldn't be able to. For example, my Wizard's bio from my Strahd campaign: Kane's Public Items # Health Potion 1 Fine Garments 3 Death House Spellbook 1 Necromantic Tome 1 Cantrips and Rituals Prestidigitation Minor Illusion Fire Bolt Alarm Identify Prepared Spells Mage Armor Burning Hands Feather Fall Shield Grease Hold Person Dragon Breath Ex 2: ----------------------- Party Inventory ----------------------- Silver Ring Ivory Figure of Succubi Silver Key Dagger Golden Symbol of Serene Doses of Oil x12 Gold Ingot Splint Armor Wand of Magic Missile How to reproduce: &nbsp;Write some HTML. You can add CSS styling through the style="bla: bla;", but you can't do dedicated &lt;style&gt;&lt;/style&gt; sections. It also seems CSS references to outside urls don't work (which is a good thing, because there are nefarious deeds you can commit with that). Regardless, take HTML, remove all \r\n, paste into Roll20 text box. Instead of your text, your interpreted HTML appears. You can try it out by pasting the HTML from this link into a Roll20 box:&nbsp; <a href="https://jsfiddle.net/NateR124/hyo8s646/7/" rel="nofollow">https://jsfiddle.net/NateR124/hyo8s646/7/</a> Again, if I'm late to the party with this, my bad.&nbsp; This isn't working anymore. Did this break?
1532445529
GiGs
Pro
Sheet Author
API Scripter
Very likely. The recent text/chat update radically changed the way html was interpreted and printed, and that tip predates the update.
keithcurtis said: Thanks Adras, but like I told John G above, this thread is for innovative uses of the Roll20 interface. Your macro is helpful, particularly for GURPS players, but is using the tools in the expected and normal fashion. Look through some of the previous pages, and hopefully you'll get a sense of what gets posted here. No need to delete—someone will find this helpful—but it won't go in the index. ahh ok thanks Keith, the underlying technique on it was to be able to privately roll all of your players (what ever it is you need) and get the results whispered to the GM with no need of having the players search their character sheet for whatever you're asking for. I just wasn't sure how to make mine look "generic" so that it can be used by any GM in any system.
1532457018
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
There really isn't a way. Most sheets have such different attributes and mechanics that anything beyond the most basic need to be completely custom written.
1532460949

Edited 1532609557
Useful features such as the multi-target System can make it more "Generic". For example @{target|1|token_name} Stuff like this can be called again later in the same "Line" (there's ways to make a Macro spread across multiple Line Returns, but it's still considered one line) with the same Prefix, such as (@{target|1|dexterity_mod}) (floor(@{target|1|pb} /2)) I would like to point out that you should always (parentheses) your potential negatives such as the Dex Mod, as you can't always rely on the parser to know how to read "+-1" but can count on it knowing how to read "+(-1)". Even if you don't need it, it's useful to have it done properly in case you Copy/Paste it to something that does need it. Also remember that in 5e the Standard Ruling is that unless otherwise specified, you Round Down. This is commonly reflected in the Math they used for their Scaling Abilities: Note: the @{calls} below this point are not targeted at anything, so, unless called from within a Character Sheet, you'll need to Target a Token linked to a Character Sheet either with the Prefix of @{target| or @{selected| or explicitly Target the Character by the Sheet Name (including any trailing "White Space") @{Blue64|character_name} ≠ @{Blue64 |character_name} So make sure you have the right Name, &amp; ALL of said name Using Charisma Spellcasting Ability Score (Sorcerer/Warlock/Bard): Fire Bolt Cantrip (scales with Player Level): to Hit: [[1d20 +@{pb} +([[floor((@{charisma} -10) /2)]])]], Damage: [[[[(floor((@{level} +1) /6)) +1]]d10]] Eldritch Blast Cantrip (scales with Player Level): Fires [[(floor((@{level} +1) /6)) +1]] Beams, to Hit (read Tooltip): [[[[(floor((@{level} +1) /6)) +1]]d20]] +[[@{pb} +([[floor((@{charisma} -10) /2)]])]], Damage: [[[[(floor((@{level} +1) /6)) +1]]d10]] Force Damage per Beam That covers both Cantrip Dice Progression, such as Fire Bolt, as well as a fully Automathing Cantrip Beam Progression, such as Eldritch Blast. You might wonder what solution I'd have found for Toll the Dead Cantrip: Toll the Dead Cantrip (scales with Player Level): [[[[(floor((@{level} +1) /6)) +1]]d8]] + [[([[(floor((@{level} +1) /6)) +1]]d5)-[[(floor((@{level} +1) /6)) +1]]]] These can be entered into any 5e Character Sheet I'm aware of in the Ability section as is, &amp; should function properly as far as I am aware. (Only tested it with OGL &amp; Community, note: Community Sheet doesn't have a _mod suffix available unless you personally add it to the list with the correct Math) (if you try it out and it doesn't work, send me a message with the Sheet Name &amp; the permalink for this message so I can update my message) But this is further applied to even Class Abilities, such as the Monk's Unarmed Strike Damage: Monk Unarmed Strike (scales with CLASS Level): 1d[[((floor((@{level} +1) /6)) +2) *2]] Below is a list of the 4 Options for Automathing the Monk's Unarmed Strike Damage when a Character goes Multiclass in the OGL Sheet, which can support 4 Classes Simultaneously. These can be placed in the Damage &amp; Critical sections, and parsed correctly once sent, although the OGL Sheet refuses to recognize the floor() command for the Preview Text for the Damage, also by adding a Square Brackets around the 1d# section you can create your own Templates with this information using the inline Rolling: Monk Unarmed Strike (OGL Sheet: Main Monk): 1d[[((floor((@{base_level} +1) /6)) +2) *2]] Monk Unarmed Strike (OGL Sheet: 2nd Class Monk): 1d[[((floor((@{multiclass1_lv} +1) /6)) +2) *2]] Monk Unarmed Strike (OGL Sheet: 3rd Class Monk): 1d[[((floor((@{multiclass2_lv} +1) /6)) +2) *2]] Monk Unarmed Strike (OGL Sheet: 4th Class Monk): 1d[[((floor((@{multiclass3_lv} +1) /6)) +2) *2]]
1532465161

Edited 1532465202
@keithcurtis perhaps instead of posting macros here like those of us who didn't pay attention in class, we could have a topic like this one specifically on useful macros?
1532466428

Edited 1532466454
GiGs
Pro
Sheet Author
API Scripter
Adras said: @keithcurtis perhaps instead of posting macros here like those of us who didn't pay attention in class, we could have a topic like this one specifically on useful macros? Anyone can create such a topic. If someone does, maybe the mods can move the macro posts over into it?
1532470888

Edited 1532470913
Gen Kitty
Forum Champion
The mods can't move anything (between threads).&nbsp; We can copy and paste like the rest of you mortals, but the thread creator can do that too ;)
1532472784
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'm having an entmoot with some folks about the best way to handle clever macros.
1532507235
Ziechael
Forum Champion
Sheet Author
API Scripter
Traditionally clever, and likely system specific, macros have been best placed in the wiki for those systems ... there is always the issue of visibility and ongoing curation there however but as a community contributed resource the popular systems should be ok. Ultimately though it would be easier for users to find things of value to them there then in a megathread full of various systems mechanics ;)
1532546145
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Yes, the wiki is probably the best format and place, but lacks pages for many, many sheets. Also, many users feel uncomfortable editing a wiki. (And some have no experience in doing so.)
1532574878

Edited 1532575030
keithcurtis said: Yes, the wiki is probably the best format and place, but lacks pages for many, many sheets. Also, many users feel uncomfortable editing a wiki. (And some have no experience in doing so.) Myself included. I was trying to suggest ways to make the Macros more Generic in my recent long winded Macro Post (believe it or not, that was all typed on Mobile, no Copypasta, &amp; I held back), as there is a format used systematically in Roll20, which all of the various systems build themselves on. Another problem with the Wiki is that it's quite spread out. Until just last week I didn't even know there was a User Suggested Page! I randomly stumbled across it during a Search for how to do the Comparisons Macros. here's a Clever Roll20 Trick I'm looking into currently actually, for anyone skilled in such things: I wish to run inline math on a Call to figure out Movement Speed, without using API (because I'm a Free User) Limitations I foresee: Varies Sheet to Sheet, use these: @{speed} = Base Speed @{race} = the Character's Race I need a Check for Tabaxi, their Feline Agility offers 2x Speed for 1 Turn @{haste} = I need a way to "Check" for Haste, one that's easily accessible, preferably a check for a Status Icon if there is a way (No API), preferably without User Input (manageable with if needed). This offers another Speed x2 Boost @{longstrider} = amongst other effects which increase Speed by a set amount, this is likely to be accompanied by a ?{query} Don't even bother with the Prefixes, that can be added later. Specifically the reason I'm mentioning this here is that bit about checking for Tabaxi using the Comparison function (which works across all sheets, &amp; is generally difficult to comprehend for most users), it's a Clever Use if someone knows how to get it to work. Sadly the Comparison function has yet to "click" for me yet. (-.-') I'm thinking the Result will look something along the lines of: [[ ( (@{speed} +{ { {@{longstrider}, Longstrider} Longstrider} 1}) *{ { {@{race}, Tabaxi} Tabaxi} 1}) *{ { {@{haste}, Haste} Haste} 1} ]] without some way to AutoMath such things, I'm forced to revert to spamming the User with Queries ! ?{Longstrider|Off,0|On,10} ! ?{Other "+X Speed"|0} ! ?{Haste|Off,1|On,2} ! ?{Feline Agility|Off,1|On,2} [[ ( ( (@{Speed} +?{Longstrider}) +?{Other "+X Speed"}) *?{Haste}) *?{Feline Agility} ]] Or, simply assigning individual Macros for each combination (which is MUCH more work) and implementing them as a Chat Macro List Edit: Encountered 2 Errors in the attempt to post this: 2d1bca450cf64fc3ab8efd51bc1fca33 0460deb89834431ea14564956a2d5556