Here's one for Star Wars Saga Edition. Please let me know what you think: This was written to be a token action for a character. The character fires 2 Heavy Blaster Pistols using the Dual Weapon Mastery I feat (-5 to each attack instead of the normal -10), the Point Blank Shot feat (+1 to attacks and damage when firing at point blank range), the Weapon Focus feat (+1 to attacks with selected weapon type), and the Weapon Specialization talent (+2 to damage with the selected weapon type). When the macro is selected, it will ask the user to enter a range penalty for each shot based on the number of squares between the character and his target (it will default to "1" for the Point Blank Shot feat). For damage it will ask the user to confirm the default "1" for Point Blank Shot extra damage. Attacks are d20 + Base Attack Bonus + Armor Check Penalty (if any) + Condition Track Penalty (if any) + Dexterity modifier +1 (for Weapon Focus) -5 (for Dual Weapon Mastery) + Range Penalty (or bonus of +1 in the instance of point blank range (0-20 squares away). Damage for Heavy Blaster Pistols is 3d8 + 1/2 the Character Level +2 (for Weapon Specialization) +1 (if Point Blank Shot damage is confirmed) Note that Heavy Blaster Pistols cannot fire at long range (due to their inaccuracy, but to make up for it, they deal quite a punch at 3d8 damage) --------------------------------------------------------------------------------------------------------------------------------------------------- /em fires 2 Heavy Blaster Pistols with Dual Weapon Mastery [[1d20+@{BAB}[Base Attack]+@{ACP}[Armor Check Penalty]+@{CT}[Condition Track]+floor((@{Dex}/2)-5)[Dex]+1[Weapon Focus]-5[Dual Weapon Mastery]+?{Enter Range Penalty for First Shot: Point Blank (0-20 squares, Hit Enter), Short (21-40 squares, Enter -2), Medium (41-60 squares, Enter -5), (Inaccurate weapons cannot fire at Long Range)|1}[Range]]] First shot [[3d8+floor(@{level}/2)[1/2 Lev]+2[Weapon Specialization]+?{Point Blank Shot Damage? Hit enter, otherwise Enter 0|1}[Point Blank Shot]]] Damage [[1d20+@{BAB}[Base Attack]+@{ACP}[Armor Check Penalty]+@{CT}[Condition Track]+floor((@{Dex}/2)-5)[Dex]+1[Weapon Focus]-5[Dual Weapon Mastery]+?{Enter Range Penalty for Second Shot: Point Blank (0-20 squares, Hit Enter), Short (21-40 squares, Enter -2), Medium (41-60 squares, Enter -5), (Inaccurate weapons cannot fire at Long Range)|1}[Range]]] Second shot [[3d8+floor(@{level}/2)[1/2 Lev]+2[Weapon Specialization]+?{Point Blank Shot Damage? Hit Enter, otherwise Enter 0|1}[Point Blank Shot]]] Damage ------------------------------------------------------------------------------------------------------------------------------------------------------ When this macro is selected, it appears in the chat log as below (Iroh is the name of the character): Iroh fires 2 Heavy Blaster Pistols with Dual Weapon Mastery! 13 First Shot 15 Damage 18 Second Shot 22 Damage When you hover over the inline rolls it gives you a breakdown and tells you what each modifier is for. Looking something like this: (Attack Roll) Rolling 1d20+4[Base Attack]+0[Armor Check Penalty]+0[Condition Track]+floor((18/2)-5)[Dex]+1[Weapon Focus]-5[Dual Weapon Mastery]+1[Range] (Damage Roll) Rolling 3d8+floor(4/2)[1/2 Level]+2[Weapon Specialization]+1[Point Blank Shot] I wish there was a way to instead of having it print out "+floor(4/2)[1/2 Lev]" - rather to print it out this way, "+2[1/2 Lev]"