Personal tools

Dungeons and Dragons 4th Edition

From Roll20 Wiki

Jump to: navigation, search

This page is about playing Version 4.0 of D&D on Roll20.



The 4th edition of Dungeons and Dragons (hereafter referred to as 4e) is perfectly suited to being run on Roll20. With the emphasis of tactical combats and simple dice mechanics 4e is very easily adapted to playing on a virtual tabletop.

Macros and Attributes

The structure of rolls in 4e is very formulaic, which makes setting up a character's attributes and macros very simple. Below is a sample set of Attributes that can be used:


For Bars:

  • Hit Points (26)
  • Healing Surges (4)
  • AC (15) <--Temp HP is also a good one for here

For Macros:

  • WISDOM-MOD (2)
  • Enhancement
  • Half_Level
  • Weapon_Proficiency (5)
  • Implement (Enchantment bonus of character's Implement)
  • Ranged_Proficiency (3) (Proficiency bonus of character's ranged weapon)
  • Init_Bonus (4) (for initiative rolls with the Improved Initiative feat)
  • Action_Points (1) <--this number changes so rarely it does not need to be a bar item-->

Useful Macros for Players

The following Macros utilize the above attributes.

Powers and Attack Macros

Melee Basic Attack
Macro name: "mba"
Invoked using: #mba
Macro Contents:
/roll 1d20 + @{STR_MOD} + @{Weapon_Proficiency} + @{Half_Level} + @{Enhancement} vs AC
/roll 1d8 + @{STR_MOD} + @{Enhancement damage}

Macro name: "cleave"
Invoked using: #cleave
Macro Contents:
/roll 1d20+@{STR_MOD} + @{Weapon_Proficiency} + @{Half_Level} + @{Enhancement} vs AC /roll 2d6+@{STR_MOD} damage, plus @{Str_Mod} damage to one additional enemy

The idea is to give as much information about the attack as possible in the roll so you don't have to look it up during play.

Leveraging the 4E Character Sheet and Rugged Reroll "targets"

The character sheet for D&D 4E is quite good, but it doesn't use rugged reroll "target" functionality. Here is example code (that works in either the "power" section of the character sheet, or in the "Abilities" tab (where you can make it a token action).

/me fires his @{power-3-name} at @{target|target1|token_name}

/roll d20 + [[ @{strength-mod-level} ]][Str+level] + [[ @{weapon-1-enh} ]][Enh]

vs @{power-3-def} [[ @{target|target1|AC} ]]

/roll (@{power-3-weapon-num-dice})d@{power-3-weapon-dice}+ [[@{power-3-damage}]] Damage

Utility Macros

Initiative Roll
/roll 1d20+@{DEX_MOD}+@{Init_Bonus} &{tracker}

Saving Throw
Here are a few macros for rolling saving throws and having it show pass, green and red fail.
First the simplest with nothing added.


Will show green for 10 and above and red for 9 and lower.
If you want to add in a bonus for like a +2 bonus to charm effects, etc.

    [[1d20cs>[[10 - (?{Bonus|0}) ]]cf<[[ 9 - (?{Bonus|0}) ]] + (?{Bonus|0})]]

With this a box will show up and ask for your bonus, that is this part (?{Bonus|0}). It will only ask once, the |0 will make it default to 0.

Useful Macros for GMs

As a GM properly utilizing macros can greatly speed up play. Below are some useful macros for GMs. First, however, some set up is required.

Tips for game set up

First, set up your monsters with character sheets like you would for player characters. Unlike player characters, they need significantly less detail.

For Bars

  • Hit Points (30)
  • Bloodied Value (15)
  • AC (15)

For Macros

  • Init (5)
  • Atk (6)
  • Dmg (1d6+5)

Now follow these steps to set up the monster sheet:

  1. Choose tags for the monster. Typically all monsters should have at least the "NPC" tag so they can be easily distinguished from player characters, but using the creature type, level of the creature, role (soldier, brute, artillery, etc.), and encounter number are all useful tags so you can easily find the monster character sheets during play.
  2. Create a token for the character and put the monster's hit points in bar 1, the bloodied value in bar 2, and the monster's AC in bar 3. This lets you easily reference these values during play.
  3. Choose "Represents Character" under the token options and choose the character sheet for your new monster. Do not link any of the bars to attributes as this will cause reducing one token's hit points to reduce all similar monster's hit points. Useful Tip: By using the "Represents Character" option, you can now shift+double-click (or hold shift and click the gear icon) the token to open its character sheet, useful if you have many monsters.
  4. Select the token, open the monster's character sheet, and click "Use Selected" under the default token option. This will allow you to drag copies of the monster set up for play onto the map at any time.

You are now ready to create some global macros that will speed up play.

GM Global Macros

Be sure to place these macros in your bar to speed up access. You can also choose to name them something short and use #init and #atk, for example.

Note:These macros make heavy use of the inline rolling system in order to reduce chat spam for GM monster rolls. You can simplify these by removing the "/emas @ selected|token_name} rolls" and the brackets and using /roll instead.

Global Initiative
/w gm @{selected|token_name} rolls [[1d20+@{selected|Init} &{tracker}]] initiative.
Note: The reason for using /w gm is to hide the initiative roll from the players. This is useful when you are rolling initiative for hidden monsters or ones in other nearby locations that the players haven't revealed yet. If you prefer to keep it out in the open, replace "/w gm" with "/emas"

Global Attack
/emas @{selected|token_name} rolls [[1d20+@{selected|Atk}]] to hit.
/emas @{selected|token_name} rolls [[@{selected|Dmg}]] damage.

Skill Macros

Using Macros and “Selected icon” for Character Skills and Abilities


All D&D 4 characters have the same list of skills. Instead of entering Abilites for each character for all skills, you can leverage shared macros. Players (including the DM) will need to click-select their character icon before using the shared macros.

This keeps the character sheet from being cluttered, and is less prone to error. My players don’t mind this, because they are used to selecting their tokens in order to get their token actions to appear.


Create the following attributes for each character (or better yet, one character sheet you later copy) and populate them with values.

Attributes for all characters



STR, CON, DEX, INT, WIS, CHA (In this example, these will have the actual ability score, not the modifier.)

Then, add attributes for all skills:



(Repeat for other skills)

Internal macros:

The following macros have no commands (e.g., /roll) so they don’t do anything interesting if called directly. They are meant to be called by other macros or abilities. To keep them from cluttering up auto-complete lists, you can begin them with an underscore.

Name: _Half_Level


 floor(  @{selected|Level} /2  )

Show as Token Action: Leave unchecked

Visible to Players: All Players

Ability Mod macros (Repeat for other abilities)

Name: _STR_MOD



Show as Token Action: Leave unchecked

Visible to Players: All Players

Skill macros:

Name: Acrobatics


 @{selected|token_name} tries an acrobatic manuever.
/roll d20 + [[ @{selected|Acrobatics-trained}*5 ]][training] + [[ @{selected|Acrobatics-misc} ]][misc] - [[ @{selected|Armor-penalty} ]][Armor] + [[ #_DEX_MOD ]][Dex] + [[ #_Half_Level ]][lvl]

Shows as Token Action? : Your choice

Visible to Players: All Players

Ability Check Macros:

Name: STR_check


 /roll 1d20 + #_STR_MOD + #_HALF_LEVEL

Shows as Token Action? : Your choice

Visible to Players: All Players

Name: Escape - Acrobatic


 @{selected|token_name} attempts an acrobatic escape of @{target|target1|token_name}'s grab
 #Acrobatics vs [[ @{target|target1|REF} ]][REF]

Shows as Token Action: Your choice

Visible to Players: All Players

Advanced Features Rugged Reroll

These are tips for a more advanced set up that utilizes two advanced features of the Rugged Reroll update: token actions and targeted macros.

Monster Specific Abilities

With token actions it becomes feasible to incorporate monster specific macros into character sheets. To do so, make an ability on the monster character sheet and select the "Show as Token Action" option. Any tokens that use that monster's character sheet will then pop up a context-sensitive list of abilities when you select the monster.

Monster Example: Fledgling White Dragon

As an example, take this fledgling white dragon:
HP 128, AC 15, Fort 15, Ref 11, Will 13, Init +0
Bite +6 vs AC, 1d12+11 cold
Claws +6 vs AC, 1d12+4, can attack twice
Breath Weapon +4 vs Reflex, 2d8+4 cold, recharge 5/6
Tail Slap +4 vs. Fortitude, 1d12+4 and push target 3 squares

This is a lot of abilities to handle with just the "Attack" macro used above. The attacks often deal different damage, with a different bonus to hit, and against different defenses. Instead, create a character ability for each attack:

/emas @{selected|token_name} bites for [[d20+@{selected|Atk}]] to hit vs @{target|token_name}'s AC @{target|bar3} and deals [[@{selected|Dmg}]] cold damage.

/emas @{selected|token_name} claws for [[d20+@{selected|Atk}]] and [[d20+@{selected|Atk}]] to hit vs @{target|token_name}'s AC @{target|bar3} and deals [[1d12+4]] and [[1d12+4]] damage.
Note: It is not currently possible to select multiple targets in the same macro; you'll have to check the second target's AC manually.

/emas @{selected|token_name} breathes for [[d20+4]] to hit vs @{target|token_name}'s Reflex @{target|Ref}.
Note: You have to type in the '4' manually since it is different from the standard attack. You could also subtract two or even create another attribute specifically for the breath weapon.

/emas @{selected|token_name}'s breath deals [[2d8+4]] cold damage and target is slowed (save ends).
Note: In 4e, damage is rolled once for area attacks while to hit is rolled individually, which is why there is a separate macro for hit and damage with the dragon's breath weapon.


/w gm @{selected|token_name} rolls [[1d6>5]] to recharge breath weapon.
Note: This sends a hidden message to you so you can check each round whether or not the dragon recharged their breath weapon. If yes, the value will be 1, otherwise 0. You can leave out the '>5' to just get the raw value of the d6 roll.

/emas @{selected|token_name} tail slaps for [[d20+4]] to hit vs @{target|token_name}'s Fortitude @{target|Fort} and deals [[1d12+4]] damage and pushes the target up to 3 squares.

Now whenever you select the dragon a list of abilities will show up at the top left of your screen. Clicking one of them will give you the option to choose a target (typically one of the PCs) and will then output a in-character hit and damage values vs. the character's defenses for the monster. This lets you play something as complex as a dragon without ever having to reference its character sheet in combat or that of the players.

Monster Abilities that automatically adjust to level

D&D 4E makes it easy to adjust a monster’s level. Roll20 abilities can be created so they adjust to hit and damage rolls automatically. ( So only attributes need to be manually changed when changing a monster level.)

1. Create a character template for monsters with the following attributes:

Attribute Value
Level Desired Monster Level
Base_Level Value from monster listing

2. Add the ability definitions.

Enter the modifiers from the monster listing, plus the code for adjusting to hit and damage rolls, as follows:

Example 1: Basic ability with no target

 /emas @{selected|token_name} thrusts its spear
 /roll d20 + 6 + (@{Level}-@{Base_Level}) vs AC
 /roll d8 + 2 + ( floor((@{Level}-@{Base_Level})  /2)))

Example 2: Rugged Reroll style, with target.

(NOTE: Target’s “AC” attribute must be defined.)

 /emas @{selected|token_name} thrusts its spear at @{target|target1|token_name}
 /roll d20 + 6 + [[ (@{Level}-@{Base_Level})  ]][lvl] vs AC: [[ @{target|target1|AC} ]]  
 /roll d8 + 2 + [[ 0d1+( floor((@{Level}-@{Base_Level})  /2))) ]][lvl]

Example 3: Using attributes from the 4E character sheet

This is based on a power created automatically by the character sheet, but adds target name and defense, and shows the actual dice rolls.

 /em shoots @{target|target1|token_name} with his @{weapon-2-name}
 /roll d20 + [[ @{dexterity-mod-level} ]][Dex+level] + [[ @{weapon-2-enh} ]][Enh] vs AC [[ @{target|target1|AC} ]]
 /roll @{weapon-2-num-dice}d(@{weapon-2-dice}) + [[ @{dexterity-mod} ]][Dex] + [[ @{weapon-2-enh} ]][Enh] 

Dynamically controlling number of dice rolled

Some powers get more dice based on character level. The dice usually increase on a mathematical basis, so can be built into an ability or macro formula. The following increases the number of dice rolled every five levels: [[ ( ( (@{Level}-1)/5 ) )d6 ]].

This formula reports the new HP total for a healed character, the lower of the full value of the healing word, or the character's max hit points.

 /me utters a Healing Word to @{target|target1|token_name}
 /roll {   [[ @{target|target1|HP} ]][hp] + [[ @{target|target1|Surge_value} ]][surge] + ( [[ 1+ floor( (@{selected|Level}-1)/5 ) ]] )d6 ,  0d1+ @{target|target1|HP|max}  }kl1

Here is an example using the attributes from the 4E character sheet:

/em lays hands on @{target|target1|token_name} @{selected|token_name} spends a healing surge to heal @{target|target1|token_name} , who gains /roll 0d1 + [[ 0d1 + floor(@{target|target1|hp|max}/4)+@{target|target1|surge-value-bonus} ]] + [[ @{target|target1|HP} ]][current HP] + [[ ( 3 * ( 1 + floor( @{selected|level}/10 ) ) ) ]][tier bonus] , 0d1+ @{target|target1|HP|max} }kl1

Here is an example that lets you roll a multiple number of dice (in this case, 2 or 4).

 /me wants to cast Magic Missile at @{target|target1|token_name} (AW)  
 /roll d20 + [[ #INT_MOD ]][Int] + [[ #Half_Level ]][lvl] + [[ @{Implement} ]][item] vs REF: [[ @{target|target1|REF} ]]  
 /roll  [[ ( 2* floor( 1+@{Level}/21 )) ]]d4 + [[ @{INT_MOD} ]][Int] +[[ @{Implement} ]][item]

Bloodied effects

Some powers increase in effectiveness when the monster/character is bloodied. This can be calculated automatically by comparing current hit points to max hit points.

This macro subtracts twice the current hit points from the total hit points, resulting in a negative total or zero for non-bloodied characters, and a positive number for bloodied characters. Use keep-lower and keep-higher to round these down to zero or one.

Define a macro named: Is_bloodied Visible to players: All players.

 {{  @{selected|HP|max} - ( 2 * @{selected|HP}) , 0}k1, 0d1+1}kl1 

Then use #Is_Bloodied to modify the result as appropriate. (Multiplying any result by #Is_Bloodied will zero it out if the character is not bloodied.)

The following power gets a +2 to hit and does an additional die of damage when the character is bloodied.

 /roll d20 + 3 + [[ (#Is_bloodied * 2) ]][bloodied] vs AC: @{target|target1|AC}  
 /roll d6 + 3 + [[ (#Is_bloodied + 1) ]]d6

Dynamic Lighting

You can find D&D4e specific vision and lighting examples in the Dynamic Lighting Style Guide.

Character Sheet

You can find information specific to the character sheet on the DnD4e Character Sheet page.