# Macro for rolling multiple dice, keeping several but not adding them

I'm trying to set up macros in roll 20 for a savage world game I am playing. We're not using the character sheets and such like in roll 20 so I am just trying to write general macros.

For basic trait tests I have the hang of it. What I am having problems with is trait tests where I am rolling multiple trait dice and a single wild dice. For example if I am making an improved frenzy roll I will roll my fighting twice and the wild dice once. I will then keep two of those rolls. In this particular case I am then adding two to the results.

Now roll 20 does have a "keep N" option so I can do something like the following:

/roll {d10!!, d10!!, d6!!}k2

The trouble with that is that it always adds the two that it kept so it will display something like:

5, 15, 3

= 20

This isn't a problem if I am rolling straight like this because I can just look at the first line, and see what the highest two are. Not perfect but workable.

However in the event that my trait is actually d10+2 then if I try to do the equivalent:

/roll {d10!!+2, d10!!+2, d6!!+2}k2

It will say:

(1)+2 + (6)+2 + (2)+2

= 12

This is obviously less useful since it doesn't actually add the +2 on until it does the total at the end and in fact I don't want that total. What I am looking for as output is:

8, 4

That is I want the +2 added to the individual rolls and the 2 kept rolls to be shown individually.

I can't actually see any way to do this in a single simple macro. The keep seems designed for assuming you are adding them up. I can see the individual rolls before they are added and do the maths myself but I am hoping there is an easier way to do this which will display just the information I want at the end.

So to be clear what I want is a way of rolling 2d12 and a d6, adding 2 to each result, keeping the best 2 and showing me those 2 totals separately (ie not added together).

• Must it be contained entirely in one macro? Or does a macro that calls other macros satisfy the requirement? – LegendaryDude Jan 9 '17 at 21:38
• @LegendaryDude What's your goal with a second macro? I don't see how that would solve it. So far my best idea is all the rolls bracketed and do the 'keep 2' mentally – Ifusaso Jan 9 '17 at 21:44
• @Ifusaso Macros allow you to call other macros. If more than one macro is acceptable it is possible to write several macros then call them from one place. Though I'm thinking you'll still have to drop the lowest manually since grouped rolls always sum up. There doesn't appear to be a way to do this as is... – LegendaryDude Jan 9 '17 at 22:05
• I'm guessing you want this for autofire or the bolt power. You may want to rethink dropping dice because if you roll a 1 on your shooting/arcane skill die, then you hit an innocent bystander or have backlash. Right now if you get an end result of 2, 1, then it's not clear if one of those is a wild die. This is especially bad in settings where you can have a hindrance that increases the Innocent Bystander range to 2. – Thunderforge Jan 10 '17 at 15:12
• @Thunderforge: That is an excellent point to keep in mind, thanks for the reminder. Seems to cement Ifusaso's answer as the best one. – Chris Jan 10 '17 at 20:06

My suggestion off the cuff:

[[d10!!+2]] [[d10!!+2]] [[d6!!+2]]


This will return 3 rolls, squished into little boxes, that you then pick the 2 largest of.

It sounds like you've been here but here is the Roll20 Savage Worlds Macro page. It has some more complex options, but I don't see anywhere referencing keeping two values of 3.

• I'm still looking into omitting one of the 3, but I'm not positive that Roll20's macro system is powerful enough. – Ifusaso Jan 9 '17 at 21:52
• The keep and keep hand functions don't seem to interact with the double bracket if they did however that would basically do what the OP wants. – Joshua Aslan Smith Jan 9 '17 at 22:19
• A custom template might be written to handle this. wiki.roll20.net/Roll_Templates#Built-In_Roll_Templates – Joshua Aslan Smith Jan 9 '17 at 22:21
• @JoshuaAslanSmith Yeah that's how far I got before having to step away. – Ifusaso Jan 10 '17 at 4:13
• @Chris yeah 90% of my rolls are bracketed now. It makes it so you can put it in line with emotes too "/me attacks with a rapier [[1d20cs>18+6]]" I'm going to check once more for a way to drop a value but I don't think you can do it with a code system that doesn't use variable declaration. – Ifusaso Jan 10 '17 at 13:18

There is a software which will do this for you easily. It has built in table and macro and scripting capability such that it is possible to duplicate any possible die mechanic of nearly any complexity. Free (feature limited version) with a very complete FAQ detailing how to use it.

Disclaimer: I use this software myself for all my die rolling needs.

• I can't see any mention of roll20 integration. Does this integrate or would this be an alternative to roll20? – Chris Jan 11 '17 at 22:12
• I rather missed the Roll20 part of the OP. Apologies if my answer is thereby less useful. The link is to a standalone software that surpasses every other die rolling app or software or site I've ever tried... and I've tried quite a few. I remember linking with my friends over the internet with this software for all our rolling needs. It even let us roll against dice buttons and tables from any connected user, even if you didn't have the button or table setup on your side. Super awesome. – nijineko Jan 11 '17 at 22:41
• Not a problem. I'm afraid the roll20 is a core part of the question and I tend to do all my RP face to face other than the few bits I do on roll20 so this probably isn't useful to me. Hopefully it will help somebody in the future though! :) – Chris Jan 11 '17 at 23:40