Tack said: I agree and disagree. Macros make the whole system a lot easier, and they enable quick clicks to solve easy problems. Attack roll - click - done. Damage roll - click - done. It speeds up combat and seriously helps immersion, the only way I've found it to be better is at a table with real die and everyone knowing their bonuses off by heart. The biggest issue, I find- is temporary modifiers. I mostly play 4.0 and Pathfinder, so I'm not sure on what other systems have for this, but temporary bonuses don't really go with Macros, simply because you forget. When you're doing nothing but clicking the macro button to do your attacks, you forget what your bonus is and why. So when something changes to make you increase or decrease a stat, and thus change your rolls, it's a bit annoying. Here's an example from Pathfinder: A Barbarian can enrage for X rounds, after which they become exhausted for double the rounds. Whilst raging, they gain 4 to strength and constitution, and take a -2 hit to their AC. This can all pretty simply be done in an API script thankfully, but for free players it's an annoying hassle to have to go back to their sheet, look at their stats again to see exactly how they got whatever bonus is in their macro, and then tack on the extras and make a new roll for it. This is the simple stuff. Now try: A paladin using "Smite Evil" picks a single target and gains bonuses - IF the target is L/N/C Evil. They get their charisma bonus added to their attack rolls and their level added to their damage rolls against that target. They also get an extra 2 damage per level (and bypass DR) On the first hit, IF the target is an evil dragon, undead or outsider. In addition, they get a deflection bonus (which doesn't stack with others of the same type) to AC equal to charisma bonus against attacks made by that enemy. Thankfully it lasts until the enemy is dead. Now an API CAN help with some of this, but the amount of modifiers and conditionals means that you're going to be floundering unless you've got all of your stuff ready ahead of schedule. If you already know Str - 4 + BAB - 6 = +10 to attack rolls, then adding the extra 12 in your head is easy. But if you're used to 'click-click' macro attacks, then battle can stall for a while as you flounder between your sheet and the board while writing up a new /roll. tl;dr Macros Cause temporary dumb in even the experienced, which suck when playing with temporary modifiers. just a point: you can run a macro like this to add in raging: /e attacks with @{his/her} @{EquippedWeapon}: ( [[1d20 + @{BAB} + (@{Strength} + (3*?{raging?(1=yes)|0})) + @{EquippedAttack} - @{PowerAttack} - @{CombatExpertise} + ?{Additional Attack Bonus/Penalty?|0} ]] ) for [[@{EquippedDamage} + (@{Strength} + ( (3 + 1d8) * ?{raging?(1=yes)|0} )) + ?{Additional damage?|0} ]] dam. just so you know, specifically that macro will work out the correct bonuses for a barbarian who is raging with a +6 to str and using a light weapon (shortsword etc). obviously it (the macro, not the sword) gets longer when you have to work out the various levels of power attack on damage rolls based on weapon size. I have a macro for each type that applies (light, 1Handed, 2Handed, offhand light, and offhand 1handed) this can be used for ANY kind of straight damage that is only occasionally applied, and works just as well for sneak attack: just use (@{sneakattack} * ?{apply sneak attack damage?(1=yes)|0} where the attribute sneak attack is set further down the list. requires a little bit of editing each time a character gains a new situational modifier, but can be used for so many things (rangers favored enemies, as another example, along with the above example of SMITE) so that it prompts you for the mod each time you attack. of course, this is all based on how many queries you actually want for each attack, but its relatively fast, with most attacks being 'click macro, hit enter to enter default of 0. press 1 then enter for applying the modifier.' quite intuitive really. also have the same thing for ranged and thrown weapons, where it asks the distance to the target and then calculates the modifiers automatically for the range, tells you what your range modified roll was, and if the range was in targetable distance (ie 5xrange for thrown, 10xrange for ranged). I say keep the flow going, let the macro do all the work, just have the player define the variables when he rolls.