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

36 flying snakes

36 flying snakes want to attack from an advantage. what is the simplest way to do this ? I found this :   /r {?{Amount}d20+?{Bonus}}>?{ Difficulty|0} this would be perfect just not advantageous. I am looking for the correct equation.
Roll20 does not have a good built in way to do this. You could roll 72 attacks and only keep the best half of them but that’s going to give you a very skewed result (don't do this!):  /r {[[2*?{Amount}]]d20kh?{Amount}+?{Bonus}}>?{Difficulty|0} The 'correct' way in Roll20 would be to roll 36 times at advantage: /r {(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus}),(2d20kh1+?{Bonus})}>?{Difficulty|0} But that is super unwieldy, and you can't just plug in the number of attacks that you want. However, if you’re playing D&D 5E and using the D&D 2014 character sheet, then you can use this macro to roll for large numbers of creatures according to the ‘mob rules’ from the DMG: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>6*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>13*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>15*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>19*(5) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>20*(10)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}} To account for Advantage or Disadvantage I would recommend adjusting the macro according to  this table here :  Advantage: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Advantage Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>11*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>18*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>19*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>20*(5)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}} Disadvantage: /w gm &{template:npcaction} {{rname=@{selected|character_name} Mob @{selected|repeating_npcaction_$0_name} Disdvantage Attack}} {{name=versus @{target|token_name}}} {{description=[[[[[{[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>1*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>4*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>9*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>11*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>13*(1) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>15*(5) + {[[@{target|ac} - 0@{selected|repeating_npcaction_$0_attack_tohit}]],0}>17*(10)]]]]](#) @{selected|character_name}s are needed to hit @{target|token_name} [[[@{selected|repeating_npcaction_$0_attack_onhit}]]](#) average damage (+@{selected|repeating_npcaction_$0_attack_tohit} 'To Hit' versus @{target|ac}AC)}}