Macros

Use macros to create standardized D&D 5e text based on the monster's stats.

Macros let you generate standardized D&D 5e text directly inside an action. Instead of writing the full text manually, you insert a macro enclosed in curly braces, and Monstershuffler expands it into the appropriate rules text.

Macros automatically use the statistics of the creature they belong to, such as its attack modifier, save DC, proficiency bonus, or ability modifiers. This means a single action can be reused by multiple creatures while always producing the correct values for each one.

For example, writing:

{attack 1d6 bludgeoning}, and the target is Stunned.

might produce:

Melee Attack Roll: +5, reach 5 ft. Hit: 3 (1d6) bludgeoning damage, and the target is Stunned.

Using macros has several advantages:

  • Consistency. Rules text always follows the same wording and formatting.
  • Adaptability. Generated values automatically match the creature's statistics.
  • Reusability. The same action can be shared by multiple creatures without modification.
  • Less manual work. Complex rules text, including attack rolls, save DCs, damage expressions, and other game mechanics, can be generated from a short, readable syntax.

Macros available in the editor

Attack

{attack [<damage>] [<damage type>] [<options>]}

Damage

The damage argument supports two formats:

  • Damage expression: A standard D&D 5e damage expression, such as 1d6, 2d8 + 3, or 4d10 + 2.
  • Damage preset: One of the following keywords, which generates a damage expression based on the average damage per round for creatures of the monster's CR:
    • weak — 25% of the average
    • medium — 50% of the average
    • strong — 75% of the average
    • full — 100% of the average
    • deadly — 150% of the average

For example, the following macro:

{attack weak bludgeoning}

might expand to:

Melee Attack Roll: +5, reach 5 ft. Hit: 7 (2d6) bludgeoning damage.

Damage Type

The damage type argument specifies the type of damage dealt by the attack. Use one of the following keywords: acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic, radiant, slashing, or thunder.

Options

Shape the attack text with the following options:

  • Reach: Specify the reach of the attack in feet. For example, reach 10 expands to reach 10 ft..
  • Range: Specify the range of the attack in feet. For example, range 30 expands to range 30 ft..
  • Enchantment: Add additional damage to the attack by writing plus <damage> <damage type>. For example, plus 1d6 fire adds 1d6 fire damage to the attack.

Adding both reach and range options will create a thrown weapon attack description like the following:

Melee or Ranged Attack Roll: +2, reach 10 ft. or range 30 ft. Hit: ⁠3 (1d4) piercing damage.

Saving Throw

{save [<saving throw ability>] [<DC ability>]}

The macro generates a saving throw using the monster's statistics.

  • Saving throw ability: The ability used by the target to make the saving throw.
  • DC ability: The monster ability modifier used to calculate the saving throw DC.

The DC is calculated as:

8 + the monster's proficiency bonus + the selected ability modifier

Use the standard ability abbreviations: STR, DEX, CON, INT, WIS, or CHA.

For example, the following macro:

{save CON WIS}

uses Constitution for the saving throw and the monster's Wisdom modifier to calculate its DC. For a monster with a +6 proficiency bonus and a +4 Wisdom modifier, it expands to:

Constitution Saving Throw: DC 18

Inline Values

{<value> <type>}

Inline values mark numbers, dice, and mathematical expressions that the editor should calculate and format automatically.

When an inline value contains dice, the generated dice expression is clickable and can be rolled directly from the stat block.

The value can be:

  • A fixed number, such as 15
  • A dice expression, such as 1d6
  • A mathematical expression using the monster's variables, such as 5 + PROF * CON

See Variables for the complete list of available variables.

The type describes what the value represents, such as feet, hit points, temporary hit points, targets, rounds, or a damage type.

For example:

{1d6 cold}
{30 ft}
{1d6 hit points}
{PROF * CON temporary hit points}

Type names and aliases are case-insensitive.

Damage

A damage type can be written with or without the word damage:

{1d6 cold}
{1d6 cold damage}

Both formats represent the same value.

Fixed damage values are also supported:

{15 cold damage}

Hit Points

Use hp, hit point, or hit points for hit points:

{1d6 hp}

Temporary hit points can be written using aliases such as temp hp or temporary hit points:

{1d6 temporary hit points}
{PROF * CON temporary hit points}

Measurements

Use measurement values for distances and dimensions:

{30 ft}

Marking a measurement as an inline value allows the website to convert it according to the unit selected in the settings, such as feet, map squares, or meters. Measurements written as plain text cannot be converted automatically.

When the measurement is used as an adjective, attach the value directly to -foot:

{30-foot} cone

Other Value Types

Inline values also support types such as:

  • target
  • attack
  • creature
  • humanoid
  • round
  • minute
  • hour
  • day
  • time

These are useful when the value is dynamic and can either result in a plural or singular form depending on the calculated value. For this reason plural forms are accepted where appropriate:

{CON targets}

can expand to 0 targets, 1 target, 3 targets etc. depending on the monster's CON modifier.

This is a test environment. Any data you enter will be deleted in the future. Do not store any information that you want to keep.