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 3.5e] Character Sheet- Initiative Macro bug and Attack Roll Template bug

Good morning and well met, Roll20 Team (and volunteers who aid in the effort), (Sorry for the wall of text, but I wanted to give your team the gory details so you everything you need to solve the problems I've found.) First of all, I'd like to thank the Roll20 Team. You do yeoman's work for the roleplaying community, and it is a great help to me and my players. I DM a game called Bloodstone Lands Divided and I think I've found two bugs in the D&D 3.5 character sheet. I have a work around for the first one. The second one I need your assistance with. For the initiative macro field, it appears twice on the Attributes and Abilities sheet, making any changes to that macro on the Character Sheet revert to its previous value whenever I change it there. My work around is to delete the duplicate attribute on the Attributes page, and then the macro box on the Character sheet works properly. It is annoying though. Further, two macro buttons for Initiative appear as token actions for all tokens (one capitalized, my macro, and the second lowercase, a weird duplicate macro). It might do us all well if this minor bug is fixed. A second bug I found is with the Attack Roll Template. It looks like the none of attributes for Attack #8, Attack #9, and Attack #10 (attack8, critconfirm8, damage8, critdmg8, etc.) will accept input from Roll Queries. When these attributes encounter a Roll Query in the macro script, the calculation stops and it produces the value of everything before the Roll Query. When my PC's ran into a carrion crawler (which has 9 attacks) I wrote the scripts for, I noticed the problem. To illustrate my point, here are the macro scripts I wrote for a carrion crawler: weapon1fullattackmacro : &{template:DnD35Attack} {{npcflag=true}} {{fullattackflag=[[1d1]]}} {{name=@{character_name} }} {{subtags=attacks **@{target|Target|token_name}**}} {{attack1=@{character_name}’s first @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm1=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{fumbleroll=**-10**, and [[1t[Fumble-roll]]] against AC more than [[@{weapon1attackcalc}]] (**-5.05** for @{weapon2name} attacks)}} {{damage1= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg1=+[[@{weapon1crit}]] critical damage}} {{attack2=@{character_name}’s second @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm2=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage2= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg2=+[[@{weapon1crit}]] critical damage}} {{attack3=@{character_name}’s third @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm3=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage3= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg3=+[[@{weapon1crit}]] critical damage}}{{attack4=@{character_name}’s fourth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm4=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage4= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg4=+[[@{weapon1crit}]] critical damage}}{{attack5=@{character_name}’s fifth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm5=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage5= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg5=+[[@{weapon1crit}]] critical damage}}{{attack6=@{character_name}’s sixth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm6=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage6= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg6=+[[@{weapon1crit}]] critical damage}}{{attack7=@{character_name}’s seventh @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm7=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage7= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg7=+[[@{weapon1crit}]] critical damage}}{{attack8=@{character_name}’s eighth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm8=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage8= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg8=+[[@{weapon1crit}]] critical damage}} {{attack9=@{character_name}’s @{weapon2name} attack hits AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]]}} {{critconfirm9=**+10**, and deals critical damage against AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]] or less}} {{damage9= for [[@{weapon2damage}-ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] damage}} {{critdmg9=+[[@{weapon2crit}-(@{weapon2critmult}-1)*ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] critical damage}} weapon1attackcalc : 1d20cs>@{weapon1critmin} +@{bab}[BAB] +@{epicattackbonus}[Epic AB] +[[@{weapon1stat}]][Ability] +@{size}[size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] +2*?{Charging? (1=yes)|0} [Charge]+ 2*?{Flanking? (1=yes)|0} [Flank] + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0} [Circumstance] + ((@{bab} +@{epicattackbonus} +[[@{weapon1stat}]] +@{size} +@{weapon1enh} +@{weapon1focus} +2*?{Charging? (1=yes)|0} + 2*?{Flanking? (1=yes)|0} + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0})/100) weapon1damage : 0+@{weapon1damagestat}[Weapon Dmg Ability] +@{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Specialization] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance] weapon1crit : [[(@{weapon1critmult}-1)*0)]] +(@{weapon1critmult}-1)*(@{weapon1damagestat}[Weapon Dmg Ability] + @{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Spec] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance]) weapon1specialproperties : Poison on hit The values for weapon2attackcalc, weapon2damage, and weapon2crit are exactly the same except the damage macro uses a 1d4. If you test these, you will see what I mean. Can you assist me with these issues? Your help is greatly appreciated.
1453826624
Diana P
Pro
Sheet Author
Keith Rishel said: Good morning and well met, Roll20 Team (and volunteers who aid in the effort), (Sorry for the wall of text, but I wanted to give your team the gory details so you everything you need to solve the problems I've found.) First of all, I'd like to thank the Roll20 Team. You do yeoman's work for the roleplaying community, and it is a great help to me and my players. I DM a game called Bloodstone Lands Divided and I think I've found two bugs in the D&D 3.5 character sheet. I have a work around for the first one. The second one I need your assistance with. For the initiative macro field, it appears twice on the Attributes and Abilities sheet, making any changes to that macro on the Character Sheet revert to its previous value whenever I change it there. My work around is to delete the duplicate attribute on the Attributes page, and then the macro box on the Character sheet works properly. It is annoying though. Further, two macro buttons for Initiative appear as token actions for all tokens (one capitalized, my macro, and the second lowercase, a weird duplicate macro). It might do us all well if this minor bug is fixed. A second bug I found is with the Attack Roll Template. It looks like the none of attributes for Attack #8, Attack #9, and Attack #10 (attack8, critconfirm8, damage8, critdmg8, etc.) will accept input from Roll Queries. When these attributes encounter a Roll Query in the macro script, the calculation stops and it produces the value of everything before the Roll Query. When my PC's ran into a carrion crawler (which has 9 attacks) I wrote the scripts for, I noticed the problem. To illustrate my point, here are the macro scripts I wrote for a carrion crawler: The duplicated Attributes is a known Roll20 bug.&nbsp; It appears to occur more often if multiple people are editing the sheet at the same time, but I do not know if they have a root cause yet.&nbsp; They are looking into it, but the current work around is to delete the duplicated attribute(s). The initiative token action with the lower-case "i" is the one which is built in to the character sheet.&nbsp; You can edit that macro directly by pulling out the corner of the input box to the left of the initiative roll button on the Stats tab.&nbsp; If you wish to have a sheet without the built-in token action, you would have to run a custom sheet.&nbsp; The code is found at:&nbsp; <a href="https://github.com/Roll20/roll20-character-sheets" rel="nofollow">https://github.com/Roll20/roll20-character-sheets</a>... and the modification needed is remove " class='tokenaction' " from the initiative roll button.&nbsp; Both the html file and the css file need to be used in the appropriate tabs of the custom character sheet section for the sheet to look and work correctly. I'll look into the attack Roll template and your macro and see if I can figure out what's up.&nbsp; There should be no difference between those attacks and the previous ones so I am not certain at the moment why it would not accept a roll query.&nbsp;&nbsp; It may take me a little time, however as I have a few other tasks which need to be completed first.
Thank you, Diana.
1453850927

Edited 1453869636
Diana P
Pro
Sheet Author
Keith, I have been playing with this for a bit and I guess I have to ask what the rest of your values are.&nbsp; Because I am not finding any issues with the roll template or with the macro and information you have provided. I turned the query for charge and flank into drop-down roll queries instead of ones which allow free input and copied attack#9 to attack#10 just changing it to say tenth attack.&nbsp; My test information (Enh, Focus, & Specialization values just for testing/distinguishing purposes; it also worked for me with zeros in the fields): Full Attack Macro: &{template:DnD35Attack} {{npcflag=true}} {{fullattackflag=[[1d1]]}} {{name=@{character_name} }} {{subtags=attacks **@{target|Target|token_name}**}} {{attack1=@{character_name}’s first @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm1=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{fumbleroll=**-10**, and [[1t[Fumble-roll]]] against AC more than [[@{weapon1attackcalc}]] (**-5.05** for @{weapon2name} attacks)}} {{damage1= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg1=+[[@{weapon1crit}]] critical damage}} {{attack2=@{character_name}’s second @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm2=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage2= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg2=+[[@{weapon1crit}]] critical damage}} {{attack3=@{character_name}’s third @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm3=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage3= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg3=+[[@{weapon1crit}]] critical damage}}{{attack4=@{character_name}’s fourth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm4=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage4= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg4=+[[@{weapon1crit}]] critical damage}}{{attack5=@{character_name}’s fifth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm5=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage5= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg5=+[[@{weapon1crit}]] critical damage}}{{attack6=@{character_name}’s sixth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm6=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage6= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg6=+[[@{weapon1crit}]] critical damage}}{{attack7=@{character_name}’s seventh @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm7=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage7= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg7=+[[@{weapon1crit}]] critical damage}}{{attack8=@{character_name}’s eighth @{weapon1name} attack hits AC [[@{weapon1attackcalc}]]}} {{critconfirm8=**+10**, and deals critical damage against AC [[@{weapon1attackcalc}]] or less}} {{damage8= for [[@{weapon1damage}]] damage, plus @{weapon1specialproperties}}} {{critdmg8=+[[@{weapon1crit}]] critical damage}} {{attack9=@{character_name}’s @{weapon2name} attack hits AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]]}} {{critconfirm9=**+10**, and deals critical damage against AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]] or less}} {{damage9= for [[@{weapon2damage}-ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] damage}} {{critdmg9=+[[@{weapon2crit}-(@{weapon2critmult}-1)*ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] critical damage}} {{attack10=@{character_name}’s tenth attack hits AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]]}} {{critconfirm9=**+10**, and deals critical damage against AC [[@{weapon2attackcalc}-5.05 [Secondary Attack]]] or less}} {{damage10= for [[@{weapon2damage}-ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] damage}} {{critdmg10=+[[@{weapon2crit}-(@{weapon2critmult}-1)*ceil(0.5*@{weapon2damagestat}) [Secondary Attack]]] critical damage}} Attack1 Calc: 1d20cs&gt;@{weapon1critmin} +@{bab}[BAB] +@{epicattackbonus}[Epic AB] +[[@{weapon1stat}]][Ability] +@{size}[size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] +2*?{Charging? |Yes,1|No,0} [Charge]+ 2*?{Flanking?|Yes,1|No,0} [Flank] + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0} [Circumstance] + ((@{bab} +@{epicattackbonus} +[[@{weapon1stat}]] +@{size} +@{weapon1enh} +@{weapon1focus} +2*?{Charging? |Yes,1|No,0} + 2*?{Flanking?|Yes,1|No,0} + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0})/100) Damage1 Calc: 0+@{weapon1damagestat}[Weapon Dmg Ability] +@{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Specialization] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance] Crit1 Calc: [[(@{weapon1critmult}-1)*0)]] +(@{weapon1critmult}-1)*(@{weapon1damagestat}[Weapon Dmg Ability] + @{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Spec] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance]) Weapon1 Enh: 1 Weapon1 Focus: 1 Weapon1 Specialize: 1 Critical1: 15-20/x2 Attack1 Ability: Str (at base 10 so 0 bonus) Damage1 Ability: Str (at base 10 so 0 bonus) Special Properties 1: Poison on hit Attack2 Calc: 1d20cs&gt;@{weapon1critmin} +@{bab}[BAB] +@{epicattackbonus}[Epic AB] +[[@{weapon1stat}]][Ability] +@{size}[size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] +2*?{Charging?|Yes,1|No,0} [Charge]+ 2*?{Flanking?|Yes,1|No,0} [Flank] + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0} [Circumstance] + ((@{bab} +@{epicattackbonus} +[[@{weapon1stat}]] +@{size} +@{weapon1enh} +@{weapon1focus} +2*?{Charging?|Yes,1|No,0} + 2*?{Flanking?|Yes,1|No,0} + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0})/100) Damage2 Calc: 1d4+@{weapon1damagestat}[Weapon Dmg Ability] +@{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Specialization] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance] Crit2 Calc: [[(@{weapon1critmult}-1)*(1d4))]] +(@{weapon1critmult}-1)*(@{weapon1damagestat}[Weapon Dmg Ability] + @{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Spec] + 0 [Special Bonuses] +?{Damage Circumstance Bonus?|0}[Circumstance]) Weapon2 Enh: 2 Weapon2 Focus: 2 Weapon2 Specialize: 2 Critical2: 19-20/x2 Attack2 Ability: Str (at base 10 so 0 bonus) Damage2 Ability: Str (at base 10 so 0 bonus) Special Properties 2: 0 Fumble-roll table had 3 entries: its a fumble1 it's a fumble2 test fumble Output: Test Attks attacks Goblin3_Test_Character Test Attks’s first Att1 attack hits AC 13.06 for 2 damage, plus Poison on hit Test Attks’s second Att1 attack hits AC 15.06 for2 damage, plus Poison on hit Test Attks’s third Att1 attack hits AC20.06 for2 damage, plus Poison on hit Test Attks’s fourth Att1 attack hits AC19.06 for2 damage, plus Poison on hit Test Attks’s fifth Att1 attack hits AC9.06 for2 damage, plus Poison on hit Test Attks’s sixth Att1 attack hits AC19.06 for2 damage, plus Poison on hit Test Attks’s seventh Att1 attack hits AC 24.06 +10 , and deals critical damage against AC 7 or less for2 damage, plus Poison on hit +0 critical damage Test Attks’s eighth Att1 attack hits AC 3 -10 , and it's a fumble2 against AC more than 19.06 ( -5.05 for att2 attacks) for 2 damage, plus Poison on hit Test Attks’s att2 attack hits AC 21 +10 , and deals critical damage against AC 20 or less for 4 damage +2 critical damage Test Attks’s tenth attack hits&nbsp; AC 20 for 5 damage +3 critical damage As you can see, I am getting the 8th, 9th, and 10th attacks and damages so I am unable to reproduce your problem with my inputs.&nbsp; I could also get it to function when the full attack macro was placed in an Ability on the Attributes and Abilities tab. Please let me know where my assumptions/values differed from yours so that I can continue testing this.
Good evening Diana, Forgive me, but you are mistaken. &nbsp;The results you have shown here illustrate the problem. &nbsp;Let me show you. &nbsp;I know this is a long-winded explanation, but I think this should clarify what I am seeing. ---- If you look at the&nbsp;Attack1 Calc and Attack2 Calc macros, you can see that each of them ends with an equation like this: + ((@{bab} +@{epicattackbonus} +[[@{weapon1stat}]] +@{size} +@{weapon1enh} +@{weapon1focus} +2*?{Charging? |Yes,1|No,0} + 2*?{Flanking?|Yes,1|No,0} + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0})/100) This is all of a character's attack bonuses divided by 100. Very similar to Initiative, this allows me to see what a character's attack bonus is in the event that an opposed roll is needed (say, if one of those attacks is a disarm attempt). &nbsp;Now if you look at the results that came back, you can see the attacks #1 through #7 are in the form xx.06 , which tells me that the total attack bonus for these attacks is +6. &nbsp;Now look at the value returned for attack #8. &nbsp;It's 3, with no decimal at all. &nbsp;The missing decimals are a dead giveaway to me that the entire macro string did not calculate. &nbsp;Further, since this attack was a fumble as well, I know that the macro rolled a '1'. &nbsp;However, 1+6 does not equal 3, it equals 7, so there is some problem here, since the macro string calculated the roll of '1' and a total bonus of +2. When I found that there was a problem and hovered my mouse over the AC hit by attack #7 (which in this case shows that AC 24.06 was hit, and thus an '18' was rolled), I saw the normal black box show the roll and the values for the Roll Queries included. But when I look at the AC hit by attack #8 (in this case shows 3, but should be 7.06), the same black box appears but the values for the Roll Queries do not appear. In addition, the final result tabulation showed everything before the Roll Queries, but excluded the values entered for the Roll Queries and everything after it. From what I can see in your test run, you entered +0 for Strength, +1 for weapon enhancement, and +1 for weapon focus, which totals +2. I do not know what you entered for base attack bonus or epic attack bonus. I can only guess that you entered +0 for each based on my own testing of the same macro. &nbsp;Further, I can guess that you entered 'yes' for both flanking and charging, each of which give +2 bonuses. That results in a total mod to hit of +6, but since the results for attack #8 only added +2... Similarly, the values returned for the AC's hit by Attacks #9 and #10 also do not include the decimals, so the same problem exists there. &nbsp;Because the macro scripts for attacks #9 and #10 include this term: -5.05 [Secondary Attack] , we should be seeing results in the form of xx.01, and we are not. &nbsp;In addition, the AC's that would confirm a critical hit for Attack #7 [which should end up in the form xx.06] and #9 [which should end up in the form xx.01]&nbsp;also do not include the decimals, which means there are errors there too. --- Thank you for your patience and your help.
1453874671
vÍnce
Pro
Sheet Author
Just throwing this out there... I've seen problems arise when making lot's of simultaneous inline rolls from inside a roll template when spaces are not used around the inline's square brackets. &nbsp;You might try adding spaces before and after the double brackets. &nbsp;" [[ &nbsp;" and " ]] " &nbsp;just for fun.
1453879824

Edited 1453879909
Diana P
Pro
Sheet Author
Hmmm.&nbsp; I see what you mean.&nbsp; It's not the roll template in and of itself.&nbsp; There is no difference between the attacks 2-10 in the roll template. I.E. attack2 is: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; {{#attack2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;tr class="sheet-tr-repeating"&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;td&gt;{{attack2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasCrit() attack2}} {{critconfirm2}} {{/rollWasCrit() attack2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasFumble() attack2}} {{fumbleroll}} {{/rollWasFumble() attack2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#damage2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{^rollWasFumble() attack2}}&lt;span class="dcolor"&gt; {{damage2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasCrit() attack2}} {{critdmg2}} {{/rollWasCrit() attack2}} &lt;/span&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/rollWasFumble() attack2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/damage2}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/td&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/tr&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/attack2}} and attack9 is: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; {{#attack9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;tr class="sheet-tr-repeating"&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;td&gt;{{attack9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasCrit() attack9}} {{critconfirm9}} {{/rollWasCrit() attack9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasFumble() attack9}} {{fumbleroll}} {{/rollWasFumble() attack9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#damage9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{^rollWasFumble() attack9}}&lt;span class="dcolor"&gt; {{damage9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{#rollWasCrit() attack9}} {{critdmg9}} {{/rollWasCrit() attack9}} &lt;/span&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/rollWasFumble() attack9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/damage9}} &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/td&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/tr&gt; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{{/attack9}} Basically, it was just copy/paste/rename from attack2 on down. I do think, however, we have some kind of Roll20 bug. Like Vince, I wondered if it's related somehow to <a href="https://app.roll20.net/forum/post/2263981/slug%7D" rel="nofollow">https://app.roll20.net/forum/post/2263981/slug%7D</a>... , but if so, it's presenting differently; adding the spaces before and after each pair of brackets I could find did not seem to make a difference.&nbsp; If I change the attack calcs to look like: 1d20cs&gt;@{weapon1critmin} + [[ @{bab}[BAB] +@{epicattackbonus}[Epic AB] + [[ @{weapon1stat} ]] [Ability] +@{size}[size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] +2*?{Charging? |Yes,1|No,0} [Charge]+ 2*?{Flanking?|Yes,1|No,0} [Flank] + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0} [Circumstance] ]] + ( [[ (@{bab}[BAB] +@{epicattackbonus}[Epic AB] + [[ @{weapon1stat} ]] [Ability] +@{size}[size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] +2*?{Charging? |Yes,1|No,0} [Charge]+ 2*?{Flanking?|Yes,1|No,0} [Flank] + 0 [Special Bonuses] + ?{Attack Circumstance Mod?|0} [Circumstance] ) ]] /100)&nbsp; Basically nesting the calculations so they resolve to a single number on the mouse-over, I cannot get the macro to produce an output until I remove attacks 7, 8, 9, and 10.&nbsp; Test Attks attacks Goblin3 Test Attks’s first Att1 attack hits AC 8.06 for 2 damage, plus Poison on hit Test Attks’s second Att1 attack hits AC16.06 for2 damage, plus Poison on hit Test Attks’s third Att1 attack hits AC 12.06 for2damage, plus Poison on hit Test Attks’s fourth Att1 attack hits AC 23.06 +10 , and deals critical damage against AC 20.06 or less for2 damage, plus Poison on hit +2 critical damage Test Attks’s fifth Att1 attack hits AC 24.06 +10 , and deals critical damage against AC 12.06 or less for2 damage, plus Poison on hit +2 critical damage Test Attks’s sixth Att1 attack hits AC 23.06 +10 , and deals critical damage against AC21.06 or less for2 damage, plus Poison on hit However it also works if I remove 2, 3, 4, 5, and 6 instead of 7 - 10.&nbsp; Test Attks attacks Goblin2 Test Attks’s first Att1 attack hits AC 22.06 +10 , and deals critical damage against AC 18.06 or less for 2 damage, plus Poison on hit +2 critical damage Test Attks’s seventh Att1 attack hits AC 7.06 -10 , and test fumble against AC more than11.06 ( -5.05 for att2 attacks) for 2 damage, plus Poison on hit Test Attks’s eighth Att1 attack hits AC 18.06 for 2 damage, plus Poison on hit Test Attks’s att2 attack hits AC 11.009999999999998 for 6 damage Test Attks’s tenth attack hits AC 10.010000000000002 for 6 damage Which makes it look like the system can only handle a finite number of attributes in a single macro/roll template or something else is going on. Interestingly, it also will not function if I just take the two shorter functioning templates (rolls 1-6&nbsp; and rolls 1, 7-10) and put them in the same Ability or in a different weapon attack macro slot (weapon 3 in this case).&nbsp; It would ask the target and queries, and then just stop. I also note that in the attack2 values, we have some kind of odd rounding artifact showing up, even though the value of Attack2 is identical to Attack1.&nbsp; This artifact shows up even if I explicitly set weapon2attackcalc to be @{weapon1attackcalc} so seems to have more to do with the -5.05 than the calculation itself somehow. ( With further testing, it shows up except when I roll a 1; if I remove the .05 and just subtract 5, I see the rounding artifact only if I roll a 1.&nbsp; It also is not present if I add 5.05 instead of subtracting it. )&nbsp; I'm seeing the same results both in Firefox and Chrome as well. I think this warrants a post in the bug forum (or possibly a friendly Mod flagging this for the Devs to look at...*hopeful*).&nbsp; I need to get to bed for now, so I won't be working on this further until tomorrow; I'll see if I can figure out more of what's going on and what minimum amount of queries etc are needed to break the calculations and make a bug report.&nbsp; If you would prefer to open the bug report instead, I can add on to it if I can figure out anything further. Hopefully we can get this figured out!
1453880584
vÍnce
Pro
Sheet Author
Again, not sure if it matters, but I also added "padding" around any inline rolls for auto-calculated attributes/fields from the sheet as well, not just macros. &nbsp;Something's up for sure. &nbsp;Goodnight.&nbsp;
1454016426
Diana P
Pro
Sheet Author
I've submitted a bug report for the problem with the calculations breaking here: <a href="https://app.roll20.net/forum/post/2887165/bug-with-roll-queries-in-large-multi-roll-macros/?pageforid=2887233#post-2887233" rel="nofollow">https://app.roll20.net/forum/post/2887165/bug-with-roll-queries-in-large-multi-roll-macros/?pageforid=2887233#post-2887233</a>