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

Pathfinder Official Character Sheet: Two-Weapon Fighting Ability Macro (Work Around)

Two-Weapon Fighting Macros This posts contains ability macros intended to work with the Pathfinder Official Character Sheet Resources Game Mastering > Combat > Strength Bonus >  Off-Hand Weapon Game Mastering > Combat >  Two-Weapon Fighting Macros 4 Main Hand attacks from BAB, Crit Multiplier: x2; 3 Off-Hand attacks from Greater Two-Weapon Fighting, Crit Multiplier: x2; Off-Hand is light #Full-Attack-Base Show in Macro Bar? No Show as Token Action? No &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm2=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{roll2dmg1type=@{repeating_attacks_$1_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll3=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm3=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll3dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll3dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll3dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs>@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-15)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm2=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-15)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{roll2dmg1type=@{repeating_attacks_$1_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} #Full-Attack Show in Macro Bar? No Show as Token Action? Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=TWF Full Attack!}} {{atkvs=(Melee vs AC)}} %{selected|Full-Attack-Base} #Full-Attack-Hasted Show in Macro Bar? No Show as Token Action? Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=Hasted TWF Full Attack!}} {{atkvs=(Melee vs AC)}} {{attack=1}} {{damage=1}} {{dmg1flag=1}} {{roll=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs>@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{dmg1type=@{repeating_attacks_$1_dmgtype}}} {{dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} %{selected|Full-Attack-Base} TODO: Comments and notes macro for each hand Flexible management for main hand and off hand penalties Version without queried modifiers Variants No Feats, 1x attack with off hand. Two-Weapon Fighting Feat, 1x attack with off hand. Two-Weapon Fighting Feat, 1x attack with off hand. Off-Hand is Light Improved Two-Weapon Fighting. 2x attack with off hand. Improved Two-Weapon Fighting. 2x attack with off hand. Off-Hand is Light Greater Two-Weapon Fighting. 3x attack with off hand.
[observer] Willrune said: With some help from <a href="https://app.roll20.net/forum/post/6152190/official-pathfinder-character-sheet-1-dot-07/" rel="nofollow">https://app.roll20.net/forum/post/6152190/official-pathfinder-character-sheet-1-dot-07/</a> , I've managed to complete my Two-Weapon Fighting macro for a character with 4 attacks due to a high Base Attack Bonus and would like to share (in case it helps anyone.) It takes 3 Macros #Full-Attack-Base Show in Macro Bar? No Show as Token Action? No &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{roll2dmg1type=@{repeating_attacks_$1_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll3=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm3=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll3dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll3dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll3dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs&gt;@{repeating_attacks_$0_atkcritrange}+(@{melee_mod}-15)[Melee]+0@{repeating_attacks_$0_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{critconfirm2=[[1d20cs&gt;@{repeating_attacks_$0_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$0_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{roll2dmg1type=@{repeating_attacks_$0_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$0_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$0_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$0_dmgbase}+@{repeating_attacks_$0_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$0_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$0_dmgcritmulti})]]}} #Full-Attack Show in Macro Bar? No Show as Token Action? Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=TWF Full Attack!}} {{atkvs=(Melee vs AC)}} %{selected|Full-Attack-Base} #Full-Attack-Hasted Show in Macro Bar? No Show as Token Action? Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=Hasted TWF Full Attack!}} {{atkvs=(Melee vs AC)}} {{attack=1}} {{damage=1}} {{dmg1flag=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$0_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$0_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$0_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$0_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{dmg1type=@{repeating_attacks_$0_dmgtype}}} {{dmg1=[[@{repeating_attacks_$0_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$0_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{dmg1crit=[[(@{repeating_attacks_$0_dmgbase}+@{repeating_attacks_$0_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$0_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$0_dmgcritmulti})]]}} %{selected|Full-Attack-Base} Full-Attack-Hasted does not automatically add the generic bonus from haste to your attack rolls. This is because we are reusing Full-Attack-Base . Don't forget to add it to the pop up prompt! If you don't nest/reuse macros, then you could modify attack rolls to include the haste bonus and you would only need 2 Ability Macros. If you don't nest/reuse macros, then you will need to add "{{type=attackdamage}}" to the first template in each Ability Macro, or you could keep the leading template for consistency between hasted and non-hasted full attacks. If your main or off hand weapons gains a 2nd damage roll, you will need to update the template to include it If your main or off hand weapons gains a 3rd (or more) damage roll, a new approach will be needed, but probably possible with a little work. If you pick up the Double Slice (Combat) feat, You will need to update the damage rolls for the off hand weapons to use "@{strength_mod}" instead of "@{strength_half_mod}" Similar changes will need to be made if you can use a different ability for attack or damage rolls, such as DEX for Weapon Finesse and an Agile enchanted weapon. To distinguish between main hand and off hand, include "Off-Hand" in the damage type. For example " Piercing, +3, Adamantine, Off-Hand " An additional 3 Ability Macros can be used (with modification) to handle Enlarge Person . Only 2 Ability Macros will be needed if you are not nesting macros, one for normal full attack, and one for a hasted full attack. Modifiers for critical damage are handled automatically, but if your critical multiplier changes/ is no x2, then you will need to modify the damage rolls If your Two-Weapon Fighting penalties change through traits, feats, weapon modifications, or weapon category, then you will need to update the attack rolls Alternatively, strip it from attack rolls entirely and account for it in the MOD fields for attack rolls and damage rolls. This setup assumes the following @{repeating_attacks_$0... is your main hand hand weapon used on its own, without two weapon fighting. This is used for the additional attack gained from Haste and the 4th attack with your main hand. @{repeating_attacks_$1... is your main hand weapon for a two-weapon fighting full attack @{repeating_attacks_$2... is your off hand weapon for a two-weapon fighting full attack I think I already see a few ways it could be improved, so consider this version 1. A place to get you started. Happy Adventuring!
Looks like I may have made a mistake on the hasted bonus attack and 4th main hand attack. Both of those should incur the two weapon fighting penalty even though they don't get an attack with the off hand weapon. Still, that is easy to fix. I'm going to bump the original posts down by 1 so that the original post can always have the most up to date / fixed version.
v1.1 #Full-Attack-Base Show in Macro Bar?&nbsp; No Show as Token Action?&nbsp; No &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{roll2dmg1type=@{repeating_attacks_$1_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll3=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm3=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-5)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll3dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll3dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll3dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} &{template:pc} {{showchar=[[0]]}} {{attack=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{rolldmg1type=@{repeating_attacks_$1_dmgtype}}} {{rolldmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{rolldmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} {{roll1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{critconfirm1=[[1d20cs&gt;@{repeating_attacks_$2_atkcritrange}+(@{melee_mod}-10)[Melee]+0@{repeating_attacks_$2_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: OFF HAND]]]}} {{roll1dmg1type=@{repeating_attacks_$2_dmgtype}}} {{roll1dmg1=[[@{repeating_attacks_$2_dmgbase}+@{strength_half_mod}[HALF STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll1dmg1crit=[[(@{repeating_attacks_$2_dmgbase}+@{repeating_attacks_$2_dmgbase})+((@{strength_half_mod}[HALF_STR]+0@{repeating_attacks_$2_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$2_dmgcritmulti})]]}} {{roll2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-15)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm2=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-15)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{roll2dmg1type=@{repeating_attacks_$1_dmgtype}}} {{roll2dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{roll2dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} #Full-Attack Show in Macro Bar?&nbsp; No Show as Token Action?&nbsp; Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=TWF Full Attack!}} {{atkvs=(Melee vs AC)}} %{selected|Full-Attack-Base} #Full-Attack-Hasted Show in Macro Bar? No Show as Token Action?&nbsp; Yes &{template:pc} {{type=attackdamage}} {{showchar=[[1]]}} {{charname=@{character_name}}} {{name=Hasted TWF Full Attack!}} {{atkvs=(Melee vs AC)}} {{attack=1}} {{damage=1}} {{dmg1flag=1}} {{roll=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]-2[TWO-WEAPON FIGHTING: MAIN HAND]]]}} {{critconfirm=[[1d20cs&gt;@{repeating_attacks_$1_atkcritrange}+(@{melee_mod}-0)[Melee]+0@{repeating_attacks_$1_atkmod}[MOD]+@{rollmod_attack}[BONUS]]]}} {{dmg1type=@{repeating_attacks_$1_dmgtype}}} {{dmg1=[[@{repeating_attacks_$1_dmgbase}+@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS]]]}} {{dmg1crit=[[(@{repeating_attacks_$1_dmgbase}+@{repeating_attacks_$1_dmgbase})+((@{strength_mod}[STR]+0@{repeating_attacks_$1_dmgmod}[MOD]+@{rollmod_damage}[BONUS])*@{repeating_attacks_$1_dmgcritmulti})]]}} %{selected|Full-Attack-Base} v1.1 Updates: - fixed an error where critical confirmation rolls did not apply the correct penalty to the 4th attack with the main weapon - fixed an error where the 4th attack with the primary weapon and the extra attack from haste/speed/etc were not applying the two weapon fighting penalties. - NOTE: Assumes off-hand is a light weapon and both weapons have an x2 critical multiplier