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

D&D 5E Monk Unarmed Strike using Cantrip Macro

Hi, so I really enjoy playing the Monk, and decided to use the Cantrip macro to help me adjust the dX damage for the unarmed strikes, without having to actually update it myself. 1d[[(round((@{level}+1)/6+0.5))+round((@{level}+1)/6+2.5)]] Is there a easier, or more efficient way to do this?
you may find this thread helpful for some monk things... <a href="https://app.roll20.net/forum/post/4271506/dandd-5e" rel="nofollow">https://app.roll20.net/forum/post/4271506/dandd-5e</a>... best use would be to create an unarmed strike weapon attack and place that code in the dmg and i think it would work&nbsp;
Yup that helped. Was unfamiliar with the floor portion of the macro, so that cleans it up more. 1d[[(round((@{level}+1)/6+0.5))+round((@{level}+1)/6+2.5)]] 1d[[4+2*floor((@{level}+1)/6)]]
something else that might help&nbsp; /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. Second Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. The first bit is the narrative, with my character describing what he does. The second bit is really cool. The ?{xxx|x} you see is actually a prompt action. It will pop up with the "xxx" asking you to input something, with the suggested value being the x after the bar. So, it will roll a 1d20, and ask me for my BaB (suggested 3, but I can change that to whatever I want). It subtracts 1 for Flurry of Blows. It then prompts me for my Dex mod, my weapon enhancement, and any Misc bonuses. It then displays this as the total, and tells the DM what AC I hit. Then, it will roll a 1d8 for damage, prompting my Str mod. It doesn't ask for my enhancement, because I've already done that. With just a few inputs, it will roll all of my attacks and damage dealt in a single macro.
1521861782

Edited 1521919609
lordmage said: something else that might help&nbsp; /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. Second Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. The first bit is the narrative, with my character describing what he does. The second bit is really cool. The ?{xxx|x} you see is actually a prompt action. It will pop up with the "xxx" asking you to input something, with the suggested value being the x after the bar. So, it will roll a 1d20, and ask me for my BaB (suggested 3, but I can change that to whatever I want). It subtracts 1 for Flurry of Blows. It then prompts me for my Dex mod, my weapon enhancement, and any Misc bonuses. It then displays this as the total, and tells the DM what AC I hit. Then, it will roll a 1d8 for damage, prompting my Str mod. It doesn't ask for my enhancement, because I've already done that. With just a few inputs, it will roll all of my attacks and damage dealt in a single macro. I would like to point out, you can clean this up a bit as well, by simply shortening the repeated queries after the first. as a result: this: /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. Second Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement|0}+?{Str Mod|1}]] damage. becomes: /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+?{BaB|3}-1+?{Dex Mod|3}+?{Enhancement|0}+?{Misc.|0}]] or lower, dealing [[1d8+?{Enhancement}+?{Str Mod|1}]] damage. Second Attack hits AC [[1d20+?{BaB}-1+?{Dex Mod}+?{Enhancement}+?{Misc.}]] or lower, dealing [[1d8+?{Enhancement}+?{Str Mod}]] damage. You can also make them a drop-down menu by adding more options /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+?{BaB|1|2|3|4|5}-1+?{Dex Mod|1|2|3|4|5}+?{Enhancement|0|1|2|3|4|5}+?{Misc.|0|1|2|3}]] or lower, dealing [[1d8+?{Enhancement}+?{Str Mod|1|2|3|4|5}]] damage. Second Attack hits AC [[1d20+?{BaB}-1+?{Dex Mod}+?{Enhancement}+?{Misc.}]] or lower, dealing [[1d8+?{Enhancement}+?{Str Mod}]] damage. cleaning up with the @selected| prefix: /me unleashes a flurry of blows, his fists and legs striking repeatedly in a single heartbeat First Attack hits AC [[1d20+[[?{BaB|1|2|3|4|5}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement|0|1|2|3|4|5}+?{Misc.|0|1|2|3}]] or lower, dealing [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]] damage. Second Attack hits AC [[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]] or lower, dealing [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]] damage. I even enclosed the Mods in the respective Brackets to clean up the Tooltip. I also noticed you weren't prepared in case it used a Negative Mod, such as Dex 8, or Str 8, both of which are -1 Mod [[1d20+?{BaB}-1+?{Dex Mod}+?{Enhancement}+?{Misc.}]] [[1d20+3-1+-1+0+0]] = Error "[[(1d20)+(3)-(1)+()-(1)+(0)+(0)]]" [[1d20+3-1+(-1)+0+0]] = "[[(1d20)+(3)-(1)+(-1)+(0)+(0)]]" [[1d20+[[3-1]]+(-1)+0+0]] = "[[(1d20)+(2)+(-1)+(0)+(0)]]" also, there's also the @{selected|finesse_mod} option in the community 5e sheet, not sure if there's a similar option on your sheets as demonstrated above, you can also clean up some of this math without inputs, such as (floor((@{selected|strength}-10)/2)) or simply @{selected|strength_mod}, although I should point out that the @{selected| prefix requires targeting a Token that is linked to a Character Sheet whilst you trigger it, so if you are trying to "cast" it whilst targeting a Mob, you will be using the Mob's stats. If this is not the correct variable for such stats, go to the Sheet where it lists the Stat, Right Click it, and Inspect Element, you should see something relating directly to it, probably with some kind of prefix, when debugging such things, it's usually wise to use "/talktomyself on" especially in a Plus GM Game, but infinitely so in a Pro GM game, as the Pro GM Game can access the API to auto-adjust attributes via Macro, and /talktomyself does not trigger API calls (nor is it logged in the chat history) You might think it looks a bit messy now, but once you fire it off, it looks much better, and you can probably cram this entire thing into a Template as well, like so: !?{Damage|Bludgeoning|Piercing|Slashing|Magical} ?{BaB|1|2|3|4|5} ?{Enhancement|0|1|2|3|4|5} ?{Misc.|0|1|2|3} /me unleashes a flurry of blows, multiple fists and legs striking repeatedly in a single heartbeat /w gm &{template:default} {{name=@{selected|token_name}'s First Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}} /w gm &{template:default} {{name=@{selected|token_name}'s Second Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}} try running that through your Macro as a Token Action, see if you like how it looks, let me know. That took me maybe 5 min to tweak into that format. Lots of copypasta. Edit1: Made Damage a ?{Variable} Edit2: Fixed ?[[{ to [[?{
Calling all of the Variables on the First line (which is hidden due to "!") also allows you to Cancel before it inputs that you are swinging.
1521867764

Edited 1521867932
vÍnce
Pro
Sheet Author
That's a cool trick Blue64.&nbsp; I made a small change with the inline roll bracket placement around ?{BaB} to get the macro to work for me. !?{Damage|Bludgeoning|Piercing|Slashing|Magical} ?{BaB|1|2|3|4|5} ?{Enhancement|0|1|2|3|4|5} ?{Misc.|0|1|2|3} /me unleashes a flurry of blows, multiple fists and legs striking repeatedly in a single heartbeat /w gm &{template:default} {{name=@{selected|token_name}'s First Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}} /w gm &{template:default} {{name=@{selected|token_name}'s Second Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}}
1521919318

Edited 1521919709
Vince said: That's a cool trick Blue64.&nbsp; I made a small change with the inline roll bracket placement around ?{BaB} to get the macro to work for me. !?{Damage|Bludgeoning|Piercing|Slashing|Magical} ?{BaB|1|2|3|4|5} ?{Enhancement|0|1|2|3|4|5} ?{Misc.|0|1|2|3} /me unleashes a flurry of blows, multiple fists and legs striking repeatedly in a single heartbeat /w gm &{template:default} {{name=@{selected|token_name}'s First Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}} /w gm &{template:default} {{name=@{selected|token_name}'s Second Attack}} {{To Hit=[[1d20+[[?{BaB}-1]]+([[(@{selected|dexterity_mod})]])+?{Enhancement}+?{Misc.}]]}} {{Damage=?{Damage}: [[1d8+?{Enhancement}+([[(@{selected|strength_mod})]])]]}} ('^.^) oops, I have that problem a lot. I keep forgetting to do [[?{ instead of ?[[{ because I do my editing in Notepad++ and have it highlighting the (){}[] but not the ?@#%&; (all of which are commonly used) I edited my Post to ensure that and @[[ & ?[[ became[[@ & [[? (I have a Script that I made using AutoHotKey specifically as a Copy/Paste Editor)
thanks for the suggest blue now just to swap out the @selected| for @charater| name instead and to have it use the sheet to determine the BaB and include all the appropriate mods but for now i'll see how this one works
I think, apart from @{character_name| you can also maybe use @{target|
1522002852
The Aaron
Pro
API Scripter
If you put that in an ability attached to a character, you can omit target/selected/character from the attribute reference and it will assume it is on the current character.&nbsp; @{strength_mod} @{dexterity_mod} etc
1522108335

Edited 1532640653
The Aaron said: If you put that in an ability attached to a character, you can omit target/selected/character from the attribute reference and it will assume it is on the current character.&nbsp; @{strength_mod} @{dexterity_mod} etc this has problems down the road when making the Macros multi-functional multi-purpose tools. I have been tinkering and I have found a valid option is @{target|selected|character_name} then every time you call it after the first, it knows which target to use the selected stats for (including attached Character Sheet), and of course it forgets the target once the Macro ends, this allows for quick succession Macros, such as when multiple enemies use their primary attack in a row, you can simply line em up &amp; knock em down, you're also capable of doing a Mix &amp; Match, so you can for example have a Token Action do @{selected|character_name} Bites @{target|character_name} although I've not yet tested what @{target|selected|character_name} will prioritize after that, still mapping out my compendium, lots of building to do, lots of planning needed. Note: using both target &amp; selected together is a bad idea. Future reference, this scales with Class Level, but here's Monk Unarmed Strike AutoMath in generic Player Level: [[1d[[((floor((@{level} +1) /6)) +1) *2]]]]