3
\$\begingroup\$

Greetings to my favourite D&D Roll20 Macronauts!

I am rather new to Roll20 and I could really use your assistance in building the following Roll20 macro with the Free Edition if possible:

I have a Bugbear Rogue with the Soulknife archetype.

These means I need to build a macro (or macros) that reflects having access to both the Sneak Attack as well as Surprise Attack which is a racial trait for the bugbear.

Sneak Attack: (Player's Handbook p. 96)

Beginning at 1st level, you know how to strike subtly and exploit a foe’s distraction. Once per turn, you can deal an extra 1d6 damage to one creature you hit with an attack if you have advantage on the attack roll. The attack must use a finesse or a ranged weapon.

Surprise Attack: (Monsters of the Multiverse p. 8)

If you hit a creature with an attack roll, the creature takes an extra 2d6 damage if it hasn’t taken a turn yet in the current combat.

To make things a wee bit more complicated, the character is a Soulknife archetype using Psychic Blades.

Psychic Blades: (Tasha's Cauldron of Everything p. 64):

You can manifest your psionic power as shimmering blades of psychic energy. Whenever you take the Attack action, you can manifest a psychic blade from your free hand and make the attack with that blade. This magic blade is a simple melee weapon with the finesse and thrown properties. It has a normal range of 60 feet and no long range, and on a hit, it deals psychic damage equal to 1d6 plus the ability modifier you used for the attack roll. The blade vanishes immediately after it hits or misses its target, and it leaves no mark on its target if it deals damage.

After you attack with the blade, you can make a melee or ranged weapon attack with a second psychic blade as a bonus action on the same turn, provided your other hand is free to create it. The damage die of this bonus attack is 1d4, instead of 1d6.

I realize there are many possible ways to approach this, but I found a super-simple and elegant approach in a YouTube video from a contributor named OneCritWonder that does address the sneak-attack aspect of my question, but not the surprise attack. Here is the Link.

Here is the coding he used in the Global Damage Modifier section:

?{Sneak Attack|No, 0|Yes, [[ ceil((@{base_level}) / 2) ]]d6 [Sneak Attack]}

So, in order to apply his (partial) solution to my situation, I created two basic weapon attack macros called "Psychic Blade 1" doing 1d6 + dex modifier damage as well as "Psychic Blade 2" doing 1d4 + dex modifier damage. Now, when I roll either one, I get a prompt asking if this is a "Sneak Attack" (Y/N) and I get the results in three simple blocks in the chat area: 1) The attack roll, 2) sneak attack damage, and 3) psychic damage. Here is an image:

Visual in Roll20

Here is my question and preferred approach: is there any way to modify the existing code from OneCritWonder so that I get a fourth block under the initial three that shows the Surprise Attack damage roll? I understand that it is unlikely that an attack situation will fulfill both conditions for a sneak attack as well as a surprise attack, but I believe it would be simplest to have each of these damages rolled at the same time, and then the DM can apply whichever damage is relevant.

If this approach is impossible, what would you propose as an alternative?

If you could please show the actual code proposed as a solution so that I could cut and paste it, that would be ideal and most appreciated!

\$\endgroup\$
1
  • \$\begingroup\$ Honestly, the easiest solution I've found is just to enable custom damage modifiers from the character sheet settings (for the "D&D 5e by Roll20" character sheet), then to add the rogue's Sneak Attack and the bugbear's Surprise Attack damage as separate modifiers there – you can check/uncheck them as needed before rolling the damage. \$\endgroup\$
    – V2Blast
    Sep 5, 2023 at 16:45

1 Answer 1

6
\$\begingroup\$

If you are the DM, go to Journal, open the player's Character Sheet, go to "Attributes and Abilities", click "+Add", hover over the row and click the pencil icon, then paste the below code in the bigger box. The smaller box is what the macro's name will be. Then check the "Show as Token Action" box to make the button appear when the player clicks on their token.

&{template:default} ?{Attack Type|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} ?{Sneak Attack|No,0|Yes,[[floor((@{level}+1)/2)]]} ?{Surprise Attack|No,0|Yes,2d6} ?{Psychic Blade Damage Die|1d6|1d4} {{name=@{character_name} Attacks With Psychic Blades!}} {{Attack Roll=[[?{Attack Type}+@{dexterity_mod}+@{pb}]]}} {{Psychic Damage=[[?{Psychic Blade Damage Die}+@{dexterity_mod}+?{Sneak Attack}d6+?{Surprise Attack}]]}}

I don't particularly see the usefulness in separating out the damage by source. That just forces you to do unnecessary addition when the computer could do it for you. If they were different types, that would make sense, but this is all psychic damage.

Automatically Calculate Critical Hit Damage

To have a version automatically calculate the additional damage from a critical hit, you're stuck with just always presenting it. The free version of roll20 does not support variables, which is what you would need to use in order to conditionally display the additional critical hit damage.

&{template:default} ?{Attack Type|Standard,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} ?{Sneak Attack|No,0|Yes,[[floor((@{level}+1)/2)]]} ?{Surprise Attack|No,0|Yes,2d6} ?{Psychic Blade Damage Die|1d6|1d4} {{name=@{character_name} Attacks With Psychic Blades!}} {{Attack Roll=[[?{Attack Type}+@{dexterity_mod}+@{pb}]]}} {{Psychic Damage=[[?{Psychic Blade Damage Die}+@{dexterity_mod}+?{Sneak Attack}d6+?{Surprise Attack}]]}} {{Additional Damage If Crit=[[?{Psychic Blade Damage Die}+?{Sneak Attack}d6+?{Surprise Attack}]]}}
\$\endgroup\$
7
  • \$\begingroup\$ Thanks for taking the time to provide a solution! Since I am new to Roll20, could you please provide specifics on how and where to add this line of code? \$\endgroup\$
    – Maadiah
    Sep 4, 2023 at 12:52
  • \$\begingroup\$ The answer to that will depend on if you are the DM or the player. If you're the DM, go to Journal, open the player's Character Sheet, go to Attributes and Abilities, click +Add, hover over the row and click the pencil icon, then paste this code in the bigger box. The smaller box is what the macro's name will be. Then check the "Show as Token Action" box to make the button appear when the player clicks on their token. \$\endgroup\$ Sep 4, 2023 at 15:03
  • 1
    \$\begingroup\$ Thanks for the additional instructions! One thing that I believe may be missing in your coding is the proficiency modifier. Since Psychic Blades qualify as a "simple melee weapon" and I'm a rogue, this also needs to be added to the attack bonus. \$\endgroup\$
    – Maadiah
    Sep 4, 2023 at 20:06
  • 1
    \$\begingroup\$ Good catch! Fixed \$\endgroup\$ Sep 4, 2023 at 21:27
  • 1
    \$\begingroup\$ Thou Rocketh! Thanks C.A. !! \$\endgroup\$
    – Maadiah
    Sep 5, 2023 at 20:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .