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 .
Advertisement Create a free account Compendium in Game, Join Today

Stupid Roll20 Tricks (and some clever ones)

1588882187
/w gm &{template:simple} {{rname=Target Image}} {{r1=[[1d20cs>?{Number of Images?|3,6|2,8|1,11}cf<?{Number of Images?|3,6|2,8|1,11}]]}} {{normal=1}}  Here is the one I use.
1588890622

Edited 1588890786
I've been working on a system to help streamline my use of the nothic's weird insight action. Here's what I came up with. For prep: Ask your players to prepare a couple of secrets that their characters are ashamed of. (Obviously, don't tell them why. Just say you'd like them to get to know their characters better or something.) Create a handout (only available to you, the GM) for each character's secrets and copy down the url for each of the handouts. Create a macro called "WhisperToSomeone" with the following code: /w gm ?{Whisper to whom?|Character1|Character2|Character3|Character4}. Open the nothic's character sheet and create a ranged attack called weird insight, adding the nothic's insight modifier (+4) to hit. Create an ability macro in the nothic's character sheet called "weird-insight" and check the "show as token action" checkbox. Insert the following code (of course, replacing my characters' names with those in your own group and replacing the handout urls with the ones you prepped). /w gm @{Nothic|wtype}&amp;{template:npcatk} {{attack=1}} @{Nothic|npc_name_flag} {{rname=[Weird Insight](~-M5YomQxAD6rFiMAs0RH|repeating_npcaction_-M5hzuWa3cNk7zX3amUM_npc_dmg)}} {{rnamec=[Weird Insight](~-M5YomQxAD6rFiMAs0RH|repeating_npcaction_-M5hzuWa3cNk7zX3amUM_npc_crit)}} {{type=[Attack](~-M5YomQxAD6rFiMAs0RH|repeating_npcaction_-M5hzuWa3cNk7zX3amUM_npc_dmg)}} {{typec=[Attack](~-M5YomQxAD6rFiMAs0RH|repeating_npcaction_-M5hzuWa3cNk7zX3amUM_npc_crit)}} {{r1=[[@{Nothic|d20}+(4+0)]]}} @{Nothic|rtype}+(4+0)]]}} {{description=The nothic targets one creature it can see within 30 feet of it. The target must contest its Charisma (Deception) check against the nothic’s Wisdom (Insight) check. If the nothic wins, it magically learns one fact or secret about the target. The target automatically wins if it is immune to being charmed.}} @{Nothic|charname_output} /w ?{Who's secrets is the Nothic weirdly probing for?|Donmead|Sylivar|Wastrel|Yamato} You hear a whispered babble in your mind. Make a Charisma (Deception) skill check. /w gm If the weird insight succeeds, click the appropriate character to learn one of their secrets: **[Donmead](<a href="http://journal.roll20.net/handout/-M6kZY2dUs25ScIWtT3D)**" rel="nofollow">http://journal.roll20.net/handout/-M6kZY2dUs25ScIWtT3D)**</a> **[Sylivar](<a href="http://journal.roll20.net/handout/-M6ksh0dQaPKYSE_IiT4)**" rel="nofollow">http://journal.roll20.net/handout/-M6ksh0dQaPKYSE_IiT4)**</a> **[Wastrel](<a href="http://journal.roll20.net/handout/-M6ksgVRjbSx5baPKdFs)**" rel="nofollow">http://journal.roll20.net/handout/-M6ksgVRjbSx5baPKdFs)**</a> **[Yamato](<a href="http://journal.roll20.net/handout/-M6ksfxse-oDM1YgosWh)**" rel="nofollow">http://journal.roll20.net/handout/-M6ksfxse-oDM1YgosWh)**</a> /w gm [Whisper your newfound secret to other characters, like some weirdly insightful arcane gossip](!#WhisperToSomeone) Now, when you click the weird-insight macro, the following should happen: A dialogue will pop up asking, "Who's secrets is the Nothic weirdly probing for?" Once you choose who to weirdly probe, the chat should spit out something like this: &nbsp; The chat will show the weird insight description, as well as the nothic's insight check result (11, in the above example), and whoever you weirdly probed will get the "You hear a whispered babble..." After they roll deception, you can contest it against the nothic's insight. As the chat above shows, if the nothic succeeds, click on the appropriate character name. This will bring up their secrets handout. Take a look, decide how you want to screw with your players' heads, and click the button that says, "Whisper your newfound secret..." This will run the #WhisperToSomeone macro, which pulls up a dialogue asking who you want to whisper to. Click that character's name and say something about the secret to stir up trouble in the group or freak someone out or make everyone very confused. Basically, like my papa always told me, just be creepy. I would very much welcome any suggestions for how to simplify this process. Took me a while to figure it out, and I'm sure it's a bit flabby. I'm also sure it could be improved with API, but I'm a lowly Plus plebeian restricted to using only macros for these things.
1588892098

Edited 1588936705
Kilter said: /w gm &amp;{template:simple} {{rname=Target Image}} {{r1=[[1d20cs&gt;?{Number of Images?|3,6|2,8|1,11}cf&lt;?{Number of Images?|3,6|2,8|1,11}]]}} {{normal=1}}&nbsp; Here is the one I use. Ahh, that is a good way to tweak it to be one macro. I'll have to update mine with that. I do like the attack output style template though. Edited my original post to condense into a single macro. Thanks for the feedback Kilter.
1589055930
Hey, I'm fairly new to roll20 and I'm not sure if this particular trick has been done before--but I think some of you might find it helpful. Also, this macro was designed for Pathfinder 2e but the trick should be useful for just about any system. Anyways, so I wanted to put together a macro that calls a specific repeating attack from a players character sheet using the roll template, but also needed to modify it slightly so just using the %{selected|repeating_melee-strikes_$0_DAMAGE} wasn't going to cut it. But I was prepared to put the work in. Anyways, the problem with building a modified roll macro is that rather than just switching out "%{selected|repeating_melee-strikes_$0_DAMAGE}" for "%{selected|repeating_melee-strikes_$1_DAMAGE}" once, I would have to go through a whole list of: @{selected|repeating_melee-strikes_$0_Weapon} @{selected|repeating_melee-strikes_$0_Weapon_strike} @{selected|repeating_melee-strikes_$0_Weapon_traits} @{selected|repeating_melee-strikes_$0_damage_dice} @{selected|repeating_melee-strikes_$0_damage_dice_size} ect. just to change all of the "$0"s for "$1", and then I'd have to do that again and again for each row ID Now I didn't want to have to do that for every row ID, especially since in doing so over and over again it would be easy to accidentily miss one and royally screw up the macro. so I figured out how to make a template that I could copy + paste into the chat that would change them all at once. Here's an abbreviated example without the roll template: Let's say this is the roll you want the macro to make: [[(@{selected|repeating_melee-strikes_$0_damage_dice}@{selected|repeating_melee-strikes_$0_damage_dice_size})+@{selected|query_roll_damage_bonus}+@{selected|repeating_melee-strikes_$0_damage_ability}+@{selected|repeating_melee-strikes_$0_damage_weapon_specialization}+@{selected|repeating_melee-strikes_$0_damage_temporary}+@{selected|repeating_melee-strikes_$0_damage_other}]] the first thing you do is encode all of the @, #, [[]], ?, ect. for their HTML Entities (so @ for example becomes &amp;#91;) Then, once you've done that, you replace every instance of the row id you need to change from "$0" to "$?{repeating}" because the rest of your macro is encoded, all of those calls will return as text, but the $?{repeating} query you added will resolve, and you just type whatever ID value you need into the query and it will change all of them at once for you. from there you just copy your new macro from the chat! The final template should look something like this: &amp;#91;&amp;#91;(&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_dice}&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_dice_size})+&amp;#64;{selected|query_roll_damage_bonus}+&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_ability}+&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_weapon_specialization}+&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_temporary}+&amp;#64;{selected|repeating_melee-strikes_$?{repeating}_damage_other}&amp;#93;&amp;#93; Once you have that template saved, you can literally build these new macros on the fly. So if you've got macros made for 4 row IDs, and one of your players gets a 5th weapon in the middle of a session, you could make a new macro for the 5th row id in a grand total of about 30 seconds.
1590162925

Edited 1590164174
Auto calculating level specific buffs. (Basic IF/THEN statement, no API) I'm very new to Roll20 so I appologise if someone has posted a similar solution before, I couldn't find anything when I was looking. So I wanted a way for the Cleric's Blessed Healer buff to apply when they reach level 6 without having to edit the spells again. I came up with this macro that functions as a basic IF/THEN statement that outputs 1 for true and 0 for false. Replace "#" for the desired level, they must be the same value. {[[{#, @{level}}dh1 -# +1]], 0}dl1 * (Value to display if true) This example checks if the character is of level 6 or greater, then returns the amount they self healed for using Blessed Healer. {[[{6, @{level}}dh1 -6 +1]], 0}dl1 * ([[?{Cast at what level?}]][spell level] + 2[flat]) Let's assume they are level 6 and are casting a healing spell at 3rd level. It would resolve as such. {[[{6, 6}dh1 -6 +1]], 0}dl1 * (3[spell level] + 2[flat]) {[[6 -6 +1]], 0}dl1 * (3 + 2) {1, 0}dl1 * (3 + 2) 1 * (3 + 2) 5 This time they are level 5 and are casting a healing spell at 3rd level. It would now resolve as such. {[[{6, 5}dh1 -6 +1]], 0}dl1 * (3[spell level] + 2[flat]) {[[5 -6 +1]], 0}dl1 * (3 + 2) {0, 0}dl1 * (3 + 2) 0 * (3 + 2) 0 The bit you want to know. How do I add it to my character? This macro replaces the default "Cast at what level?" query and also applies the Desciple of Life buff to the spell. Replace the "Healing" value with this macro, and change the "Higher lvl cast dmg" to 0 d 0. Remember to replace the "d#" in the macro with the spells dice. Example: Healing Word would be "d4". [[?{Cast at what level?|Level 1,1|Level 2,2|Level 3,3|Level 4,4|Level 5,5|Level 6,6|Level 7,7|Level 8,8|Level 9,9}]]d# + [[?{Cast at what level?}]][spell level] + 2[flat] If you have a spell like Mass Healing Word that is cast from level 3 minimum you use the same macro but delete the queries entries not required. [[?{Cast at what level?|Level 3,3|Level 4,4|Level 5,5|Level 6,6|Level 7,7|Level 8,8|Level 9,9}]]d4 + [[?{Cast at what level?}]][spell level] + 2[flat] Paste this macro in the "Damage2" box and give it the damge type of "Self Healing". Remember to replace both "#" in the macro with the desired level. Make sure they are the same number. {[[{#, @{level}}dh1 -# +1]], 0}dl1 * ([[?{Cast at what level?}]][spell level] + 2[flat]) Your spell entry should look like this. Now when you cast a healing spell to result will look like this if you are atleast level 6. And like this if you are below level 6. It might not be all that necessary, but this allows me to add two macros to the Cleric's healing spells when they unlock and never have to think about it again. I'll try to answer any question and clarify anything that might not make scence. Any feedback is also welcomed.
Using Rollable Tables and Custom Handouts for Character Cards I wanted to share a tip that I've been using for a while to create some pretty cool experiences for my players. You can create character cards for the game system of your choice using Rollable Tables. Here you can see my character cards I've made for my Fall of Delta Green campaign (Using the Delta Green RPG Rules) (Assets created by me for my own game!): You too can do this for your games! All you need to do is create a template in your image editor of choice. Roll20 squares of 70px x 70px which makes it real easy to create items that fit the grid. Here you can see the same technique used for my Demon the Descent campaign. With assets created by Chibbin Grove. I recommend you buy them because they're awesome! All of this is achieved through very basic image manipulation skills and the use of Rollable Tables. It is really neat!
1590344915
keithcurtis said: Hi Echinorlax, It does not appear to work anymore. I honestly don't remember testing it when it was posted, but it looks like I did. So perhaps something has changed. What exactly are you trying to accomplish? There may be other ways. For instance, custom formatting from a Google Doc retains formatting. It's likely that if you have another way of rendering the HTML, you can cut and paste from there. I assume that the built-in formatting is not sufficient for some reason? Specifically it was removed in the Chat API update forever ago, where they also removed the parsing of HTML in the Chat, so I can type &amp;#13; without a line return appearing. ( Link: ASCII HTML Reference ) that's when they removed formatting from the Map Names field, breaking the Line Return in Map Names trick if you'll remember.
1590345330

Edited 1590345871
Drew, the biggest problem comes from the fact that you need API access for them to update their Sheet since you (otherwise) need to change their view (yourself) to their sheet in order to update it. It does look really nice, so it is a good trick, but it kinda adds the the GM's / DM's legwork. Also, I would like to point out that all games, even sheet-less, have access to &amp;{template:default} , so if you want a multi-system macro, I would suggest starting by making that one fit your needs and desires. Similarly, it would also help concatenate the Nothic's strange ability, as you can fit the entire ability into 1-2 Tables, complete with the button in one of the Tables. it;s really easy if you use Kieth's tricks for the Chat Menu API Buttons (with or without API access) that he has a link to in the first post of this Thread. That was a very good trick for the Repeating List, but might i suggest suppressing the Errors and slipping in a Preview Macro, so you can actually just click on the Attack you want via the Chat Menu? it would allow you to automate the Parser Buffer that way.
Blue64 said: Drew, the biggest problem comes from the fact that you need API access for them to update their Sheet since you (otherwise) need to change their view (yourself) to their sheet in order to update it. It does look really nice, so it is a good trick, but it kinda adds the the GM's / DM's legwork. Also, I would like to point out that all games, even sheet-less, have access to &amp;{template:default} , so if you want a multi-system macro, I would suggest starting by making that one fit your needs and desires. Similarly, it would also help concatenate the Nothic's strange ability, as you can fit the entire ability into 1-2 Tables, complete with the button in one of the Tables. it;s really easy if you use Kieth's tricks for the Chat Menu API Buttons (with or without API access) that he has a link to in the first post of this Thread. That was a very good trick for the Repeating List, but might i suggest suppressing the Errors and slipping in a Preview Macro, so you can actually just click on the Attack you want via the Chat Menu? it would allow you to automate the Parser Buffer that way. In my experience you can assign the rollable tokens to the players and they can right click to change side themselves. So there isn't too much book keeping! I admit it is a bit tedious to set up but only minorly so.&nbsp;
1590484901
Ziechael
Forum Champion
Sheet Author
API Scripter
This is great and available to all users... for those with API access a couple of tokenMod macros to speed up token side manipulation would round this out beautifully :) Great work! Drew said: Using Rollable Tables and Custom Handouts for Character Cards
1590520893

Edited 1590520994
Drew said: Blue64 said: ...( Post ) In my experience you can assign the rollable tokens to the players and they can right click to change side themselves. So there isn't too much book keeping! I admit it is a bit tedious to set up but only minorly so.&nbsp; You can do that, yes. But in order for Players to change the page to the location where said rollable tokens are makes use of the Map Change Controls, which is only useable by Players under 2 conditions I'm aware of: 1. API Access. 2. They're a GM/DM too. Outside of that, you'd need a GM/DM to change the Map for at least that Player, if not for everyone, to the Character Sheet Page. It's a key part of the Trick, as they'll probably want to look at their sheet often. P. S. Yes, This is my camera account.
Hi! I like this tracking. I´ve tried it by&nbsp; using Cards but don't really like it. How do you switch between numbers? In your Link to Imgur it seem it is changed just by clicking on your current Spell Level and number. I don't know how to do the same. Thanks! Barakka said: Yet another Spell Tracker (with no extra tokens) This one is a bit of a hacky solution since you can't write values to a field without API access. What I really wanted was a way to reset the number of spell slots available to my PCs after a Long Rest. &nbsp;It involves using Default Tokens and Custom Token Markers. As a note, this will not update the value for the consumed spell slots in the sheet, so it's an alternative tracking method to use instead of that one; it involves less admin work though (and it's more easily readable by the player and the master), so I prefer it. Add some Custom Token Markers to your library&nbsp; <a href="https://app.roll20.net/marker-library/" rel="nofollow">https://app.roll20.net/marker-library/</a> &nbsp;to represent spell levels. I have created some quick and dirty ones for the first few levels&nbsp; <a href="https://imgur.com/a/Blkd4a0" rel="nofollow">https://imgur.com/a/Blkd4a0</a> Add the Custom Token Marker Set to your campaign. Create/Load a default PC token tied to a Character. Add a Marker for each level of Spells that character has access to. Set the current MAXIMUM slots for each level. It will look something like this: Once you are done, save the Token as the Default one for the PC. Every time the PC casts a spell, update the counter. After a Long Rest, simply click and drag a fresh token from the Journal to the Board and delete the old one. &nbsp; The Markers and the numbers associated with them are stored in the Default Token, but all the values tied to the sheet (HP, class resources, etc) are saved between Tokens. Once the PC levels up and gains more spell levels, update the token and save it as the new default. This is what the process looks like in practice:&nbsp; <a href="https://imgur.com/a/bIgW0kC" rel="nofollow">https://imgur.com/a/bIgW0kC</a>
1590675902
Andreas J. said: Character &amp; Token ID lookup macro Normal roll: &amp;{template:default} {{name=**Character &amp; Token ID**}} {{Name=@{selected|character_name} }} {{**Character ID**= @{selected|character_id} }} {{**Token ID**= @{selected|token_id} }} Hello Andreas, is it possible to incorporate an input box of some sort into the above script?&nbsp; I working on a wargames campaign manager (players move tokens representing units around a hex map - when they meet, we play a wargame on a table to resolve the battle).&nbsp; I have "characters" set up in the journal that are infantry companies, tank platoons, etc.&nbsp; The idea would be a character token would be dragged onto the map and a token macro run to enter a name for the unit. Is such a thing possible?&nbsp; I guess I'd have to somehow generate an input box - I don't know if the scripting here allows for one - and the resulting text value would then be assigned to the selected token.
1590676331
GiGs
Pro
Sheet Author
API Scripter
Tim, you need to check out the script TokenMod, and have your mind blown at the possibilities.
1590680460

Edited 1590680588
Scott C.
Forum Champion
Sheet Author
API Scripter
Reusing Rolls Disclaimer: This trick takes advantage of emergent behavior that may not be intended and may be patched I can't take credit for this trick.&nbsp; Syneran discovered the capability . But, long story short, it is actually possible to reuse rolls with some small caveats. Here's a summary of the info discovered in the linked forum thread: The chat accepts the inline roll indexing used in the API (and apparently the roll parser itself), so you can do: [[ [[1d20]] + [[1d6]] + [[6]] ]] = $[[0]] + $[[1]] + $[[2]] And get an output that would read something like this: The limited part is you can't use those indexed rolls inside other rolls. So for instance, you can't reverse the above output like this: [[1d20]] + [[1d6]] + [[6]] = [[$[[0]] + $[[1]] + $[[2]] ]] Using the indexes appears to break any containing inline rolls, like so: Additionally, the indexing is line specific, so this also doesn't work: [[1d20]] + [[1d6]] + [[6]] [[$[[0]] + $[[1]] + $[[2]] ]] These are pretty big limitations if you're just typing rolls into chat, but we can circumvent it through good use of roll templates. For instance, we could hid the actual roll in between roll template fields, and then present them in whatever order we wanted: &amp;{template:default} [[ [[1d20]] + [[1d6]] + [[6]] ]] {{name=My Attack}} {{$[[0]] + $[[1]] + $[[2]]==$[[3]]}} which would give us this output: For those with API access, the API sees this message with the proper indexes showing, so any API that handles rolls should react to these indexed rolls just like they were regular rolls. What's it allow us to do though? There's several new things this allows the community to do that were previously locked behind access to the API. Character Sheets When making custom character sheets (or sheets for the repo), one of the big hurdles has been accomodating systems that require you to know multiple things about a complex roll. Something like say the success of a roll in relation to a target number, as well as the value of the roll itself. Or if a given number on a die counts as 0 (or some other number). General Macro Creation Now we can create macros that do our math for us. Total the damage from a complicated attack (or one that hit several times), display the parts of a roll so that what went into that roll is visible without needing to hover over it. And I'm sure folks will come up with quite a few other ideas that I haven't even thought of.
1590697724
I like that... I have players that like to Show Their Math during a game. On how they got to the final value. Or just want to see the Math , on how it was arrived at. Some dont like to do the Hover ... There could be some really neat opportunities with this, once others have figured out the TRICK ... Or its play on variables ....
1590780063
I see a lot of potential in using that for mixed damage types so it could say "[20] points of damage; [5] piercing, [6] fire, and [9] sneak attack."
1590947474

Edited 1590947822
GiGs
Pro
Sheet Author
API Scripter
Scott C. &nbsp;said: Reusing Rolls Disclaimer: This trick takes advantage of emergent behavior that may not be intended and may be patched I just discovered another feature of rolltemplates that i havent seen documented. But first: one feature lots of people have asked for over the years, is to be able to roll a set of ability scores, and show the total at the same time. With this new trick, you can do that. For example: &amp;{template:default} {{name=Stats}} {{total=[[ [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] +[[4d6kh3]] ]] }} {{STR=$[[0]]}} {{DEX=$[[1]]}} {{CON=$[[2]]}} {{INT=$[[3]]}} {{WIS=$[[4]]}} {{CHA=$[[5]]}} This will show you something like: The problem here is it shows the Total first. I havent found a way to use the $[[ ]] syntax to access a roll that others are nested inside, like Total here? Has anyone else figured out how to do that? My trick is: there is way to reorder the rows within the template, if you dont mind using numbers as the row titles: &amp;{template:default} {{name=Stats}} {{total=[[ [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] +[[4d6kh3]] ]] }} {{1=$[[0]]}} {{2=$[[1]]}} {{3=$[[2]]}} {{4=$[[3]]}} {{5=$[[4]]}} {{6=$[[5]]}} Which looks like this: It turns out that if your default template row name (the part before the =) is just a number, it gets sorted before any text entries, and in numerical ascending order.&nbsp; If you want text labels, you put them after the =, like so &amp;{template:default} {{name=Stats}} {{total=[[ [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] + [[4d6kh3]] +[[4d6kh3]] ]] }} {{1=STR: $[[0]]}} {{2=DEX: $[[1]]}} {{3=CON: $[[2]]}} {{4=INT: $[[3]]}} {{5=WIS: $[[4]]}} {{6=CHA: $[[5]]}} So there you go, another implementation of the new 'feature' (or is it a bug), and another undocumentated feature (or is it a bug?) of rolltemplates.&nbsp; Note: &nbsp;negative numbers are sorted just like text, they dont change position. This trick works only for numbers 0 and higher. They dont have to be consecutive. It also doesnt work for inline rolls.
1590966383
Scott C.
Forum Champion
Sheet Author
API Scripter
The total roll in your example would be $[[6]]
1590968553
GiGs
Pro
Sheet Author
API Scripter
Weird, I tried that - it seemed like the obvious thing to try. I guess I must have messed up the syntax somehow.
1590970867
Scott C.
Forum Champion
Sheet Author
API Scripter
Least, if I counted rolls properly it should. Rolls are indexed from deepest to shallowest and left to right. Also, sorry for the abrupt answer previously, was on my phone.
1590973727
GiGs
Pro
Sheet Author
API Scripter
No worries about the abruptness. I tried it after your post and it works, so I'm not sure how I was typing it before.
1591063511

Edited 1591112144
GiGs
Pro
Sheet Author
API Scripter
Using the Turn Tracker For Storing Last Roll This trick is for games where you need to store a roll or other variable, and use it on a later roll. For example, systems where the dice explode on doubles, which you cant do with the normal exploding dice system. It only works if you dont use the Turn tracker for initiative, and requires a bit of setup. First, for every character you want to use this on, you need to create two custom attributes. Once created, you never need to touch them, but they must exist. So go to the Attributes section on the Attributes &amp; Abilities tab, and add these two attributes:* Name Value trackerprefix @{tracker| lastroll @{trackerprefix}@{selected|token_name}} Now, to demonstrate this trick, I'll use the example of a Tunnels &amp; Trolls roll. In that system you roll 2d6 + a bonus. if you roll doubles, you roll again and add them to the running total. You cant do this roll by default. You cant do it with this trick either, but you can automate one step. The best you can normally do is have a macro like this posted by Oosh: &amp;{template:default} [[ [[1d6]] + [[1d6]] + ?{Save Bonus|0}[Bonus] ]] {{name=Saving Throw}} {{Roll=$[[0]] + $[[1]] +** ?{Save Bonus}** = $[[2]] }}{{If less than 5=**FAIL!**}}{{If doubles=[Reroll](!&amp;#13;#SavingThrow)}} The macro above is saved as a Macro. For those familiar with this thread, it will be a trivial to change it to an Ability on a Macros character sheet, but I'm using a Macro for simplicity.&nbsp; The above macro will print something like this: Now if you roll a double, you click the reroll button, and enter whatever the previous total was - in this case 15. The trick we are doing here means you dont have to enter a number. You create the following two macros: SavingThrow &amp;{template:default} [[ [[1d6]] + [[1d6]] + ?{Save Bonus|0}[Bonus] &amp;{tracker}&nbsp; ]] {{name=Saving Throw}} {{Roll=$[[0]] + $[[1]] +** ?{Save Bonus}** = $[[2]] }}{{If less than 5=**FAIL!**}}{{If doubles=[Reroll](!&amp;#13;#SavingThrow-Reroll)}} SavingThrow-Reroll &amp;{template:default} [[ [[1d6]] + [[1d6]] + @{selected|lastroll} [Last Roll] &amp;{tracker}&nbsp; ]] {{name=Saving Throw - Reroll}} {{Roll=**@{selected|lastroll}** + $[[0]] + $[[1]] = $[[2]] }}{{If less than 5=**FAIL!**}}{{If doubles=[Reroll](!&amp;#13;#SavingThrow-Reroll)}} Now when you launch SavingThrow, it will run and print a button as before. But it also stores the result of the roll in the turn tracker. When you roll a double, and press that reroll button, it will runs the second macro, which grabs the value in the turn tracker, and uses that as the bonus, and returns a new total. And also saves the new total in the turn tracker. So you can keep clicking this button as long as you roll doubles, and it will give you the correct total without having to enter a value in a query. It would look something like this: There's lots of ways you can use this, but needing to set those two attributes at the start for every character means its a bit laborious. If you have Pro you can of course do it quickly with chatSetAttrs. If youre a free user, the best way is to set up a blank character with those tow attributes already on it. When you create a new character, just copy your blank template and use that. And of course, if you're a character sheet designer, you can incorporate it in the sheet. (My Torg Eternity sheet uses this method.) I didnt create this trick - I don't know who originally made it, but a question about Tunnels &amp; Trolls today reminded me I hadnt written it up here. Hope people find it useful! *This Trick also uses the&nbsp; Prefix trick&nbsp; described earlier in the thread.&nbsp;
Visualizing audio, it's a good tip!
I stopped counting how many different tricks
1591274990

Edited 1594469038
Convert coins up to Platinum macro This is not even a trick, but it's definitely stupid. I was looking for things to add to my Player Menu and could not find a currency converter macro for 5E. Why does electrum even exist? Anyway, QoL improvement for anyone who finds large stashes of mixed denominations on a regular basis: &amp;{template:npcaction}{{rname=Platinum Converter}}{{description=**@{selected|character_name}'s starting wealth -** *Copper*: @{selected|cp} *Silver*: @{selected|sp} *Electrum*: @{selected|ep} *Gold*: @{selected|gp} *Platinum*: @{selected|pp} ======================== **After currency exchange -** ***Copper***: [[ floor(@{selected|cp}%10) ]] ***Silver***: [[ floor(@{selected|sp} + floor(@{selected|cp}/10))%5 ]] ***Electrum***: [[ floor(@{selected|ep} + floor(@{selected|sp} + floor(@{selected|cp}/10) )/5)%2 ]] ***Gold***: [[ floor( @{selected|gp} + floor((@{selected|ep} + floor(@{selected|sp} + floor(@{selected|cp}/10))/5)/2) )%10 ]] ***Platinum***: [[@{selected|pp} + floor(( @{selected|gp} + floor((@{selected|ep} + floor(@{selected|sp} + floor(@{selected|cp}/10))/5)/2) )/10) ]] }} Note that this will spit errors if there's a blank value for any of the coins. You at least need a 0 in each box. For a default template version, change template name from npcaction to default , change rname to name , delete description=, replace all instances of : with =
1591318034
GiGs
Pro
Sheet Author
API Scripter
Timothy, this isn't a general advice thread. It's best to ask such a question in its own thread. To anyone else, please do not clog the thread up with responses - let it go where it needs to.
1591386603

Edited 1591411643
Not sure if this is the right place for this since it is specific to 5e - but using the 5E OGL companion, I have found a effective, but not so elegant way to track Spell Points as Ammo. Because the template for SPELLCARD has no AMMO entry in the template, you are stuck using a roll template for every Spell that you want to track AMMO with. So what you can do is change every spell to ATTACK from SPELLCARD. This will convert the spell to a normal roll template, and will add it as an attack to the character sheet. In order for it to roll, you need to add a 1 to the damage field. I also like to check the box for "include spell description in attack", just to get that Spell Card feel, without the spell card. Now all of your spells will be on the attacks section of the character sheet. If you have AMMO tracking on the OGL sheet, you can create a resource called "Spell Points". Reddit user&nbsp;u/Christroyilator made a macro that you can paste in the Max field, but I like the "clean" look of just a number. The Spell Points resource should either be in the class_resource or the other_resource field, since those can be linked to your token bars. And since Mana is always blue, I would reccomend linking it to your tokens blue bar. As for the actual ammunition, for each spell, you will need to put "Spell Points, X" where X is the number of spell points it costs to cast that spell. For example - Disguise Self is a level 1 spell so it will have ammunition Spell Points, 2. *** But what about spells that can be cast at multiple levels? This was a question that seemed like it should have an easy answer, but as it turned out was kinda tricky. I learned along the way certain things about the different fields in the sheet. Normally when a spell can be cast at multiple levels, it will do a hidden query and the result will be added from the Higher Level field on the spell. We want to be able to manipulate this query, so what I recommend is that you remove this and put it in the "damage" field. So for example a spell like Sleep is normally a roll of 5d8 and has a higher level field of 2d8 for each spell level beyond the first. So what you can do is put the damage to&nbsp; 3d8+2*?{Spell Level?|1|2|3|4|5|6|7|8|9} and remove the number from the higher level. This will make it functionally the same, but will make the template only have 1 roll. You can reuse this query as well in the ammunition field, however that is where we run into a problem. The ammunition field allows for queries, but does not allow for math for some reason. The damage field does though, so the not so elegant solution I found is to change the query to convert the spell level directly to spell points, then use the following formula to convert it back to the spell level -ceil((3*query-3)/4). The end result for the sleep spell looks like this -&nbsp; 3d8+[[2*ceil((?{Spell Level|1,2|2,3|3,5|4,6|5,7|6,9|7,10|8,11|9,13}*3-3)/4)]]d8 then in the ammunition field, you can put&nbsp; Spell Points, ?{Spell Level} The end result is that if you click the spell Sleep, it will ask you what level, will roll the appropriate amount of dice for the spell level, and will subtract the correct amount of spell points from the Spell Points resource automatically. To expand this to make it a bit more comprehensible, I have gone ahead and made a attribute on a character named "Macros" and the attribute is called "SLQ" (short for Spell Level Query) specifically - SLQ=[[ceil((?{Spell Level|1,2|2,3|3,5|4,6|5,7|6,9|7,10|8,11|9,13}*3-3)/4)]] so the damage section of the attack is now 3d8+[[2+@{Macros|SLQ}]]d8 and the ammunition is still Spell Points, ?{Spell Level} That said, tt does seem to work much faster if I make a attribute on the character using the spell and make the damage 3d8+[[2+@{SLQ}]]d8 Using this, I can make every scalable spell deduct the appropriate number of spell points. **Note - If you want to utilize this without the API, adding ?{Spell Level|1,2|2,3|3,5|4,6|5,7|6,9|7,10|8,11|9,13} to the description of a spell can help a lot, and you can simply subtract the number from the Blue bubble. You also don't have to use the OGL companion script - I am sure it is easy to use ChatSetAttr to do the same thing, but I don't know if it would be possible to make it all 1 button like this.
1591414741
That being said, they had skipped a step when they were building their Macro. They need to go over the Variable Number Call section of the Tips in this thread again, in full, and see what they missed. That's why they'd posted it here in their confusion, is it was asking for clarification on a Trick here. There is indeed an entire Forum dedicated to such things on Roll20 though, you are right. That being said though; Currency Conversion Macro (Longhand, adaptable): I would like to point out that the Modulo can sometimes have aberrant behavior in some Programming Languages (I recall one such instance in C# (C-Sharp) Programming Language if I recall correctly. So, I shall provide my own Currency Conversion Macro, which is rather Robust due to a number of things. it converts Electrum into Silver (to convert to Electrum; you'd need to adjust the flow of the formula) it looks in the 1st (repeatable) Inventory Slot for Platinum Ingots (Compendium Compatible, 5e OGL Roll20 Sheet It calculates each Coin's Sum Total independently You'll need to Target their Token (not Select) it has no GUI pop ups (lag friendly) This makes it really useful when your Players are hoarding Coins for some reason, or when they just want to know what their Sum Total Currency Worth is. /desc &amp;{template:default} {{name=**@{target|Currency|character_name}** **is Converting Currency:**}} {{Copper:=**[[(0 +@{target|Currency|cp}) -(floor((0 +@{target|Currency|cp}) /10) *10)]]**}} {{Silver:=**[[((0 +(@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +floor([[(0 +@{target|Currency|cp}) /10]])) -(floor([[(((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10]]) *10)]]**}} {{Gold:=**[[((0 +@{target|Currency|gp}) +(floor([[(((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10]]))) -(floor([[((0+ @{target|Currency|gp}) +((((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10)) /10]]) *10)]]**}} {{Platinum:=**[[((0 +@{target|Currency|pp}) +(floor([[((0 +@{target|Currency|gp}) +((((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10)) /10]]))) -(floor(((0 +@{target|Currency|pp}) +[[((0 +@{target|Currency|gp}) +((((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10)) /10]]) /50) *50)]]**}} {{Platinum Ingots:=**[[floor(((0 +@{target|Currency|pp}) +[[((0 +@{target|Currency|gp}) +((((0 +@{target|Currency|sp}) +((0 +@{target|Currency|ep}) *5)) +((0 +@{target|Currency|cp}) /10)) /10)) /10]]) /50) +((0 +@{target|Currency|repeating_inventory_$0_itemcount}))]]**}} I would suggest running it through a Parser Buffer, such as a Chat Button API Trick (which KiethCurtis has a link to in his 1st Post where he started this thread), this allows you to create a Button that can immediately look up multiple characters. Alternatively, this trick can be expanded to give you a list of Buttons in a Chat Menu to Quickly &amp; Easily look up the entire Party, in addition to a "whatever you target" option (which is what this one currently is, built for a Modular setting)
1591435282

Edited 1591436217
Brady, that is indeed possible using the Chat Button APIs, then you wouldn't need to even open your Character Sheet in order to cast if you have enough programming know-how to rip apart the Attack Macros and assemble your own for it. As a matter of fact, I'm fairly sure that if you manually include the Ammo command in your custom Spellcard Macros, you can likely have &amp;{template:spellcard} and have your Points too (have your Cake and eat it too). To expand your Skill-set, I would suggest you use the Up &amp; Down Arrow Keys to cycle through recently sent Chat Messages this Session I seriously don't know how we haven't done this one yet. This does not Edit previously sent messages (I don't think that's capable for Chat on this site) This requires a Keyboard This can be done on Mobile, if you have a physical Keyboard (eg. Bluetooth) I'm (currently) unaware of any Software Keyboards (currently) available (for free) which are capable of emulating this function (correctly) Your recently sent Chat Messages that you have sent (from the current browser) since you last hit Launch Game (or the equivalent URL) are stored in the Chat Entry Field. I haven't done a deep dive into the Code to figure out how many it stores or anything, but if you press the Up or Down Arrow Keys when looking at the Chat, it will start to cycle through your most recently sent messages in order from Oldest (highest) to Newest (lowest), with the top-most and bottom-most "memory" being blank (so you'll always know when you hit the Top/Bottom). This trick is useful for quickly re-sending a message, or tweaking messages you're working on after you accidentally (or purposely) sent it to chat. this makes it useful for looking over your Macro Templates, and fine-tuning them on the fly as you build them, as well as repeat any Loot Templates your players might have forgotten, amongst many other things where repeating oneself comes in handy, including when looking up the information that a Character Sheet spits out. With enough patience, and prying, and testing, you can figure out how to use the Sheet's built in Templates to your own advantage, and this works with any sheet, not just the 5e OGL Roll20 Sheet. Additionally, if you want a template you can use on any sheet (even "Sheetless" games, which lacks any Sheet Template, such as the 5e OGL Roll20 Sheet), then the one you want to look into mastering is the &amp;{template:default} which is built in to the Roll20 Chat Module itself. I'm not sure how much of the following is exclusive to the 5e OGL Roll20 Character Sheet: As far as using the Ammo function to track the Spell Points, I'm not entirely sure of how specifically the Ammo function works, but as far as I am aware, it is parsed upon the first run into the UUID (Universally Unique ID) for that specific entry based upon the Name of the Target. So if your Spell points are named "Zoot Do Wap" then you'll want to set the ammo to "Zoot Do Wap" and, after you cast it once, if you look again, you'll see some strange looking jumbled Letters, Numbers, &amp; Symbols in the place where you put it. This is the UUID. On FireFox, if you Right Click, and you Inspect Element (to open your Web Developer's Inspector Tool, found in the Tools &gt; Web Developer &gt; Inspector menu) on your Compendium Compatible Inventory, you can actually find that UUID if the Item has been marked as a Resource at some point, as well as any other items in the Repeatable Resource cetegory. This includes the Class Resource &amp; Other Resource. I'm not sure entirely what else is assigned a UUID, but I know anything marked at any point (past or present) as a Resource on the 5e OGL Sheet will get a UUID, as the Drag &amp; Drop for Ammo will by default automatically enable the "Track as Resource" option, no matter which Ammo you drag onto the Sheet (unsure if Energy Cells do too, but, meh, educated guess is yes). P. S. Brady you might wanna improve the readability of your post by Editing it &amp; formatting it with some Code Blocks (it doesn't break the Code Block if you have any characters already after the line return, even a single space, when you input it, otherwise it will end the Code Block, and it also accepts Copy/Paste). Also, Header 3 is great for Titles, like I did above. P. P. S. the ?{Cast at what Level?} command actually is not unified, and is actually calling (sometimes) ?{Cast at what Level? 1|1|2|3|4|5|6|7|8|9} , so this might be a hindrance to your studies, test thoroughly. It is good that you had the forethought of substituting the Command instead of weaving the Sum into your Ammo Math. That being said, you are missing a Parenthesis bracket between your subtraction and multiplication. Brackets are the only universal shortcuts in Math, as PEMDAS, PEMBAS. and many other "shortcuts" are not universally taught (PEMBAS for example tends to be taught in England) and it's not always taught to do Addition before Multiplication, but sometimes it is taught that way, and thus you must remember your Brackets. Math Professors at Universities (Uni) always remember to Bracket their equations, because it can otherwise get very confusing, as you need to have everyone on the same page when you're teaching a room of 20+ people the same equation and only have enough time to go over it once.
Conditional Text This is modified a bit from this original post, Custom Success/Failure Messages , by Ziechael : <a href="https://app.roll20.net/forum/post/5899495/stupid-roll20-tricks-and-some-clever-ones/?pageforid=7510651#post-7510651" rel="nofollow">https://app.roll20.net/forum/post/5899495/stupid-roll20-tricks-and-some-clever-ones/?pageforid=7510651#post-7510651</a> In a nutshell, if you are willing to have a table for each phrase you want, you can have conditional text. Each table must have just one row, the text you want to speak. In my case, creatures have a size attribute from -4 to 20, but in my game I only care about 0 (man) to 8 (dragon). I haven't tried this with negative numbers. If it doesn't work with negatives, you could probably just add a value to the whole thing to make all numbers positive. Here's output from the original macro. But without the art you don't really get a feel for the actual size. Size 6? What's that? Sometimes I address this by uploading monster art, and maybe even putting a shadow man in for reference. But here's another way. I added a description (taken from the rule book) for each size. Here's output from the updated macro. (I have two version of the macro, one shows the picture, one doesn't.) The code is easy: **Size**=@{target|Token|size} ([[1t[size@{target|Token|size}]]]) The table setup is like this A table per size, each table with one row And each table has one row with the description. Remember that the text can't start with a number.
1591545849

Edited 1591545875
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Managing Equipment Weight and Containers This trick definitely works on the D&amp;D 5th Edition by Roll20 sheet, but it is entirely possible it will work on others, depending upon how they are written. Characters who have a horse, or a bag of holding or henchmen may have more equipment than they are carrying on their person. For games that track encumbrance, this can be difficult to handle. "Yes, I have a bearskin with me for when we get up into the mountains, but tight now it is strapped to ol' Dobbin." Yes, you could just eliminate the weight entry, but when you decide you want to wear that bearskin, you have to go look up the weight. The Stupid Trick is this: Just put any non-numeric character in front of the weight of the item and it will not calculate. Is that great sword strapped to your horse? Change the weight from "6" to "h6". When you strap it to your back like a true movie hero, just get rid of the "h". The weight calculates. Is that hempen rope in your bag of holding? Change the weight to "b10". If you want a bit more order, you can create a dummy item called "HORSE_______" or&nbsp; "BAG OF HOLDING_____" with no weight, and arrange all of the horse or bag gear below that entry. Example: our hero has saved 43 lbs by using his bag of holding and trusty steed, but can quickly encumber himself by removing the b's and hs'.
1591547636
GiGs
Pro
Sheet Author
API Scripter
Interesting. I can see that failing on a lot of sheets because they'll have defined the weight field as a number field, which wont accept letters. i find it weird the 5e sheet didnt do that, honestly. But it's handy that it enables this trick.
You can also just add another Inventory entry separately like you did with the Horse &amp; Bag sections, then you can just adjust the Quantity and not need an entire extra Sheet, which completely nullifies my trick of setting the weight of the Bag of Holding (for example) to a Negative number (such as -485 to account for the 500 Lbs capacity minus the 15 Lbs the bag weighs). It's more of an alternative way to get the same result.
1591575181

Edited 1591575209
Except that a bag of holding does not give you -485 carry weight, as this would also reduce the carry weight of your worn items and combat-accessible items. This is especially important for variant encumbrance - so I think Keith's trick is very useful and gives a different result. A negative encumbrance value would be extremely misleading for low strength characters using variant encumbrance.
1591587993
I just tested, and can confirm this works with both the Pathfinder 2 by Roll20 and the Starfinder by Roll20 sheets.&nbsp; Nice trick! keithcurtis said: Managing Equipment Weight and Containers Is that great sword strapped to your horse? Change the weight from "6" to "h6". When you strap it to your back like a true movie hero, just get rid of the "h". The weight calculates. Is that hempen rope in your bag of holding? Change the weight to "b10". Example: our hero has saved 43 lbs by using his bag of holding and trusty steed, but can quickly encumber himself by removing the b's and hs'.
My player took it one step further and put an emoji to the left of the weight. Bag emoji to the left of weight for bag of holding Horse emoji to the left of weight for what's on his mount. Works beautifully. Thanks Keith!&nbsp; keithcurtis said: Managing Equipment Weight and Containers This trick definitely works on the D&amp;D 5th Edition by Roll20 sheet, but it is entirely possible it will work on others, depending upon how they are written. Characters who have a horse, or a bag of holding or henchmen may have more equipment than they are carrying on their person. For games that track encumbrance, this can be difficult to handle. "Yes, I have a bearskin with me for when we get up into the mountains, but tight now it is strapped to ol' Dobbin." Yes, you could just eliminate the weight entry, but when you decide you want to wear that bearskin, you have to go look up the weight. The Stupid Trick is this:
1591716313
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
That's very clever!
1591721308

Edited 1591721603
Probably more in the stupid section, essentially using somewhat obscure links: [Books](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:BookIndex" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:BookIndex</a>) That brings up: Purchased books can be opened and any that have not been purchased will link to the store page instead (click the image above to a view a brief GIF of this). I wrapped this with some of the individual book links in a little macro: /w gm &amp;{template:default} {{name=Books}} {{[All](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:BookIndex" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:BookIndex</a>) = [Purchased index](<a href="https://roll20.net/compendium/dnd5e/Index:CategoryIndex" rel="nofollow">https://roll20.net/compendium/dnd5e/Index:CategoryIndex</a>)}} {{=[MM](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:Monster%20Manual" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:Monster%20Manual</a>) [MToF](<a href="https://roll20.net/compendium/dnd5e/Mordenkainen%27s%20Tome%20of%20Foes#h-Mordenkainen%27s%20Tome%20of%20Foes" rel="nofollow">https://roll20.net/compendium/dnd5e/Mordenkainen%27s%20Tome%20of%20Foes#h-Mordenkainen%27s%20Tome%20of%20Foes</a>) [PHB](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:Player's%20Handbook" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:Player's%20Handbook</a>) [Volo's](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:Volo's%20Guide%20to%20Monsters" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:Volo's%20Guide%20to%20Monsters</a>) [XGtE](<a href="https://roll20.net/compendium/dnd5e/Miscellaneous:Xanathar's%20Guide%20to%20Everything" rel="nofollow">https://roll20.net/compendium/dnd5e/Miscellaneous:Xanathar's%20Guide%20to%20Everything</a>)}} Producing: I found it interesting that these allow you to browse the books more like the physical editions, though I'm not sure how useful that is!
1591725187

Edited 1591725233
Oosh said: Except that a bag of holding does not give you -485 carry weight, as this would also reduce the carry weight of your worn items and combat-accessible items. This is especially important for variant encumbrance - so I think Keith's trick is very useful and gives a different result. A negative encumbrance value would be extremely misleading for low strength characters using variant encumbrance. Whilst it was worth noting, the only time you should encounter such an issue on your Character is if you have 8 or less strength, which would probably mean you won't be carrying almost anything anyways. My Trick with the negative Weight is perfectly fine with the 5e system, Variant or not, as it's a simple concept of carrying capacity. The Bag holds 500, weighs 15, therefore capacity is increased by 485, but since I don't want to modify my Strength, I instead modified my current carrying weight by inverting the 485 into -485. The only thing this changes truly is the micromanaging of your Sheet, now it's a simple equation of "Quantity times Weight", not "Quantity times Weight, but don't count these items which I added and moved down here and I need to remember to update both quantities when I pull an item out of storage, because if I don't then it can throw everything off and even derail the game, or worse; break immersion". That being said, I don't think this is the best place to have such philosophical discussions about GM styles, especially when you are complaining about me saying Blue64Cam said: ...which completely nullifies my trick of setting the weight of the Bag of Holding (for example) to a Negative number (such as -485 to account for the 500 Lbs capacity minus the 15 Lbs the bag weighs). It's more of an alternative way to get the same result. Nullifies, or the act of Nullification, is to make something no longer work correctly, I'm not sure if the lack of understanding is the cause of the miscommunication here, but I wanted to clarify that, as you're complaining that I'm right. Alternative is to do something a different way, and potentially come to the same result. Whether I have a separate Sheet, like I use for my Carriage, or whether I have it just subtracting from my current Weight to simulate the increased Carrying Capacity without mucking about with it, or whether I put down the individual item info the way Keith explained it most recently, no matter what method I use, my Character is still weighing the same and carrying the same stuff, however you would need to add currency with a Negative Weight as an item if you store your 10k Silver from the Dragon Hoard you just looted with your Strength Dump Stat. To give you an idea of how much you can actually carry before medium encumbrance: figure out how much your weapons, Armor, and a Bag of Holding weighs, and if that's over the limit, then you're obviously gonna be affected and probably shouldn't hold the Bag in the first place. Additionally, I don't use Variant Encumbrance because it's not very well made in regards to reality. Believe it or not but a lot of the D&amp;D Series is based upon real world counterparts, from Vials, to Barrels, to the Briefcase sized Wooden Chests we all search (seriously, look it up &amp; run the numbers, it's a Briefcase), to even the Crafting (or at least the crafting of Platemail, the other resources are more questionable, eg. Alchemy, Poisons, and Herbs). If you're really interested in the realistic aspect of Encumbrance though, I would actually suggest D&amp;D 3.5e (which is very overwhelming at first, but, with the right group you'll have very few issues with it, a good GM helps a lot).
1591735826

Edited 1591736316
Blue64Cam said: Whilst it was worth noting, the only time you should encounter such an issue on your Character is if you have 8 or less strength, which would probably mean you won't be carrying almost anything anyways. My Trick with the negative Weight is perfectly fine with the 5e system, Variant or not, as it's a simple concept of carrying capacity. A 16 Strength (not a weakling by any stretch of imagination, and not a Strength of 8 as you assert above) has a carrying capacity of 240 lbs, and can carry up to 480 lbs without being slowed to a speed of 5 feet. Your "trick" assumes all gear goes into the bag, but will allow such a character to carry 485 lbs of gear + 15 lbs for the bag of holding and not be affected at all, when he should be moving at 5 feet per round. The math seems evident to me.
1591736831
Similar to what Andrew recently posted, about linking books, I have begun linking to online sources like the PRD for my spell and/or feat descriptions.&nbsp; As a personal preference, I like to conserve chat window space.&nbsp; So I often shorten, abbreviate, or paraphrase descriptions to make them more brief.&nbsp; But for transparency sake, I put a link to the full description at the end of the spell/ability.&nbsp; [Detect Magic_PRD](<a href="https://2e.aonprd.com/Spells.aspx?ID=66" rel="nofollow">https://2e.aonprd.com/Spells.aspx?ID=66</a>) This screenshot and code example are taken from Pathfinder 2e, but this trick should work for any game that has handy online sources, and it does not require API. &nbsp;
1591826884

Edited 1591826992
Blue64Cam said: ... That being said, I don't think this is the best place to have such philosophical discussions about GM styles, especially when you are complaining about me saying Blue64Cam said: ...which completely nullifies my trick of setting the weight of the Bag of Holding (for example) to a Negative number (such as -485 to account for the 500 Lbs capacity minus the 15 Lbs the bag weighs). It's more of an alternative way to get the same result. Nullifies, or the act of Nullification, is to make something no longer work correctly , I'm not sure if the lack of understanding is the cause of the miscommunication here, but I wanted to clarify that, as you're complaining that I'm right. Alternative is to do something a different way, and potentially come to the same result. Whether I have a separate Sheet, like I use for my Carriage, or whether I have it just subtracting from my current Weight to simulate the increased Carrying Capacity without mucking about with it, or whether I put down the individual item info the way Keith explained it most recently, ... To give you an idea of how much you can actually carry before medium encumbrance: figure out how much your weapons, Armor, and a Bag of Holding weighs, and if that's over the limit, then you're obviously gonna be affected and probably shouldn't hold the Bag in the first place. ... Why are you arguing with me about this in a thread that has nothing to do with your moral hill to die on? I don't care about your Variant Encumbrance Rule, I don't use it, it's highly unrealistic, and not even fun in a fantasy setting for me. I don't care about it, but YOU want to push the issue when I have now Repeatedly stated that I was using an Alternative, and that I don't use Variant Encumbrance, and that THIS IS NOT THE PLACE TO DISCUSS THIS TOPIC , and additionally, I would like to point out for good measure that this is not the place to discuss this topic , but just to be clear, this is not the place to discuss this topic . I have perfectly and concisely explained myself in a single Post, pointing out and even defining the word "Alternative" for you, in order to leave zero doubt about the meaning of the word which I was using, but yet you still insist on not leaving the Stupid Trick Alone. Okay, you want specifics? Let's talk 3.5e rules then, where it's not only forced Advanced Variant Encumbrance Rule but you also are forced to actually assign each and every Item's Storage Location, and if you get heavier than ⅓ your maximum capacity you'll be suffering from the effects of the Weight, meaning your Caster Builds needs to be Strong or they'll slow the Party down, or worse they'll get left behind. I'veplayed mainline Casters for 11 years, and I started in 3.5e, so trust me when I say that 5e Variant Encumbrance Rule is an unrealistic joke of a mechanic. I've been violating the 5e Variant Encumbrance Rule IRL when I carry my groceries home the 2 miles from my nearest store on foot, I've measured my strength IRL and I have gauged the limits of my muscles, and I am capable of reaching ⅔ my capacity (not ⅓ or ½) before I begin to be affected by the carried weight. So an Adventuring Party, which is easily more fit than myself, should have no issue carrying only a mere 60 to 70 Lbs with only 8 Strength in game. Now, if you're done wasting people's time, do you have any actual Stupid Tricks to provide the audience of this thread, or is Keith going to need to start trimming Messages, again? Rabulias said: A 16 Strength (not a weakling by any stretch of imagination, and not a Strength of 8 as you assert above) has a carrying capacity of 240 lbs, and can carry up to 480 lbs without being slowed to a speed of 5 feet. Your "trick" assumes all gear goes into the bag, but will allow such a character to carry 485 lbs of gear + 15 lbs for the bag of holding and not be affected at all, when he should be moving at 5 feet per round. The math seems evident to me. Additionally, get your math right: Medium Size: 8*15*1=120 16*15*1=240 Large Size: 8*15*2=240 16*15*2=480 So either you tend to play Goliath, or another Giant-Kin, or you're confused and/or ignorant. Either way you're wrong, so allow me to clear your ignorance up with some Knowledge. 16 Strength can only Carry up to 240 before their Speed is reduced to 5 Feet (Dragging), and it becomes 0 Feet at 480 (2x Capacity). A character with 8 Strength is only capable of carrying 60 Lbs before 5e Variant Encumbrance Rule kicks in, or less in 3.5e (they used thirds), or more in real life. So much for your math looking solid.
1591827572
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
To all: Please take debate to another thread, or general rules discussions to another forum. This thread is for the presentation of tricks and tips.
Horvald said: Similar to what Andrew recently posted, about linking books, I have begun linking to online sources like the PRD for my spell and/or feat descriptions.&nbsp; As a personal preference, I like to conserve chat window space.&nbsp; So I often shorten, abbreviate, or paraphrase descriptions to make them more brief.&nbsp; But for transparency sake, I put a link to the full description at the end of the spell/ability.&nbsp; [Detect Magic_PRD](<a href="https://2e.aonprd.com/Spells.aspx?ID=66" rel="nofollow">https://2e.aonprd.com/Spells.aspx?ID=66</a>) This screenshot and code example are taken from Pathfinder 2e, but this trick should work for any game that has handy online sources, and it does not require API. I use a similar trick in my 5e Game, but I specifically tend to do it for the Spells using the 5e OGL Roll20 Sheet's Spell Card Template, and by putting it in the innate Field I'm capable of having it not get in the way of Limited Use Racial Abilities without it potentially breaking immersion (they need to use the Macro from Chat, not their Sheet, to get the Link, so they only see it when looking it up, not when casting), as the innate Field gets stripped when fed into the Sheet so the Sheet can provide its own.
I've found a hacky way to find large files in your library for cleanup. In chrome you can hit F12 to open the developers console and execute arbitrary javascript. I opened my library and looked at my recent uploads and just kept scrolling down till my entire library was loaded into the list.&nbsp; This list has each HTML element tagged with a specific class "recentupload".&nbsp; The developers were so kind as to add an attribute to these elements saying the size of the file right in the html element.&nbsp; Almost like they were going to add it to the list but didn't for some nefarious reason.&nbsp; Executing the following code will print to the console the file names and file sizes. You can then copy it out into a spreadsheet, sort and finally pick the files that are too big. Copy their file names and go back to roll20 and use Ctrl + f to find that file and delete it. $('.recentupload').each(function(index) {console.log(this.textContent + ": " + $(this).attr('data-filesize'))}) Note that the textContent prefixes each entry with Drag, but it is easy enough to manually drop it.&nbsp; You then enter the file name in the library search and delete away.&nbsp;