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

Full attack macro for Flurry of blows 3.5

I pray this was covered before, so it's a quick link for everyone and no has to rack their brain like me.  So, I'm playing a 3.5 monk. and as we all know Monk gets Flurry of Blows. but the progression is really weird. starting at -2/-2 at lvl 1 going to +5/+5/+0 at lvl 7 then +8/+8/+8/+3 at 11 and finally +11/+11/+11/+6/+1 at 15. then just steadily increases by +1 all the way to 20.  I'm currently basing my macro off the Full attack Macro. is this wrong? what is the right way?
Update! I've managed to get levels 1-6 and levels 15-20 to work. But that is only because I've managed to modify when the fullattackflag turns on and off. Is there any way to get to choose how many attacks is a full attack? Or is it even possible to have multiple fullattackflags in the same macro?
Watching
1486144471
Diana P
Pro
Sheet Author
Alex S. said:  Is there any way to get to choose how many attacks is a full attack? Or is it even possible to have multiple fullattackflags in the same macro? The full attack has space for up to 10 attacks in the template (attack1 through attack10).   Though there is a limit to the amount of nested rolls/queries/nested calculations which can be used in one macro call and it's not too difficult to reach that limit and start having the rolls act oddly when you use all 10 of the attacks and have complicated calculations for the attacks.  The full attack flag just turns on all the attacks past the first one and if you have multiples with multiple states, it will just take the, I think, last instance of them to use for the macro.  Basically any duplicate calling of one of the key words gets over written. A possible workaround is to use multiple roll templates in the macro, just don't fill out the header (name, subtags, subtags2, and possibly the flag).  That will give you a second (etc) set of attacks with their own fullattackflag though there will be a small divider between the sections.  In my group, we just add the additional attacks as the character levels rather than trying to have one macro cover all possibilities.
1486151560

Edited 1486151586
Andrew C
Marketplace Creator
I might try tinker one up. I have been doing a bunch of 3.5E stuff for my own campaign and also to release as well. so maybe "watch this space"...
watching, need as much 3.5 material as i can get
1486290975
Andrew C
Marketplace Creator
Hehehe. Sure. I'll sit down maybe tonight my time (It's 9:30pm) and re-read the Monk Flurry rules and build something that might work for you.
1486293668

Edited 1486294041
Andrew C
Marketplace Creator
I'm close, and I know where the bug is but not the way around it.  I suspect its a HTML replacement or maybe I'm clashing with the calculations wall.  Either way it starts to execute and fails to deliver. Diana P may know better or maybe Silvyre's Macro Eyes of Bug Seeing will find it. These are the replacements I'm making.  The plan is this... 1) Flurry of Blows functions as its own weapon.  You can use it to call the Unarmed Strike Damage if you want you just change the number in the @{weapon k attack}, etc entries. 2) All the Flurry extras all run off the first attack. So load them up in the first attack as extra details. 3) Add the 'usual' extra attacks of the Full Attack at the end as normal. Attack Calc 1d20cs>@{weapon1critmin} +[[ { [[(@{level}>9)*[[@{bab}]] ]], [[(@{level}<8)*[[@{level}-3]] ]]}kh1 ]][BAB] +@{epicattackbonus}[Epic AB] + @{weapon1stat}[Ability] +@{size}[Size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] + ?{Flank|No,0|Yes,1}*2[Flank] +?{Power Attack? (put in penalty with negative sign ie -3)|0}[Pwr Attk]+?{Charge|No,0|Yes,2}[Charge] +?{Additional Attack Bonus?|0}[Ad'l Atk Bon] Damage Calc  1d4 + @{weapon1damagestat}[Weapon Dmg Ability] +@{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Spec] +?{Power Attack? (put in penalty with negative sign eg -3)|0}[Pwr Attk] +?{Additional Damage Bonus?|0}[Ad'l Dmg Bon] Full Attack Macro &{template:DnD35Attack} {{pcflag=true}} {{name=@{character_name}}} {{subtags=attacks with a @{weapon1name} }} {{attack1=[[ @{weapon1attackcalc}]] / [[(@{level}>8)*@{weapon1attackcalc}]] / [[(@{level}>11)*@{weapon1attackcalc}]] / [[(@{level}>15)*@{weapon1attackcalc} ]] }} {{critconfirm1=Crit?: [[ @{weapon1attackcalc}]] / [[(@{level}>8)*@{weapon1attackcalc}]] / [[(@{level}>11)*@{weapon1attackcalc}]] / [[(@{level}>15)*@{weapon1attackcalc} ]] }} {{fumbleroll=Fumble: [[ d20 ]] }} {{damage1=D1: [[ @{weapon1damage} ]] }} {{critdmg1=+ [[ @{weapon1crit} ]] }} {{fullattackflag= [[ ?{Full Attack?|No, 0d1|Yes, d1} ]] }} {{attack2=A2: [[ @{weapon1attackcalc}-5 ]] }} {{critconfirm2=Crit!: [[ @{weapon1attackcalc}-5 ]] }} {{damage2=D2: [[ @{weapon1damage} ]] }} {{critdmg2=+ [[ @{weapon1crit} ]] }} {{attack3=A3: [[ @{weapon1attackcalc}-10 ]] }} {{critconfirm3=Crit!: [[ @{weapon1attackcalc}-10 ]] }} {{damage3=D3: [[ @{weapon1damage} ]] }} {{critdmg3=+ [[ @{weapon1crit} ]] }}
1486328632

Edited 1486330030
Diana P
Pro
Sheet Author
You shouldn't need any HTML replacements in this macro; you aren't nesting any queries that I can see.  But it seems to not like the (@{level}>8)  type calculations.  Still poking at it to try and get it working but unfortunately, I have other things I need to work on first so may take a bit. 
1486329391
Silvyre
Forum Champion
Andrew (Halfling Gypsy) said: @{level}>9 You'll want to use something like {0, @{level}}>9 instead. Unless @{level} is a dice expression, @{level}>9 isn't meaningful syntactically to the dice engine.
1486353230

Edited 1486353302
Andrew C
Marketplace Creator
Well @{bab} isn't a Dice Expression either. So if I take @{bab} out of [[ ]] and put it in ( ) it should behave then? @{level} is just a number, so the idea is to generate a TRUE/FALSE with the system so that you multiply one half of the "kh1" group by 0 and the other by 1.
1486356207
Silvyre
Forum Champion
There's nothing wrong with your use of @{bab}, and I do see what you're attempting to do with expressions like (@{level}>8). However, try entering [[ (5>8) ]] into the Text Chat—it will not return 0 as you might have expected; it will throw an error. [[ {0, 5}>8 ]] will return 0, and [[ {0, 9}>8 ]] will return 1. That is to say, {0, @{level}}>8 will function as you'd like.
1486371851
Andrew C
Marketplace Creator
Thanks Silvyre... so [[ {0,@{level} } > n ]] = 1 if @{level}>=n, else 0?
1486374906

Edited 1486375128
Silvyre
Forum Champion
Assuming m<n: [[ {m,@{level} }>n ]] = 1 if @{level}>=n, else 0. (The inequality sign modifies a Grouped Roll and therefore cannot have spaces on either side of it.)
1486376325

Edited 1486376895
Andrew C
Marketplace Creator
Final version done: Pros - You get your Flurry Blows all there, level dependent. Cons - It will always show 4 attack rolls, and for the 2nd-4th you lose the details of the bonuses. Note: I added in updates to the Attacks and Damages after which are just cosmetic additions. You will get A1, A2, A3, etc through all of the Flurry attacks at the top.  You could, if you wanted have the later attacks modified the same way so that they are 0 when you lack the extra attacks. Attack Calc 1d20cs>@{weapon1critmin} +[[ { [[ [[{0,@{selected|level} }>9]]*[[@{selected|bab}]] ]],[[ [[{9,@{selected|level} }<8)]]*[[@{selected|level}-3]] ]] }kh1 ]][BAB] +@{epicattackbonus}[Epic AB] + @{weapon1stat}[Ability] +@{size}[Size] +@{weapon1enh}[Weapon Enh] +@{weapon1focus}[Weapon Focus] + ?{Flank|No,0|Yes,1}*2[Flank] +?{Power Attack? (put in penalty with negative sign eg -3)|0}[Pwr Attk]+?{Charge|No,0|Yes,2}[Charge] +?{Additional Attack Bonus?|0}[Ad'l Atk Bon] Damage Calc 1d4 + @{weapon1damagestat}[Weapon Dmg Ability] +@{weapon1enh}[Weapon Enh] +@{weapon1specialize}[Weapon Spec] +?{Power Attack? (put in penalty with negative sign eg -3)|0}[Pwr Attk] +?{Additional Damage Bonus?|0}[Ad'l Dmg Bon] Full Attack Macro &{template:DnD35Attack} {{pcflag=true}} {{name=@{character_name}}} {{subtags=attacks with a @{weapon1name} }} {{attack1=A1: [[@{weapon1attackcalc}]] A2: [[ [[ @{weapon1attackcalc} ]]*({0,@{level} }>8) ]] A3: [[ [[@{weapon1attackcalc}]]*({0,@{level} }>11) ]] A4: [[ [[@{weapon1attackcalc}]]*({0,@{level} }>15) ]] }} {{critconfirm1=Crit?: C1: [[@{weapon1attackcalc}]] C2: [[ [[ @{weapon1attackcalc} ]]*({0,@{level} }>8) ]] C3: [[ ({0,@{level} }>11)*[[@{weapon1attackcalc}]] ]] C4: [[ ({0,@{level} }>15)*[[@{weapon1attackcalc}]] ]] }} {{fumbleroll=Fumble: [[ d20 ]] }} {{damage1= D1: [[ @{weapon1damage} ]] D2: [[ [[ @{weapon1damage} ]]*({0,@{level} }>8) ]] D3: [[ [[@{weapon1damage}]]*({0,@{level} }>11) ]] D4: [[ [[@{weapon1damage}]]*({0,@{level} }>15) ]] }} {{critdmg1= CD1: [[ @{weapon1crit} ]] CD2: [[ [[ @{weapon1crit} ]]*({0,@{level} }>8) ]] CD3: [[ [[@{weapon1crit}]]*({0,@{level} }>11) ]] CD4: [[ [[@{weapon1crit}]]*({0,@{level} }>15) ]] }} {{fullattackflag= [[ ?{Full Attack?|No, 0d1|Yes, d1} ]] }} {{attack2=A5: [[ @{weapon1attackcalc}-5 ]] }} {{critconfirm2=Crit!: C5: [[ @{weapon1attackcalc}-5 ]] }} {{damage2=D5: [[ @{weapon1damage} ]] }} {{critdmg2= CD5: [[ @{weapon1crit} ]] }} {{attack3=A6: [[ @{weapon1attackcalc}-10 ]] }} {{critconfirm3=Crit! C6: [[ @{weapon1attackcalc}-10 ]] }} {{damage3=D6: [[ @{weapon1damage} ]] }} {{critdmg3= CD6: [[ @{weapon1crit} ]] }}
1486397288
Diana P
Pro
Sheet Author
Nice macro. Glad you got it working.