Cool. Was actually thinking about asking in Patreon about a breakdown of the 5e template macros several days ago. Awesome video and super useful. Thanks.
This is a great tutorial, as always! Nobody - and I mean - No one - covers these macros in such detail and in such an easy to understand format as you do. Thank you for taking the time to do these videos! My roll20 games have gotten so much better with learning how the macros work in depth! Thanks again.
@@NickOlivo Hi Nick...I've run across a problem that I wondered if it could be fixed? My problem is that certain creatures get advantage on their saves. Is it possible to get Group-Check to roll with Advantage when doing group saves? Would doing so break the Apply Damage macro that runs with it? (I will gladly pay you for your time & assistance with this problem.)
I'm beginning to sound like a broken record Nick, but thank you again for these vids. Very quick, concise and your descriptions are very clear. Keep them coming!
Nick, amazing video as always. Perhaps sometime you could walk through the ={{h1dmg=h1dmg}} and {{spelllevel=spelllevel}} pieces of this code. In the examples you went through, these were not used. This video was so helpful, I've always wanted to have a better understanding of what all these codes mean and how they make the macro's work. So good!
Is it possible to do this and combine the pop up box with options you showed in the video with health potions? So it does a pop up box, you choose if it's a regular attack / advantage / disadvantage, if hexblades curse / great weapon master is used / flame tongue is active etc?
It should be possible, but honestly, the more I've worked with nesting commands, the more I realize that's not a great approach because the escaping is such a pain. I think something like this would be better accomplished via the PowerCards or ScriptCards API. I'm going to do a video on that later this summer. Thanks for watching!
Man love your vids! I was always solving everything with the purple template. Thank you so much Nick! Also I have a request if you don't mind. Could you came up with an API or macro that alows you to manage resources form character sheets, such as the barabarian's fury, Luck points etc. I know that you can do some shananignas with the 5th Edition OGL and I would like something more simple, and I've not be able to find a good API that does thar. Anyway, if it is a lot to ask there's no problem at all. Ty for your love and for what you do for the community!!!
Apologies if you've already done a video on it, but I couldn't find one. Can you show us how to make an attack macro that lets us choose between say a normal attack and sharpshooter? Or even one that would let me choose between my arcane archer's arcane shot options? I've been trying to figure it out, but I feel like I'm missing something.
Is there a way to format these so they behave like the normal roll20 rolls where if you click on the name of the attack after the roll, it rolls damage? Instead of creating one that rolls attack and damage at the same time or creating two different macros (one for attack and one for damage)
I'm trying to add the {sf_generic} one to my macro. My code rolls work with the default template, but not with the sf one... The sf shows the template and the title of the template, but then the rest of the template (where the roll would be shown) is blank. Given, I'm brand new to how this works, so if anyone has any tricks or explanations for why this is happening, I'd love to hear your suggestions.
Happy to help. To keep things simple, try just running this line. &{template:sf_generic} {{name=My Name}}{{title=My Title}}{{r1name=My Roll Name}}{{r1=[[1d20]]}} If that works, then the issue is somewhere in the nested query. When you nest queries like this, you'll need to replace a bunch of the square brackets and curly brackets and pipes with their corresponding HTML codes, as is described here. The other thing to know about these sorts of queries is that if you paste the code into a new macro and save it, the macro will function. If you open that macro again, the escaped HTML characters will be converted to their regular characters, and if you save it at that point, you'll be saving those characters in the macro rather than the HTML escape sequences that are required for making the macro work.
Sure thing. You need to define the spell's level using the spelllevel tag, and you need a prompt so the user can specify what level the spell is being cast at. Then, you use the hldmg tags to specify how much extra damage is being dealt. Here's how Flaming Sphere works. It's a level 2 spell, and when you upcast it, you deal an additional d6 of fire damage for each level beyond 2. If the user says they're casting at level 2, it deals the regular 2d6 fire damage, with 0 extra damage dice. But if they cast at level 3, then they deal an extra 1d6 damage. &{template:dmg}}} {{rname=Flaming Sphere}} {{range=60 feet}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[2d6]]}} {{dmg1type=fire}} {{save=1}} {{saveattr=Dexterity}}{{savedc=15}} {{spelllevel=2}} {{hldmg=[[?{Cast at what level?|Level 2,0|Level 3,1|Level 4,2|Level 5,3|Level 6,4|Level 7,5|Level 8,6|Level 9,7}d6]]}}
Great video! I have a question, is it possible to make a dropdown menu for the attacks? I cannot find anyone who made it and I'm failing something somewhere. ?{attacks| then the attacks like your last example but never works
@@NickOlivo of course! &{template:atkdmg} ?{Choose |Dagger, {{mod=[[@{selected|pb}+@{selected|dexterity_mod}]]}} {{rname=Dagger}} {{r1=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{@{selected|queryadvantage}cs>20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{r2=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d4+@{selected|dexterity_mod}]]}} {{dmg1type=Piercing}} 0 {{dmg2=[[1d4+@{selected|dexterity_mod}]]}} {{dmg2type=}} {{crit1=[[1d4]]}} {{crit2=[[1d4]]}} {{desc=}} {{charname=@{selected|character_name}}} |Light crossbow, {{mod=[[@{selected|pb}+@{selected|dexterity_mod}]]}} {{rname=Light crossbow}} {{r1=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{@{selected|queryadvantage}cs>20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{r2=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{attack=1}} {{range=20/60}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d4+@{selected|dexterity_mod}]]}} {{dmg1type=Piercing}} 0 {{dmg2=[[1d4+@{selected|dexterity_mod}]]}} {{dmg2type=}} {{crit1=[[1d4]]}} {{crit2=[[1d4]]}} {{desc=}} {{charname=@{selected|character_name}}} } it's a mix of yours and roll20 5e (I press up arrow). There is something wrong in the dropdown menu, and maybe not only...thank you in advance!
@@gibbauzgame I don't think you can put elements of the template as part of the query. Do you have a pro account? If so, I'd recommend doing something like this via PowerCards or ScriptCards.
Hi Eric - that's weird. Here's the right link - wiki.roll20.net/D%26D_5E_by_Roll20/Roll_Templates I'll also update the video's description as well. Thanks for catching that, and happy gaming!
Hey Nick. Every time I think to myself, "I wonder if Roll20 can do that" you usually have the answer! I'm making a spiritual weapon for my Cleric and this is what I have so far: &{template:atkdmg} {{mod=@{selected|spell_attack_bonus}}} {{rname=D'agusd}} {{r1=[[1d20+@{selected|spell_attack_bonus}]]}} {{always=1}} {{r2=[[1d20+@{selected|spell_attack_bonus}]]}} {{attack=1}} {{range=5 ft}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d8+@{selected|wisdom_mod}]]}} {{crit1=[[1d8]]}} {{desc=By Moradin's Hammer!!}} {{hldmg=[[?{Cast at what level?|Level 2,0|Level 3,0|Level 4,1|Level 5,1|Level 6,2|Level 7,2|Level 8,3|Level 9,3}d8]]}} {{spelllevel=spelllevel}} {{charname=D'agusd}} The problem I'm hitting is that if I cast at level 2 or 3 everything is fine. At higher levels, if I crit it is only rolling the 1d8 rather than the 2d8 or 3d8 depending on what level it was cast at. I know that I have to make the calculation dependent on the choice made in the {{hldmg=}} section, but I'm not sure how to do that. Any thoughts?
Try changing your crit1 to this: {{crit1=[[[[1d8]]+[[?{Cast at what level?|Level 2,0|Level 3,0|Level 4,1|Level 5,1|Level 6,2|Level 7,2|Level 8,3|Level 9,3}d8]]]]}} I think that will make it do what you're looking for. Good luck, and happy gaming!
Cool. Was actually thinking about asking in Patreon about a breakdown of the 5e template macros several days ago. Awesome video and super useful. Thanks.
This is a great tutorial, as always! Nobody - and I mean - No one - covers these macros in such detail and in such an easy to understand format as you do. Thank you for taking the time to do these videos! My roll20 games have gotten so much better with learning how the macros work in depth! Thanks again.
Dang Nick !! You're the Man !! ...I've learned so much from you and my game play shows it...Thank you for all your vids
Glad they've been helpful. Happy gaming!
@@NickOlivo Hi Nick...I've run across a problem that I wondered if it could be fixed? My problem is that certain creatures get advantage on their saves. Is it possible to get Group-Check to roll with Advantage when doing group saves? Would doing so break the Apply Damage macro that runs with it? (I will gladly pay you for your time & assistance with this problem.)
I'm beginning to sound like a broken record Nick, but thank you again for these vids. Very quick, concise and your descriptions are very clear. Keep them coming!
Nick, amazing video as always. Perhaps sometime you could walk through the ={{h1dmg=h1dmg}} and {{spelllevel=spelllevel}} pieces of this code. In the examples you went through, these were not used. This video was so helpful, I've always wanted to have a better understanding of what all these codes mean and how they make the macro's work. So good!
With the "always" option, could you use "Query" to get a prompt to pick advantage, disadvantage, or normal?
Yep, that should work.
@@NickOlivo Can you guide us how???
Is it possible to do this and combine the pop up box with options you showed in the video with health potions? So it does a pop up box, you choose if it's a regular attack / advantage / disadvantage, if hexblades curse / great weapon master is used / flame tongue is active etc?
It should be possible, but honestly, the more I've worked with nesting commands, the more I realize that's not a great approach because the escaping is such a pain. I think something like this would be better accomplished via the PowerCards or ScriptCards API. I'm going to do a video on that later this summer. Thanks for watching!
Man love your vids! I was always solving everything with the purple template. Thank you so much Nick! Also I have a request if you don't mind. Could you came up with an API or macro that alows you to manage resources form character sheets, such as the barabarian's fury, Luck points etc. I know that you can do some shananignas with the 5th Edition OGL and I would like something more simple, and I've not be able to find a good API that does thar. Anyway, if it is a lot to ask there's no problem at all. Ty for your love and for what you do for the community!!!
Glad you like the vids, Martin! I think the ChatSetAttr script might do what you want - wiki.roll20.net/Script:ChatSetAttr
Apologies if you've already done a video on it, but I couldn't find one. Can you show us how to make an attack macro that lets us choose between say a normal attack and sharpshooter? Or even one that would let me choose between my arcane archer's arcane shot options? I've been trying to figure it out, but I feel like I'm missing something.
I haven't done a video on that, but this post might help you - www.reddit.com/r/DnD/comments/5eagsg/help_with_making_a_sharpshooter_macro_for_roll20/
@@NickOlivo Awesome, I appreciate the help ♥
Is there a way to format these so they behave like the normal roll20 rolls where if you click on the name of the attack after the roll, it rolls damage? Instead of creating one that rolls attack and damage at the same time or creating two different macros (one for attack and one for damage)
Hi Oscar - you'll want to use the atkdmg template for that.
I'm trying to add the {sf_generic} one to my macro. My code rolls work with the default template, but not with the sf one... The sf shows the template and the title of the template, but then the rest of the template (where the roll would be shown) is blank. Given, I'm brand new to how this works, so if anyone has any tricks or explanations for why this is happening, I'd love to hear your suggestions.
Hi there - post the code you're trying to run and I'll take a look.
Oh wow, thank you, Mr Olivo!
The default template showed here works but the sf_generic looks SO COOL but for some reason the template shows up empty.
&{template:default} {{name=Skill Check: @{selected|character_name}}} {{?{Choose a Skill| Acrobatics, **Acrobatics:** [[1d20 + @{selected|acrobatics}]]|
Athletics, **Athletics:** [[1d20 + @{selected|athletics}]]|
Bluff, **Bluff:** [[1d20 + @{selected|bluff}]]|
Computers, **Computers:** [[1d20 + @{selected|computers}]]|
Culture, **Culture:** [[1d20 + @{selected|culture}]]|
Diplomacy, **Diplomacy:** [[1d20 + @{selected|diplomacy}]]|
Engineering, **Engineering:** [[1d20 + @{selected|engineering}]]|
Intimidate, **Intimidate:** [[1d20 + @{selected|intimidate}]]|
Life Science, **Life Science:** [[1d20 + @{selected|life_science}]]|
Medicine, **Medicine:** [[1d20 + @{selected|medicine}]]|
Perception, **Perception:** [[1d20 + @{selected|perception}]]|
Piloting, **Piloting:** [[1d20 + @{selected|piloting}]]|
Sense Motive, **Sense Motive:** [[1d20 + @{selected|sense_motive}]]|
Sleight of Hand, **Sleight of Hand:** [[1d20 + @{selected|sleight_of_hand}]]|
Stealth, **Stealth:** [[1d20 + @{selected|stealth}]]|
Survival, **Survival:** [[1d20 + @{selected|survival}]]
}}}}
Happy to help. To keep things simple, try just running this line.
&{template:sf_generic} {{name=My Name}}{{title=My Title}}{{r1name=My Roll Name}}{{r1=[[1d20]]}}
If that works, then the issue is somewhere in the nested query. When you nest queries like this, you'll need to replace a bunch of the square brackets and curly brackets and pipes with their corresponding HTML codes, as is described here. The other thing to know about these sorts of queries is that if you paste the code into a new macro and save it, the macro will function. If you open that macro again, the escaped HTML characters will be converted to their regular characters, and if you save it at that point, you'll be saving those characters in the macro rather than the HTML escape sequences that are required for making the macro work.
Can you explain how the higher level damage would work and look like? I've been fiddling with it but no luck so far.
Sure thing. You need to define the spell's level using the spelllevel tag, and you need a prompt so the user can specify what level the spell is being cast at. Then, you use the hldmg tags to specify how much extra damage is being dealt. Here's how Flaming Sphere works. It's a level 2 spell, and when you upcast it, you deal an additional d6 of fire damage for each level beyond 2. If the user says they're casting at level 2, it deals the regular 2d6 fire damage, with 0 extra damage dice. But if they cast at level 3, then they deal an extra 1d6 damage.
&{template:dmg}}} {{rname=Flaming Sphere}} {{range=60 feet}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[2d6]]}} {{dmg1type=fire}} {{save=1}} {{saveattr=Dexterity}}{{savedc=15}} {{spelllevel=2}} {{hldmg=[[?{Cast at what level?|Level 2,0|Level 3,1|Level 4,2|Level 5,3|Level 6,4|Level 7,5|Level 8,6|Level 9,7}d6]]}}
@@NickOlivo thank you so much! That clears it up for me!!
Great video! I have a question, is it possible to make a dropdown menu for the attacks? I cannot find anyone who made it and I'm failing something somewhere. ?{attacks| then the attacks like your last example but never works
Can you paste your macro here and I'll take a look?
@@NickOlivo of course!
&{template:atkdmg} ?{Choose
|Dagger, {{mod=[[@{selected|pb}+@{selected|dexterity_mod}]]}} {{rname=Dagger}} {{r1=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{@{selected|queryadvantage}cs>20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{r2=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d4+@{selected|dexterity_mod}]]}} {{dmg1type=Piercing}} 0 {{dmg2=[[1d4+@{selected|dexterity_mod}]]}} {{dmg2type=}} {{crit1=[[1d4]]}} {{crit2=[[1d4]]}} {{desc=}} {{charname=@{selected|character_name}}}
|Light crossbow, {{mod=[[@{selected|pb}+@{selected|dexterity_mod}]]}} {{rname=Light crossbow}} {{r1=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{@{selected|queryadvantage}cs>20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{r2=[[1d20+@{selected|pb}+@{selected|dexterity_mod}]]}} {{attack=1}} {{range=20/60}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d4+@{selected|dexterity_mod}]]}} {{dmg1type=Piercing}} 0 {{dmg2=[[1d4+@{selected|dexterity_mod}]]}} {{dmg2type=}} {{crit1=[[1d4]]}} {{crit2=[[1d4]]}} {{desc=}} {{charname=@{selected|character_name}}} }
it's a mix of yours and roll20 5e (I press up arrow). There is something wrong in the dropdown menu, and maybe not only...thank you in advance!
@@gibbauzgame I don't think you can put elements of the template as part of the query. Do you have a pro account? If so, I'd recommend doing something like this via PowerCards or ScriptCards.
@@NickOlivo free account up to now, but thank you for your time!
How can I put a button to show the damage only if hit?? (Not automatic, I will click the button if hit)
I think this forum post will help with what you're looking to do - app.roll20.net/forum/post/9232346/attack-plus-damage-macro
@@NickOlivo TKS a lot
Hi Nick, for some reason the link you've posted doesn't take me too the page you're grabbing these template codes from, is the link no longer valid?
Hi Eric - that's weird. Here's the right link - wiki.roll20.net/D%26D_5E_by_Roll20/Roll_Templates I'll also update the video's description as well. Thanks for catching that, and happy gaming!
@@NickOlivo Thanks, that link worked
Nick, teach me your knowledge!
Hey Nick. Every time I think to myself, "I wonder if Roll20 can do that" you usually have the answer! I'm making a spiritual weapon for my Cleric and this is what I have so far:
&{template:atkdmg} {{mod=@{selected|spell_attack_bonus}}} {{rname=D'agusd}} {{r1=[[1d20+@{selected|spell_attack_bonus}]]}} {{always=1}} {{r2=[[1d20+@{selected|spell_attack_bonus}]]}} {{attack=1}} {{range=5 ft}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d8+@{selected|wisdom_mod}]]}} {{crit1=[[1d8]]}} {{desc=By Moradin's Hammer!!}} {{hldmg=[[?{Cast at what level?|Level 2,0|Level 3,0|Level 4,1|Level 5,1|Level 6,2|Level 7,2|Level 8,3|Level 9,3}d8]]}} {{spelllevel=spelllevel}} {{charname=D'agusd}}
The problem I'm hitting is that if I cast at level 2 or 3 everything is fine. At higher levels, if I crit it is only rolling the 1d8 rather than the 2d8 or 3d8 depending on what level it was cast at. I know that I have to make the calculation dependent on the choice made in the {{hldmg=}} section, but I'm not sure how to do that. Any thoughts?
Try changing your crit1 to this: {{crit1=[[[[1d8]]+[[?{Cast at what level?|Level 2,0|Level 3,0|Level 4,1|Level 5,1|Level 6,2|Level 7,2|Level 8,3|Level 9,3}d8]]]]}} I think that will make it do what you're looking for. Good luck, and happy gaming!