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

Operation limit?

My attack macro randomly breaks about halfway through it's rolls and outputs results of partial calculations... it's not a case of the calculation having a bad operator though... Like it will roll all the to-hit attempts and calculate them fully, then it will start on the damage rolls and calculate half of them them fully and then output a partial calculation on the remainder of the rolls... it gets to my crit-on numbers where it runs my to-hit calculation with as static number at the start rather than a d20 and again outputs partial calculations... actually it's better to just show the result: and if I remove my variable bonuses: the fact that it breaks in the middle of the damage rolls though tells me that it's not an issue with the calculations... but rather that I might be hitting some sort of operation limit with my macro... does any such limit exist?
1414506510

Edited 1414506611
The Aaron
Roll20 Production Team
API Scripter
I'm not familiar with they system you are using, how can you tell that it is "broken"? Is it the stream of 95s? I don't know about limits, but if you post your macro, I'd be happy to try it and see if I get the same sort of results.
1414533861

Edited 1414538118
The string of 95s along with the 90/89/91 at the end of the damage section are how I know that it is "broken". The second image shows the result without including any of the variable modifiers which gives us a base-line for what the numbers on the macro with the modifiers should look like... the fact that the numbers cut off and drop far below the base-line shows that the calculations aren't completing. /em flurries with her @{weapon1name} s hitting touch AC [[d20 + @{weapon1attack} -2]]/[[d20 + @{weapon1attack} -2]]/[[d20 + @{weapon1attack} -7]]/[[d20 + @{weapon1attack} -12]]/[[d20 + @{weapon1attack} -17]] [[d20 + @{weapon1attack} -2]]/[[d20 + @{weapon1attack} -2]]/[[d20 + @{weapon1attack} -7]]/[[d20 + @{weapon1attack} -12]]/[[d20 + @{weapon1attack} -17]] dealing [[ @{weapon1damage} ]]/[[ @{weapon1damage} ]]/[[ @{weapon1damage} ]]/[[ @{weapon1damage} ]]/[[ @{weapon1damage} ]] [[ @{weapon1damage} ]]/[[ @{weapon1damage} - @{half-wis} ]]/[[ @{weapon1damage} - @{half-wis} ]]/[[ @{weapon1damage} - @{half-wis} ]]/[[ @{weapon1damage} - @{half-wis} ]] (crits on [[d0 + @{weapon1critmin} + @{weapon1attack} -2]]/[[d0 + @{weapon1critmin} + @{weapon1attack} -2]]/[[d0 + @{weapon1critmin} + @{weapon1attack} -7]]/[[d0 + @{weapon1critmin} + @{weapon1attack} -12]]/[[d0 + @{weapon1critmin} + @{weapon1attack} -17]] or better for x @{weapon1critmult} damage and temporary power points) @{weapon1attack} @{bab} [BAB] + @{weapon1stat} [Ability] + @{size} [Size] + @{weapon1enh} [Weapon Enh] + @{weapon1focus} [Weapon Focus] + ?{Flank (1=yes)|0} *2[Flank] - ?{Power Attack?|0}[ Pwr Attk] +25[Paragon] + @{divine} [Deity] + @{wis-mod} [No Thought] +2[Mastery] + ?{metaphysical?|1} *(1+floor( @{domainlevel} /4)- @{weapon1enh} +13)[Metaphysical Weapon] + ?{haste? (1=true)|1} *14[Haste] + ?{aura? (1=true)|1} *17[Spirit of War] + ?{misc atk|0} [Misc] @{weapon1damage} 2d4[Scythe] +d4[Claw] +d6[Beast Claws] +2d10[UAS] + @{weapon1damagestat} [Ability] + @{weapon1enh} [Weapon Enh] + @{weapon1specialize} [Weapon Specialization] + ?{Power Attack?|0} [Pwr Attk] +20[Paragon] + @{wis-mod} [No Thought] +2[Mastery] +5[Collision] +d4[Psychokinetic] + ?{metaphysical?|1} *(1+floor( @{domainlevel} /4)- @{weapon1enh} +13)[Metaphysical Weapon] + ?{prescience? (1=true)|1} *(2+floor( @{domainlevel} /3)+13-( ?{metaphysical?|1} *13))[Prescience] + ?{aura? (1=true)|1} *17[Spirit of War] + ?{misc dmg|0} [Misc] @{half-wis} = floor( @{wis-mod} /2) @{domainlevel} = (10+ @{divine} +15) @{divine} = 16 all other attributes are stored numeric values on the D&D 3.5 character sheet The bolded sections are the variable modifiers that I added before the macro broke. I figure it's exceeding an operation limit because I like to reduce my total number of macros as much as possible by including all modifiers to a particular roll as variables in the appropriate macros... so it's quite possible that I did overload some sort of limit...
That is one fat macro dude, what system is this for, and does anybody but you and Stephen Hawking understand it?
1414539677
Gauss
Forum Champion
Chell , please send me a join link so I can take a look.
It's for D&D 3.5 with a psionic character... my DM told me to have a macro for buffed & unbuffed since there will be times where my buffs may be denied... it's actually a fairly simple macro... in my opinion at least... the first part is the main macro, the one actually rolled for the attack, 3 simple sections to it... 1st section attack rolls [[d20 +attack bonus -penalty]] for as many attacks as I get per round this being a two-weapon fighting flurry of blows results in 10 attacks total so it rolls 10 times applying the correct penalties to each attack. This section rolls the contents of the @{weapon1attack} attribute to determine the bonus to the attacks. 2nd section damage rolls [[damage]] rolls the contents of the @{weapon1damage} attribute and for the 4 off-hand attacks subtracts 1/2 of my strength score... the macro says wisdom atm but it's suppose to be strength... 3rd section critical hits rolls a d0 to highlight the section as crits and adds [[crit-on +attack bonus -penalty]] the parts that were bolded are bonuses from various buffs, inputting a 1 says the buff is in effect, inputting a 0 says it's not in effect... simple boolean math... some buffs have static bonuses others have variable bonuses...
I'm not the DM of the campaign its on, but I'll copy it over to my testing grounds and send you a link in a bit, I've got to go run a quick errand first.
It may be noteworthy that the maximum possible size at any point in macro substitution for the version without the bolded stuff falls below 8k, whereas there are orderings for macro substitution which yield intermediate steps which are larger than 8k if the bolded stuff is included.
Ok, I'm back from my errand and I've sent the Join link
1414596344

Edited 1414596370
So I've looked a little closer and found that when it breaks it stops the calculations after @{weapon1attack} @{bab} [BAB] + @{weapon1stat} [Ability] + @{size} [Size] + @{weapon1enh} [Weapon Enh] + @{weapon1focus} [Weapon Focus] @{weapon1damage} 2d4[Scythe] +d4[Claw] +d6[Beast Claws] +2d10[UAS] + @{weapon1damagestat} [Ability] + @{weapon1enh} [Weapon Enh] + @{weapon1specialize} [Weapon Specialization] basically as soon as it encounters a variable modifier... infact if I move all static modifiers in-front of the first variable modifier it adds them properly and then breaks again at the variables...