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

Super Noob Rogue Needs Sneak Attack Macros Help

Hey all.&nbsp; New player here.&nbsp; I've watched and read macros vids and tutorials for a three days now.&nbsp; For the sneak attack, I tried following the advice of a recent video, "Sneak Attack Button" (<a href="https://www.youtube.com/watch?v=HNQpNa6fjTY" rel="nofollow">https://www.youtube.com/watch?v=HNQpNa6fjTY</a>), but it didn't work.&nbsp; I already dragged my rogue's rapier to the macro quick bar for regular attacks so my question is, "do I need a separate rapier entry with the sneak attack on it for when I exercise the SA option?&nbsp; Also, is the does the SA macro need to be in the Abilities and Attributes section, or can it be under the macros header?&nbsp; Any templates I can copy and paste?&nbsp; Thanks!
1537401976
Spren
Sheet Author
Try a quick search of this forum and you'll see a bunch of different ways to handle Sneak Attack. I think this thread is pretty good and is along the lines of what I might do: <a href="https://app.roll20.net/forum/post/4369464/slug%7D" rel="nofollow">https://app.roll20.net/forum/post/4369464/slug%7D</a>
I just use a macro on it's own as I decide when I want to use Sneak Attack. This macro asks if the attack was a Critical before producing the results. You'll need to change the name of the character to your character's. This just uses the 5e OGL Rollable Template and prints the results. You will have to update the 1d6 to 2d6 at the required levels, I didn't bother building in that level of intelligence. @{ Your Character's Name |wtype}&amp;{template:atkdmg} {{rname=Sneak Attack}} {{damage=1}} {{dmg1flag=1}} {{dmg1type=Piercing}} {{dmg1=[[1d6]] ?{Critical Strike|Yes, + [[1d6[CRIT]]]&amp;#125;&amp;#125;|No,&amp;#125;&amp;#125;}
1537449137

Edited 1537450480
Spren &nbsp;said: Try a quick search of this forum and you'll see a bunch of different ways to handle Sneak Attack. I think this thread is pretty good and is along the lines of what I might do:&nbsp; <a href="https://app.roll20.net/forum/post/4369464/slug%7D" rel="nofollow">https://app.roll20.net/forum/post/4369464/slug%7D</a> I spent some time messing with the mentioned post. I actually much rather prefer that method of including a query right in the damage field. It's much more elegant, and works great for Versatile Weapons too! On a side note, I tried including a query for the damage type, and got some strange results. So I am using these two queries. Damage: &nbsp;1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{base_level}) / 2) ]]d6}[Sneak Attack] Type: ?{Sneak Attack|No, Piercing|Yes, Piercing + Sneak Attack} However, when I do this, it prints the dice output from the damage query in the type field. Any ideas why this might be happening? I can't help but feel like this is a bug. When I look at the called code, it should work properly. @{Diego|wtype}&amp;{template:atkdmg} {{mod=+5}} {{rname=Rapier}} {{r1=[[@{Diego|d20}cs&gt;20 + 3[DEX] + 2[PROF]]]}} @{Diego|rtype}cs&gt;20 + 3[DEX] + 2[PROF]]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{Diego|base_level}) / 2) ]]d6}[Sneak Attack] + 3[DEX]]]}} {{dmg1type=?{Sneak Attack|No,Piercing|Yes,Piercing + Sneak Attack} }} 0 {{dmg2=[[0]]}} {{dmg2type=}} {{crit1=[[1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{Diego|base_level}) / 2) ]]d6}[Sneak Attack][CRIT]]]}} {{crit2=[[0[CRIT]]]}} 0 {{desc=}}&nbsp; &nbsp;{{spelllevel=}} {{innate=}} {{globalattack=@{Diego|global_attack_mod}}} {{globaldamage=[[0]]}} {{globaldamagecrit=[[0]]}} {{globaldamagetype=@{Diego|global_damage_mod_type}}} ammo= @{Diego|charname_output}
It's really a bummer the Initiative Modifier doesn't parse the modifier at Runtime to leverage this by the way. There was a question just the other day how to handle unique bonuses that come up from magical items that are on and off with regularity. This would have been very helpful for that example.
Jeremy said: On a side note, I tried including a query for the damage type, and got some strange results. So I am using these two queries. Damage: &nbsp;1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{base_level}) / 2) ]]d6}[Sneak Attack] Type: ?{Sneak Attack|No, Piercing|Yes, Piercing + Sneak Attack} However, when I do this, it prints the dice output from the damage query in the type field. Any ideas why this might be happening? I can't help but feel like this is a bug. When I look at the called code, it should work properly. @{Diego|wtype}&amp;{template:atkdmg} {{mod=+5}} {{rname=Rapier}} {{r1=[[@{Diego|d20}cs&gt;20 + 3[DEX] + 2[PROF]]]}} @{Diego|rtype}cs&gt;20 + 3[DEX] + 2[PROF]]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{Diego|base_level}) / 2) ]]d6}[Sneak Attack] + 3[DEX]]]}} {{dmg1type=?{Sneak Attack|No,Piercing|Yes,Piercing + Sneak Attack} }} 0 {{dmg2=[[0]]}} {{dmg2type=}} {{crit1=[[1d8 + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{Diego|base_level}) / 2) ]]d6}[Sneak Attack][CRIT]]]}} {{crit2=[[0[CRIT]]]}} 0 {{desc=}}&nbsp; &nbsp;{{spelllevel=}} {{innate=}} {{globalattack=@{Diego|global_attack_mod}}} {{globaldamage=[[0]]}} {{globaldamagecrit=[[0]]}} {{globaldamagetype=@{Diego|global_damage_mod_type}}} ammo= @{Diego|charname_output} This is because you cannot reuse a query and expect a different result. Once you answer a query, any other queries of the same name are replaced with the same answer. So when this macro gets to the damage type section, rather than it re-asking the query, it finds 2d6. If you want to have the damage field display you will need to either change the name of its query (thus making you select Sneak Attack twice), or add the damagetype tag and crit1 tag into the query. @{Diego|wtype}&amp;{template:atkdmg} {{mod=+5}} {{rname=Rapier}} {{r1=[[@{Diego|d20}cs&gt;20 + 3[DEX] + 2[PROF]]]}} @{Diego|rtype}cs&gt;20 + 3[DEX] + 2[PROF]]]}} {{attack=1}} {{range=}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[1d8 + 3[Dex] + ?{Sneak Attack |No, 0[Sneak Attack] ]]&amp;#125;&amp;#125; {{dmg1type=Piercing&amp;#125;&amp;#125; {{crit1=[[1d8 + 0[Sneak Attack] |Yes, [[ ceil((@{Diego|base_level}) / 2) ]]d6[Sneak Attack] ]]&amp;#125;&amp;#125; {{dmg1type=Piercing + Sneak Attack&amp;#125;&amp;#125; {{crit1=[[1d8 + [[ ceil((@{Diego|base_level}) / 2) ]]d6[Sneak Attack] } ]]}} 0 {{dmg2=[[0]]}} {{dmg2type=}} {{crit2=[[0[CRIT]]]}} 0 {{desc=}}&nbsp;{{spelllevel=}} {{innate=}} {{globalattack=@{Diego|global_attack_mod}}} {{globaldamage=[[0]]}} {{globaldamagecrit=[[0]]}} {{globaldamagetype=@{Diego|global_damage_mod_type}}} ammo= @{Diego|charname_output}
Started noticing that with some other testing. Kind of a bummer that's how they work. Out of Votes for new suggestions, but that could be useful in many other macro cases.
Guys, I'm sorry, but I just got more confused.&nbsp; I attempted pasting the code into the damage type field as suggested in the provided link to an earlier thread on Sneak Attack, but I got number in boxes with no defining text and I didn't know what I was looking at.&nbsp; Help me understand what it is I think that I want... So, my rogue has a rapier, and, I can either attack with it, or, if circumstances permit, sneak attack with it.&nbsp; When I hover over and click the rapier on my sheet, it rolls for initiative.&nbsp; I don't know how to get it to roll damage so I created a macro in the macro tab to do this (also have an initiative macro there).&nbsp; Now, the only way I can muse on it (being a noob) is that I'd have to create a whole nother Rapier Sneak Attack damage macro to click when I wish to perform sneak attack.&nbsp; With the options given in the thread and in the link, I don't quite understand what it's telling me I'm supposed to do.&nbsp; Sorry for being so green!&nbsp; p.s.&nbsp; Also, what I really want out of Roll20, and what I like with my little initiative and attack macros I already have is the addition of colorful text associated with the action I'm rolling on.&nbsp; For a sneak attack, I'd love it if such a text type was associated with it even if it was as simple as, "Sneak Attack!".&nbsp; Anyway, thanks for taking time to help me out!
1537578616

Edited 1537578655
Spren
Sheet Author
So if you hover over the rapier and click it you will get an attack in the chat window. You shouldn't be getting initiative, if you are something is weird. But if you ARE getting the attack, then to roll damage you just click the name of the attack in the chat window where it popped up. In your case it would be the word "Rapier". On the click that gives you damage there is either 1 or 2 numbers. Typically it's just 1 number, but it can be 2. What we've been suggesting so far is that you make that second number in to your sneak attack damage and apply it or not as necessary. But what will happen is that it will always roll that sneak attack damage. So the thread I originally linked had a fancy solution where it would ASK if sneak attack applied and then you would say yes or no. That totally isn't necessary though. As for extra text, there should be a description box below all the damage stuff. You can add all kinds of things there including cool text and extra rolls and things if you need.
1537620059

Edited 1537620558
I'm going to go through this step by step. First, start by opening the weapon you would like to a Sneak Attack Query to (in my case, it was all of them). To do this, hover over the the weapon name under Attacks &amp; Spell Casting. This will cause a cog to appear. Click on this cog. Find the Damage 1 field. Here is where we will add the query for Sneak Attack. Using the current weapon damage value add the following. &nbsp;+ ?{Sneak Attack|No, 0|Yes, [[ ceil((@{base_level}) / 2) ]]d6}[Sneak Attack] So in the case of a Rapier that does 1d8 damage, the text entered into this field would be 1d8 +&nbsp; &nbsp; + ?{Sneak Attack|No, 0|Yes, [[ ceil((@{base_level}) / 2) ]]d6}[Sneak Attack] The posts above talk about type for something else I was trying to do. They have nothing to do with adding the damage value. Just change the damage value in this case. Finally, depending on how your damage is output, either automatically or not, you may have to choose when to query the attack. Personally, I have mine set to don't auto roll damage (because I would hate to see what could have been). When I click the Rapier attack now, it just shows the attack roll. I need to click the name of the attack to actually get the query for Sneak Attack (Sneak Attack is additional damage that is made when you HIT, so this works well here). Once I click the name of the attack, I will be asked to choose if it was a Sneak Attack. Once I choose yes, you can see that the damage output now includes this value. If instead you choose the option to auto roll damage above. The process is similar, except, as soon as you click your Rapier Attack you are asked if it's a Sneak Attack without knowing if it was a hit or not. This will automatically output to chat with the attack roll and damage. And finally, in both cases, you can choose no when asked if it was a Sneak Attack and it will roll damage as normal.
1537626288

Edited 1537627372
Thank you thank you thank you Spren and Jeremy!&nbsp; This is awesome.&nbsp; Spren, I added text in the description box so thanks, and Jeremy, your noob-friendly play by play was just what I needed.&nbsp; Spren, yes indeed, I was rolling attack and not initiative as I stated.&nbsp; That's how noob I am right now, but quickly getting better.&nbsp; My final questions are these:&nbsp;&nbsp; I have it set up correctly now with, "Don't autoroll damage" selected and descriptive text accompanying the attack roll.&nbsp;&nbsp; Is there any way to have a second descriptive text appear with my damage roll if my attack roll is a hit?&nbsp; I love these types of embellishments.&nbsp; Also, how would I edit the text to always roll sneak attack damage?&nbsp; Would I just add + 1d6 after the 1d8 in the damage field or would I put it in the damage 2 field and label it sneak attack?&nbsp; Thanks again for your concise replies!
1537668315

Edited 1537668486
Spren
Sheet Author
There isn't really a way to have text appear automatically on a hit using the basic features of the site. Most DMs would like you to roll and then they tell you whether it's a hit or not. With a pro level subscription you could add an api script to your game that could do something like auto emote some text but I don't know of one offhand that does what you're asking. Note that if you aren't the creator of the game then the creator of the game would need the Pro subscription and would need to add the script. Either of your two choices for the second thing would work. I personally prefer adding it to the damage2 field, but making the damage1 field 1d8+1d6 works just as well.