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

Hi, I'm trying to make a macro for dnd 3.5 performance gold per day for Leadership followers, and it is proving very difficult

As said in the Title, I am not even sure where exactly to start, but let's start with how Performance gold per day is calculated. You roll a d20 and add any modifiers and check to see where you fall on the table for money per day. The biggest problem is that the money per day spans from copper to gold and also changes anywhere from 3d10 coins to 3d6 coins. Perform  DC Performance 10 Routine performance. Trying to earn money by playing in public is essentially begging. You can earn 1d10 cp/day. 15 Enjoyable performance. In a prosperous city, you can earn 1d10 sp/day. 20 Great performance. In a prosperous city, you can earn 3d10 sp/day . In time, you may be invited to join a professional troupe and may develop a regional reputation. 25 Memorable performance. In a prosperous city, you can earn 1d6 gp/day . In time, you may come to the attention of noble patrons and develop a national reputation. 30 Extraordinary performance. In a prosperous city, you can earn 3d6 gp/day . In time, you may draw attention from distant potential patrons, or even from extraplanar beings. Now, If I only had to roll a single check at a time, I would be fine with just rolling, checking the table, and then rolling the individual coin values. But I am not. I am currently in possession of the Leadership feat and so I have to do this for over 60 checks at a single time. Per day the followers are able to do a performance which is most days in game. Now, I could just go with taking a 10 as an average for a static number to fall back on, but I really don't want to do that given it would actually lose me a significant amount of money. Especially since the followers have the ability to reroll performance checks for making money once a day and having to keep the next number rolled (This is easily done with the Roll once command added to the end, /roll60d20ro<10). This is the main thing I want to get as the only way to get the bonus from this ability reliably is to roll all the individual dice which would take freaking forever without a macro.  So that is where I stand, needing to roll 60 skill checks, with each of the resultant values then contributing to one of 5 different dice pools (Or maybe 3 if there was a way to separate it by coin value). I am in very much need of help and any advice that can be given would be appreciated.
Trevor - I'm trying to digest this but my first thought would be to convert all the monetary values to copper pieces to at least eliminate that complexity.
Yeah, that would certainly make it way easier. So just a simple x10 for the silver and x100 for the gold values at the end would work.
I think to do what you're looking for the way you want it to work would require API, which is a Pro level feature.  If you were doing this once or even a few times you could probably create a table for each performance type (routine, enjoyable, great, etc.) and have a macro call a random value in the appropriate table based upon the skill check, but you'd have to roll it again and again.  To me, more than say 5 or 6 rolls would get cumbersome/tedious.  I don't think I can offer a solution for you, but hopefully someone more versed in these things can chime in.   
An API? I'm not too familiar with that honestly
1663728039

Edited 1663728075
Gauss
Forum Champion
I think there may be a couple of options to get this to work as a macro rather than API, but I'll have to look at it tomorrow.  No promises though, right now there are just several lines of inquiry I can pursue. 
I would very much appreciate it, ty
1663736065

Edited 1663736411
Gauss
Forum Champion
Well, sorry to get your hopes up, I decided to try working on it tonight but ran into several dead ends. Maybe RainbowEncoder will have some magic here, but I don't think so. (Then again, he has proved us wrong multiple times.) In the meantime, I suggest the following:  /r 60d20ro<10sa This will sort your dice rolls so it at least makes it easier to visually categorize them. I hope all your performers have the same modifiers or that won't work either.  Actually, one question, what are the modifiers of your performers? Are they the same? Different? Can you group them up?  I think I might have a very brute force method using a repeating table roll, but it won't be fun for you to build the 30+ tables required for it.
I was able to create something to handle this. It creates the following output The number of performers and the modifier to use are set via queries. Here are the two abilities to add to your character sheet %{leadership_performances} - This is the one you'll use to roll &{template:default} {{Performances Bonus of=[[?{Performers|60}]] [[?{Mod|0}]]}} {{Meet the Routine DC=$[[2.computed]]}} {{Meet the Enjoyable DC=$[[8.computed]]}} {{Meet the Great DC=$[[10.computed]]}} {{Meet the Memorable DC=$[[12.computed]]}} {{Meet the Extraordinary DC=$[[14.computed]]}} {{[**Show performance summary**](!
%{@{character_name}|calculate_leadership_earnings} [[ [[ [[{21-ceil([[ [[{21-ceil([[ [[{21-ceil([[ [[{21-ceil([[ [[{?{Performers}d20ro<10cs0cf0+?{Mod}}>10]] ]]d[[3*{0,11+?{Mod},20}k2dh1]]r31r32r34r35r37r38r40r41r43r44r46r47r49r50r52r53r55r56r58r59cs61cf61/3)+?{Mod}}>15]] ]]d[[3*{0,6+?{Mod},20}k2dh1]]r31r32r34r35r37r38r40r41r43r44r46r47r49r50r52r53r55r56r58r59cs61cf61/3)+?{Mod}}>20]] ]]d[[3*{0,1+?{Mod},20}k2dh1]]r31r32r34r35r37r38r40r41r43r44r46r47r49r50r52r53r55r56r58r59cs61cf61/3)+?{Mod}}>25]] ]]d[[3*{0,?{Mod}-4,20}k2dh1]]r31r32r34r35r37r38r40r41r43r44r46r47r49r50r52r53r55r56r58r59cs61cf61/3)+?{Mod}}>30]] ]] ]] [[ $[[13]]-$[[15]] ]] [[ $[[11]]-$[[13]] ]] [[ $[[9]]-$[[11]] ]] [[ $[[7]]-$[[9]] ]])}} %{calculate_leadership_earnings} - This is called by clicking a button from the first macro; not to be used directly &{template:default} {{$[[9.computed]] Routine Performances=$[[14.computed]] cp}} {{$[[8.computed]] Enjoyable Performances=$[[13.computed]] sp}} {{$[[7.computed]] Great Performances=$[[12.computed]] sp}} {{$[[6.computed]] Memorable Performances=$[[11.computed]] gp}} {{$[[5.computed]] Extraordinary Performances=$[[10.computed]] gp}} [[0]][[0]][[0]][[0]][[0]] {{Total Earned=[[ [[(3*$[[5]])d6]]00 + [[$[[6]]d6]]00 + [[(3*$[[7]])d10]]0 + [[$[[8]]d10]]0 + [[$[[9]]d10]] ]] cp}} [[[ How it works is by checking how many rolls hit the first DC; then using a confirmation roll to check how many of those hit the next DC until all DCs have been checked. The ro<10 and the variable modifier definitely added some spice. On the bright-side I now have a greater understanding of how single sub-roll group rolls with target numbers work.
1663770398
Gauss
Forum Champion
And there is RainbowEncoder working their magic. 
Damn that is very impressive, ty so much. Glad it also helped you out.
And in response Gauss, it was a big group of 60 with a single modifier. Currently sitting at a +15
Though I am curious now if it is possible to have multiple groups with different modifiers.