User Tools

Site Tools


Roll20 Scripts

Pathfinder character sheets will be used in Roll20.

Token Bars

The three value bars are used as follows:

  • Green: Hitpoints. Goes down as a token takes damage.
  • Red: Nonlethal damage. Goes up as a token takes damage.
  • Blue: No specific use, by default set to zero. Sometimes gets used as a counter.


There are a number of macros which might be useful to people, plus there's a few I have made standard for everyone (they begin with an exclamation mark, e.g. !Initiative) so they appear first if sorting alphabetically, which as GM makes it really easy for me.

These macros tend to make use of either character sheet options, or some of the API scripts I have enabled.

Note that when I say 'Macro', this can either be a global macro, or an Ability on a character. Character abilities only apply to a specific character, and are only displayed at the top when a token for that character is selected. Macros are more generic, and can appear at the bottom all the time.


Start Combat

Provides a quick and easy way to start a new combat, adding the selected tokens to a new initiative track. Any existing initiative track is cleared.

?{Start New Combat|Normal,!pfstartcombat|Surprise 10,!pfstartcombat 10|Surprise 20,!pfstartcombat 20}

Modify Combat

This adds (or removes) tokens from an existing initiative track.

?{Add to Combat|Normal,!pfaddtocombat|Have Surprise,!pfaddtocombat -100|Surprised,!pfaddtocombat 100|Surprise by Stealth,!pfaddtocombat ?{Perception DC}|Surprise by Bluff,!pfaddtocombat ?{Sense Motive DC} Sense-Motive|Make Surprised,!pfsetstatus Surprised|Give Surprise,!pfsetstatus Surprise|Leave Combat,!pfleavecombat}

Note the } in the macro. This is important (it represents an embedded '}'). Unfortunately, every time the macro is edited, this is expanded to be '}', which breaks the macro. It will need to be changed back before saving any changes.


This provides some actions for making tokens ready an action, or delaying or undelaying them.

?{Delaying Action|Delay,!pfinitflag current D|Ready,!pfinitflag current R|Undelay Selected,!pfundelay}

Delay / Ready - The current active token (in the turn order) will be marked as delayed or readied.

Undelay - The current selected token will be undelayed or unreadied. If they are readied, then they will move to above the current acting token, if they are delayed, they will be moved to after the current active token.

GM Tools

?{GM Toolbox|Naming,!pfname|Hitpoints,!pfhitpoints|Hitpoints (low),!pfhitpoints low|Hitpoints (high),!pfhitpoints high|Hitpoints (max),!pfhitpoints max|Heal,!pfheal ?{Healing}|Stabilise,!pfstabilise @{selected|token_id}|Treasure,!pftreasure|Missions,!pfmissions|All Missions,!pfmissions whisper }


This is automatically set up for everyone, and appears when a token is selected.


This rolls initiative for all tokens you have selected, and adds them to the initiative tracker. The character's Dexterity score is added as a percentile for use as a tie breaker. The output will look like this:


This is automatically set up for everyone, and appears when a token is selected.

@{selected|NPC-whisper} &{template:pf_defense} {{header_image=@{selected|header_image-pf_defense}}} {{color=@{selected|rolltemplate_color} }} @{selected|toggle_rounded_flag} @{selected|toggle_accessible_flag} {{character_name=@{selected|token_name}}} {{name=Saves}} {{Fortitude (@{selected|fort})=@{selected|fort|max} [[ 1d20+ [[ @{selected|fort} ]] ]]}} {{Reflex (@{selected|ref})=@{selected|Ref|max} [[ 1d20+ [[ @{selected|ref} ]] ]]}} {{Will (@{selected|will})= @{selected|will|max} [[ 1d20+ [[ @{selected|will} ]] ]]}} {{Notes=@{selected|Save-notes}}}

This macro is used to display saving throws for the selected token. All three saves are rolled simultaneously, which allows one button for everything.

  • Anything put into the 'max' field of Fort, Ref and Will atrributes will be displayed on that line. For example, if you have '+2 v poison', put that in the Fort|max attribute. You can't do this in the character sheet, it has to be manually updated in the attribute list.
  • Anything in the 'Save Notes' field on the character sheet is output at the end. This is another (easier) option for specific bonuses.

The output is whispered to the GM, and will look like this:


This is an example, and will need to be setup yourself. It is available as a button on your character sheet, but you may want to create a macro for it for quick access.

As an aside, all the pink buttons in the character sheet can be converted to macros. To find the macro, click the button then hit 'up arrow' in the chat window to see the command that was run. You can then copy this command into a macro. You can swap out the name of the character for 'selected' to make it a general purpose macro. On the other hand, if you leave the name in, it will work even if your character isn't selected.


It's easiest to show what this does than describe it:

It shows a number of buttons for base attack types (melee, ranged, CMB etc), as well as specific attacks that you've set up. Clicking one of them will automatically roll the attack, including damage rolls and critical rolls if required.


This is an example, and will need to be setup yourself. It is available as a button on your character sheet, but you may want to create a macro for it for quick access.


Similar to the 'attack' macro for combat, this lists all your spells, and provides buttons to cast them. It also has buttons for a caster level check, and concentration check.

Clicking any of the spell buttons will output all the spell details that have been defined on the character sheet, as well as automatically making caster level and concentration checks for you.


There are a number of skill macros available. Some I've set up as defaults, or you can write your own. Currently, they consist of:

  • Attributes
  • ExpertSkills
  • KnowledgeSkills
  • MovementSkills
  • RogueSkills
  • SocialSkills

You can execute these by clicking a macro button, or by typing #SocialSkills etc into the chat window. In the latter case, if no token is selected it will try to figure out which is your character itself.

An example macro looks like this:

!pfskills Social-Skills [[d20]] %Charisma,Bluff,Diplomacy,Handle-Animal,Intimidate,Sense-Motive,Perform*

The purpose of this is to make one die roll, and then apply it to all the skills given in the list. This allows me as GM to say “make a knowledge check”, without telling you exactly which knowledge to roll.

!pfskills is an API command, which takes the following parameters:

  • A descriptive title (use a hyphen in place of spaces)
  • The skill roll, which can be a die roll, or an actual value, such as 10 or 20 for take 10 or take 20. If you are an investigator, this could also include your skill bonus, e.g.: d20+d6
  • A comma separated list of skills and attributes to include in the result.

Attributes can be included in the list by prefixing with a percent symbol, e.g. %Strength. Skills which have spaces in the name, such as Knowledge-Nature, use hyphens instead of a space.

Specialist skills such as Perform, Craft, and Lore should have an asterisk at the end, e.g. Lore*. This will roll all your sub-skills.

Only skills which you could roll are rolled, so any skills which require training which you don't have skill ranks in won't be listed.

Your total score is shown for each skill, as well as the original die roll. If you want to Take 10 or Take 20, then it's probably easier just to manually add the 10 or 20 to the score rather than having separate macros for this. The score includes all current penalties for the character.

It is possible to write the macro so it gives the option of a die roll or Take 10/20 options. In this case, replace the roll parameter with something like this:

[[?{Roll|d20,d20|Take 10,10|Take 20,20}]]

If you want a limited number of macros, then the following super-macro allows you to select which sets of skills to roll. The first item on the list are Common skills, which are the sort of skills which are rolled regularly. The rest are broken down by category.

?{Select Skill Group|Common,!pfskills Common-Skills [[d20]] Acrobatics;Climb;Bluff;Diplomacy;Disable-Device;Perception;Sense-Motive;Stealth;Survival|Expert,!pfskills Expert-Skills [[d20]] Artistry*;Craft*;Profession*|Knowledge,!pfskills Knowledge-Skills [[d20]] %Intelligence;Knowledge-Arcana;Knowledge-Dungeoneering;Knowledge-Engineering;Knowledge-Geography;Knowledge-History;Knowledge-Local;Knowledge-Nature;Knowledge-Nobility;Knowledge-Planes;Knowledge-Religion;Linguistics;Spellcraft;Lore*|Movement,!pfskills Movement-Skills [[d20]] Acrobatics;Climb;Escape-Artist;Fly;Ride;Swim|Rogue,!pfskills Rogue-Skills [[d20]] Appraise;Disable-Device;Disguise;Perception;Sleight-of-Hand;Stealth;Survival;Use-Magic-Device|Social,!pfskills Social-Skills [[d20]] %Charisma;Bluff;Diplomacy;Handle-Animal;Intimidate;Sense-Motive;Perform*}


Available for general use, and designed to allow you to select tokens you aren't normally allowed to select. After running the macro, you will have the option to select the token.

!pfdescribe @{target|token_id}

This will output a portrait of the character selected, along with a description of them.

If the token has any particular status effects on them, then it will also output these after the description. This includes current hitpoint status, and effects such as stunned, fatigued or nauseated.


The following is a GM macro for outputting the tactics of a character. Useful when combat is about to begin and you want a reminder of how that particular creature fights.

@{selected|NPC-whisper} &{template:pf_block} @{selected|toggle_accessible_flag} @{selected|toggle_rounded_flag}{{color=@{selected|rolltemplate_color}}} {{header_image=@{selected|header_image-pf_block}}} {{character_name=@{selected|token_name}}} {{character_id=@{selected|character_id}}} {{subtitle}} {{name=Tactics}} {{before=**Before Combat:** @{selected|npc-before-combat}}} {{during=**During Combat:** @{selected|npc-during-combat}}} {{after=**Morale:** @{selected|npc-morale}}}


Sets status effects on selected tokens. Available for general use.

!pfsetstatus ?{What status|Bleeding|Blind|Confused|Dazzled|Entangled|Exhausted|Fatigued|Frightened|Grappled|Helpless|Invisible|Pinned|Nauseated|Panicked|Paralyzed|Prone|Shaken|Sickened|Slowed|Stabilized|Staggered|Stunned|Unconscious|Dead} ?{Value}

!pfunsetstatus ?{What status|Bleeding|Blind|Confused|Dazzled|Entangled|Exhausted|Fatigued|Frightened|Grappled|Helpless|Invisible|Pinned|Nauseated|Panicked|Paralyzed|Prone|Shaken|Sickened|Slowed|Stabilized|Staggered|Stunned|Unconscious|Dead}

It is possible to use the usual status list directly from the token, but using this macro guarantees consistency between actual Pathfinder effects across all the macros and APIs, e.g. the Describe macro listed above. If possible, they will try to link to effects on the character sheet, as long as there is a link for the HP from the token to the character.


I have a number of API Scripts that the campaign will make use of in order to simplify some things. Some of these are designed with blind players in mind (so provide text output, or allow text commands without needing to select anything).


Provides a number of utilities for handling combat related tasks.


A single API command can roll initiative for all selected tokens, or for your character if no token is selected. This can be typed into the chat window, and it is exactly the same as the macro. The Dexterity of the character is added as a fractional modifier for tie breaking.


If an optional argument is passed, then this is used as the roll. This is designed for use when using Roll20 as a tabletop aid, and players are rolling their own initiative for the GM to fill in within Roll20. The dexterity score is then added as a fractional modifier.

!pfinit <roll>


Automatically updates tokens as they receive damage, and outputs their status to the chat window. Hitpoint bars for NPCs are hidden from players, but an orange (brown) marker is placed on a token when they have taken one third damage, and a red marker when they have taken two thirds damage.

A skull marker is added when they are on negative hitpoints, and the token is crossed out once they are dead. Making Constitution checks when on negative hitpoints is done automatically.

A green status marker means that the token has stabilised.

To do damage to a token, just type:

!pfdmg <hp>

This will do the specified number of hp in damage, and output a result if the character is moderately or heavily wounded, or dying or dead.

To do nonlethal damage to a token, just type:

!pfdmg <hp> nonlethal

Again, the specified number of hp of nonlethal damage will be done. You can actually just shorten the second argument to 'n' if you want.

If no token is selected, it will try to work out which token is yours.


Displays the current hitpoint status of your character.



Heals a token a specified amount of damage.

!pfheal <hp>

Your new hitpoints will be capped to your maximum hitpoints. If you don't specify a number of hitpoints, it will not only fully heal you, but also remove any status effects on the token (such as blindness, stunned etc).

Saving Throws

Makes a saving throw for the selected character, or your character if none are selected.

!pfsaves ref
!pfsaves fort
!pfsaves wil

This will simply roll the specified saving throw. The ref, fort or wil can be spelt out in full (e.g. reflex) if you really want to.

If you want, you can also specify the DC as the second argument, and in which case it will tell you whether you succeed or failed. If multiple characters are selected, a flag symbol will be placed on all tokens that failed.

For an even more advanced use (and these features were really written for GM use), you can specify the effects that happen on success/failure. e.g.:

!pfsaves ref 14 30 15
!pfsaves wil 17 stunned
!pfsaves fort 15 20 10 blind

The above will, in turn, make a ref save, taking 30 damage if you fail, 15 if you succeed; make a will save DC 17 or be stunned; make a fortitude save DC 15 or take 20 damage and be blinded, or take 10 damage on a save.

Since these can be applied to multiple selected tokens, they are most useful for the GM.

magnimar/roll20.txt · Last modified: 2019/04/28 13:58 by sam