Guide For GURPS 4e On Foundry VTT
Guide For GURPS 4e On Foundry VTT
Author’s note 2
Links 2
Getting started 3
Export from GCS 4
Export from GCA 4
Importing into Foundry 6
How to play 7
Character Sheet 7
Modifier Bucket 9
“On-the-Fly” formulas 11
Special formatting (Blind rolls and combining checks or modifiers) 13
One-the-Fly in Chat 14
Direct execution of One-the-Fly formulas 15
GM Send of On-the-Fly formulas 15
How to make an On-the-Fly “Blind” 16
On-the-Fly Roll Tables 16
How to Apply Damage 18
Mook Generator (how to create NPCs) 19
Chat commands 22
Some example chat macros 22
F.A.Q / “How To” 23
How do I roll for initiative? 23
When I roll for initiative, I get this weird number that is greater than basic speed. 23
As a player, how do I roll a Perception check? 24
How do I request a Perception roll from my players? 24
What data paths can I use when building a Foundry roll? 25
How do I request a “Blind” Perception roll? I don’t want my players to know if they have succeeded 26
How do I ask a specific player for a roll / blindroll? 27
Can I apply a global modifier to everyone’s next roll? 28
How can I roll against a RollTable using the Modifier Bucket in a “script” macro? 29
Can I add the Modifier Bucket to the RollTable formula (without making a macro)? (e.g. Reaction tables)
29
Modules 30
PDFoundry 32
Dice so Nice! 33
Chat Portrait 33
Disclaimer ;-) 37
Legal 38
Author’s note
I am sorry, but the docs will never be completely in sync with the release. ;-) I figure it is more important to get the new
features out there, than to document the old ones. However, I do my best to keep adding to this document every chance
I get.
Chris 2/18/21
Links
If you have questions, join our Discord channel, GURPS #vtt-foundry: https://discord.gg/6xJBcYWyED
Getting Started video: Getting Started & Players Guide video: Players Guide
And that is it. You will be notified if we release newer versions, and you can automatically upgrade from the
“Game Systems” tab, without having to reinstall.
Getting started
Getting Started video: Getting Started
Players Guide video: Players Guide
This game system expects that you will create and maintain your characters in an external program such as
GURPS Character Sheet (GCS) https://gurpscharactersheet.com or GURPS Character Assistant (GCA)
http://www.sjgames.com/gurps/characterassistant/.
The game system has some editing functions, but due to the complexity of GURPS, it will leave all of the
complex character creation rules to the applications that have been developed (for years!) specifically to
handle them.
To use your characters into Foundry, it is best if you first create them in GCS or GCA, and then export them to
Foundry.
Export from GCS
As of the GCS Master Library update to v2.11 (March 10, 2021), you can export from GCS using the Foundry
VTT export in the Master Library. You do not need to download and install the output template.
Copy this file into your GCS data directory (on Windows, it is C:\users\<username>\GCS\). Navigate to the
“User Library” directory, create the new directory “Output Templates”, and place it there.
To export your character from GCS, load your character, select the menu options: “File” -> “Export To...” ->
“Master Library Output Templates”, and then select “Foundry VTT”.
NOTE: The Fantasy Grounds XML export is no longer supported. Please use the Foundry VTT output
template.
Load the character, and select the menu options "File” -> “Export". In the “Export Options” dialog, select
“export to Foundry VTT.gce” in the pulldown, and check the “Custom file format” box.
NOTE: You DO NOT need to change the File extension. You may leave it as “.TXT”.
Press “OK” and the “Export File To…” dialog will appear. Just press “Save”, and it will save the export right
next to your character. For example, if the character file is named:
NOTE: The Fantasy Grounds XML export is no longer supported. Please use the new “export to Foundry
VTT.gce” script.
The import system does NOT create Actors. It only refreshes already created Actors. This was done on
purpose.
Open the Actors tab on the side bar (top right of your screen) and click on “Create Actor”:
Give the actor a name. It doesn’t matter what you choose, since it will be overwritten by the import process.
For this example, we will name it “q”.
The default character sheet will open. Press the “Import” button in the title bar.
Select the file exported from GCS or GCA and press Import. GCA users, the file does NOT need to end in
“.xml”. If you followed the procedure above, it should end in “.TXT”.
NOTE: You will lose all of the data stored in “q”. Which is fine, we are more interested in the data from GCS
or GCA.
In fact, you can re-import as many times as you like. The game system will keep the same Actor object,
so it will remain associated with the same tokens.
How to play
Once all of your characters are imported into the system, you can play. We have a Players Guide video to
get you started.
If a character gains an “item”*, the GM should add the “item” in GCS or GCA (so that they can do all of the
various calculations) and re-export / import.
*An “item” could be anything, a piece of equipment, a new advantage / disadvantage / skill / spell, etc.
Anything that might provide a new feature or change the value of some existing roll.
While our game aid does provide limited editing of the character sheet, it does not do any calculations on the
new information. The limited editing is mainly there so that you (or the player) can add On-the-Fly formulas
and take notes.
Character Sheet
If you are familiar with GCS, then you will recognize the character sheet. Rich Wilkes gave me permission to
use his HTML format, so I did. Shamelessly ;-) If you have not used GCS, I highly recommend it. It is
robust, cross platform (Windows, Mac and Linux) and has been in active development for 21+ years.
https://gurpscharactersheet.com (and no, I am not getting paid for this promotion, I just really like it)
You will notice that many items are highlighted in yellow. If you hover your mouse over them, they will change
to look like a button:
Left click on the button to “roll” that attribute. You will see a message in the chat log indicating the outcome:
You can roll Attributes, Dodge values, Weapon attacks (Lvl), Parry, Damage, Skills (SL), etc.
Modifier Bucket
You will also notice a few things highlighted in orange. If you hover your mouse over them, they will also
change to look like a button:
Left click to add the modifier to the next roll that you do. If you have played GURPS before, you know that the
usual process is to determine all of the modifiers to your action (e.g. is it dark? are you standing on a slippery
surface? have you been blessed by the gods?) each of which can give a plus(+) or a minus(-) to your next roll.
The Modifier Bucket collects all of those modifiers and sums them up for you.
It is showing the “-9” modifier that you just clicked on. When you hover over the red square at the bottom on
the screen you will be presented with the Modifier Bucket Tool Tip:
You can mouse over any of the highlighted text, and it will turn into a button that you can press. Green and
Red buttons will add positive and negative modifiers to the bucket, which is displayed in the bottom left corner
(“Current Modifiers”).
Since this is a tool tip, it will close automatically once you move your mouse off of it. If you would rather it
appear when you click on it (and not when you mouse over it), uncheck the “Show Modifier Tooltip on mouse
‘hover’” system setting.
You can remove any current modifiers by clicking on them. You can add commonly used modifiers by
selecting them from the pulldown menus. If you don’t see a particular modifier that you want, you can always
type it into the “Or you can type in a modifier:” field, for example “+2 to hit” or “-2 dazed”. The modifier MUST
have a plus(+) or minus(-) in front of the number.
If you are the GM, you can send your modifier bucket to another player. This can be useful if a new player
does not know all of the modifiers that could affect their roll. The GM can build up their own modifier bucket,
and then click the player name to send it to them. The player’s modifier buckets will be whispered to you in the
Chat log.
“On-the-Fly” formulas
This is my favorite feature! If you have played GURPS, then you know it can get very complex (if you let it).
To help facilitate this complexity, the character sheet can parse text fields to create actionable buttons.
Huh? Sorry, too much corporate speak. Basically, you can embed text in your character sheet in the form
“[something]” and if that something is one of the following formats, it will change the text into a button, and you
can click it.
“To be honest, at first I didn't value OtF - I couldn't see the potential.
But man, what a game changer it is! Using it for everything, rule look-ups with direct roll options, roll-
tables, chat-roll, in character sheets ...
Just made a brief rule summary for avalanches from DF. Every needed skill roll, with default (and soon
alternate attribute based) just a click away. Including from where the avalanche comes, how hard it
hits, how to resist... It's so f** great! I now use rules for my party which I would have never ever used
before because it would have been too much fuzz to look it up.”
NOTE: All of the formats are case sensitive (including Skill, Spell and Attack names).
[ST] Roll against the character's attribute. ST, IQ, DX, HT, WILL (or Will), PER (or Per).
[IQ-2 text] Roll against an attribute, applying the modifier “-2 text” to the roll. NOTE: There is
[Will-2 text] no space between the attribute and the modifier.
[CR: 15 text] Control Roll vs 15, with optional text displayed in chat. NOTE: GCS automatically
adds this as a note for Self Control.
[1d+3 text] An unopposed roll using the formula Xd[+/-Y], with optional text displayed in chat.
[1d-3! text] As above, with a minimum result of 1 (instead of 0). EX: [1d-3! Healing]
[2d cut] If the text following the dice formula is one of the recognized GURPS damage
[2d (2) imp] types: burn, cor, cr, cut, fat, imp, pi-, pi, pi+, pi++, tox (or dmg), then it is
[2dx3 (0.4) cr] considered a "Damage" roll (and displayed as such in the chat). May have a
[4d*5 burn] multiplier (x/X/*)M and/or an armor divisor (N). May add “*Costs XFP” to incur FP
[2d-1 burn *Costs 1FP] cost of X. No other text allowed.
[S:name] Roll against the character's Skill or Spell that starts with “name”. The Skill/Spell
name cannot contain spaces. E.g. [S:Brawl] will match “Brawling”, [S:First] will
match “First Aid/TL3”. Skills are searched first, then Spells.
[S:name-2 text] As above, applying the modifier “-2 text” to the roll. NOTE: There is no space
between the Skill/Spell name and the modifier.
[S:n*a*m*e] You can use any number of “*” to match Skill/Spell names. Remember, there is an
implied “*” at the end. E.g. [S:F*Aid] will match “First Aid/TL3”
[S:”name with spaces”] Roll against the character's Skill or Spell that starts with “name with spaces”.
Since the name is enclosed in double quotes (“), it can contain spaces.
[S:”name with As above, applying the modifier “+2 text” to the roll. NOTE: There is no space
spaces”+2 text] between the Skill/Spell name and the modifier.
[A:name] As above, but for Attacks. Melee attacks are searched first, then Ranged.
[A:name-2 text] NOTE: The “Usage” is included in the search. EX: If you have
[A:n*a*m*e] Melee: Throwing Axe (Swung)
[A:”name with spaces”] Ranged: Throwing Axe (Thrown)
[A:”name with
spaces”+2 text] [A:Throwing*Axe*Thrown] will roll against the Ranged attack.
[ST26] Roll against ST 26. Useful when describing powers that operate at a set level. No
optional text or modifiers may be added.
[+2 text] Add a global modifier described with text. EX: [-2 to hit], [+2 Mighty Blow], etc.
NOTE: Modifiers can be clicked multiple times. EX: [-1 due to range]
[+2 dmg *Cost 1 FP] If a modifier ends with “*Costs ?FP”, then that amount of FP will be subtracted from
the currently active character when the roll is made. Ex: [+2 dmg (Mighty Blow)
*Costs 1FP]
[-4 to hit *Max:9] If a modifier end with “*Max:?”, then the target level is limited to “?”. EX: [-4 to hit
(Charge Attack) *Max:9]
[PDF:B208] Create a link to open the Basic Set PDF to page 208. Uses PDFoundry
[SW cut] Roll damage based on the character's basic swing and thrust. Must include one of
[THR-1 imp] the recognized GURPS damage types. May add “*Costs XFP” to incur FP cost of
[SW cut *Costs 2FP] X. No other text allowed.
[Dodge+1 text] Roll vs the active character’s Dodge value, applying the modifier “+1 text” to the
roll. NOTE: There is no space in front of the modifier.
[Fright Check+1 text] Roll vs the active character’s Fright Check value, applying the modifier “+1 text” to
the roll. NOTE: There is no space in front of the modifier.
[Vision+1 text] Roll vs the active character’s value, applying the modifier “+1 text” to the roll.
[Hearing+1 text] NOTE: There is no space in front of the modifier.
[Taste+1 text]
[Touch+1 text]
[Smell+1 text]
[Parry] Find the first melee weapon (that is equipped) with a Parry (or Block) level, and roll
[Block] it.
[Parry:text] Find the first melee weapon with a Parry (or Block) level, that starts with text, and
[Block:text] roll it. Used when the character is not wielding the first weapon in the list, and you
are not using the “Equipped” status of equipment to indicate the active weapon.
[!otf-formula] If you start the On-the-Fly formula with “!”, it will create a Blind Roll. If a
player clicks on this button, it will show the results to the GM only. Note,
this only works for “target” formulas (Attribute/Skill/Spell/Attack checks). It
does not work for modifiers or damage rolls. EX: [!PER] Create a Blindroll
for Perception.
[+2 Aim & +1 Determined] Combine multiple modifiers into a single On-the-Fly formula (and therefore,
a single button). You can combine unlimited numbers of modifiers,
separated by &. EX: [+2 Aim & +1 Determined & +2 to hit (prone) & +1
lucky]
NOTE: This only works for modifiers.
[S:Tactics | IQ -6] Pick the best roll from a list of Skills and Attributes (including modifiers) and
[S:Acrobatics|S:Judo-2|DX-4] roll that. You can have unlimited numbers of Skills and Attribute checks,
separated by |. This only works for Skills (S:Skillname) and Attributes (ST,
IQ, DX, HT, Per and Will)
[/chat command] You can execute a chat command. See Chat commands.
[/:macro] is a useful way to execute a macro from an On-the-Fly button.
You can add On-the-Fly text in the title/name or notes section of an “item” (Attack, Equipment, Advantage,
Skill, Spell, etc.), or the “user description” section (available in GCS) for advantages / disadvantages. You can
also add On-the-Fly formulas to Journals entries, RollTables and Chat messages.
Some examples.
“[1d3! Healing]” added to the notes section of the First Aid skill:
“[1d Healing Potion]” added to the notes section of the Healing Potion equipment:
IMHO, this is especially useful if you create characters with any of the “Powers as Magic” systems,
Thaumatology: Sorcery, Divine Favor, etc. Here are some of the Advantages for a character that I created as
a Hogwarts student, using a variation on Sorcery. The Advantages below “Signature Gear (Wand)” are spells:
All of the “actionable” things are highlighted in yellow or orange and can be clicked on.
One-the-Fly in Chat
As of v0.8.0 anyone can type an On-the-Fly formula into the chat window. Useful if you are trying to help a
player make a particular roll.
For example, a player needs to roll against their First Aid skill, but is having trouble finding it on the character
sheet. You can type:
In chat, and a chat message will appear with the text highlighted in yellow. If the player mouses over it, it will
appear as a button
And if they press it, it will roll the Skill that starts with “First*Aid” on their character.
becomes:
/r [otf-formula]
/roll [otf-formula]
Or, to roll them privately (so only you can see the results):
/pr [otf-formula]
/private [otf-formula]
For example, if the GM opens a player’s character sheet and right mouse clicks on the “First Aid/TL3” skill
button, this dialog will appear:
The GM can select to send that On-the-Fly formula to Everyone, Everyone as a Blind Roll, Just the Owner of
that character or Just the Owner of that character as a Blind Roll.
NOTE: Any On-the-Fly formula can be sent. If you can click on it, you can send it.
As mentioned in the last row of the On-the-Fly formula table above, you can convert many On-the-Fly
formulas into a Blind Roll (which means the player will not see the result). Just prepend any On-the-Fly
formula with “!”. For example, sending the chat message:
And when the player clicks on that button, it will roll against their active character, and only show the results to
the GM(s).
As of v0.8.5, you can include direct private rolls. For example, to create a table that rolls random Trap
damage, you could do:
Which will automatically roll the damage privately so the GM can apply it.
See these videos for demonstrations v0.8.0 features and v0.8.1 features.
The Notes, Traits, Skills, Melee and Ranged values are parsed for On-the-Fly formulas.
Traits may be entered one per line, or separated by “;” or a combination of both.
Skills may be entered one per line, or separated by “,” or a combination of both.. Skills are parsed using the
format:
<skill name>-<number>
The skill name may include any character except “-”. If you forget the “-”, or the value following the “-” is
missing or not a number, an error will be added to the text when you try to create the mook.
Melee attacks must be entered one per line. Melee and ranged attacks are recognized if they follow 1 of 2
patterns:
The name may include any character except “(“. As with Skills, if you do not follow the format, an error will be
added to the text when you try to create the mook.
Melee attacks can also have the optional parameters, followed by “text”, separated by spaces. The “text”
cannot contain spaces. The parameters are:
Reach/reach
Usage/usage
Parry/Parry
ST/st
Block/block
Ranged attacks follow the same format as melee attacks. The can also include the optional parameters,
followed by text, separated by spaces:
Acc/acc
Rof/RoF/rof
Rcl/rcl
Usage/usage
Range/range
Shots/shots
Bulk/bulk
ST/st
Ex: Long Range Rifle (12) 2d+1 pi range 50/100 bulk -5 acc 3
Where <Item name> can contain spaces. X is the quantity of items. Y is the per-unit cost of the item, and Z
is the weight in LBS. The format must include the “$” and “lbs” to be valid.
Equipment isn’t strictly necessary, since the melee and ranged attacks are described above, but some stat
blocks include equipment, so we try to capture what we can.
Chat commands
We have added the following chat commands, available to everyone:
/roll [On-the-Fly formula] Execute the formula as if it was just clicked. Ex: /r [+2 to hit] will
/r [On-the-Fly formula] add a +2 modifier to the modifier bucket.
/private [On-the-Fly formula] As above, but only show the results to yourself.
/pr [On-the-Fly formula]
/everyone +1d-1 FP Add or subtract Nd+/-M to every owned actor (each actor gets a
/ev -2d Hp separate roll). HP & FP are not case sensitive.
/clearmb
/r [-4 due to dim lighting]
/sendmb
You have entered a dark room, please click [!PER]
When I roll for initiative, I get this weird number that is greater than basic speed.
The Game Aid uses the GURPS turn order to determine who goes first in a round. The GM can roll for
initiative using the combat tracker window. Click the circled button to roll initiative for everyone.
The character with the highest basic speed goes first, then if tied, the character with the highest DX, and then
finally, a 1d6 roll. This is evaluated from this formula: "@basicspeed.value + (@attributes.DX.value / 10000)
+ (1d6 / 100000)". Which combines all of those tests into a single number. Example:
yellow, which may look something like this: NOTE: This attribute is not displayed on
the Simplified character sheet. Also, your GM might send you a chat message that looks like:
If you move your mouse over it, it will become a button that you can press to roll against your character’s
Perception (PER) value.
1. You can ask them to click the PER attribute on their characters sheets. NOTE: The Simplified
character sheet does not have a PER attribute.
2. You can right click on the PER attribute of ANY of the other character sheets, and select “To
Everyone” when the following dialog appears:
And when they hover their mouse over it, it will appear as a button which they can click:
If you select “Blindroll to Everyone” it will display this in everyone’s chat log:
And if they click on it, it will whisper the results to the GM and they will not be able to see the results
(i.e. “Blind”).
3. You can send a chat message and include the On-the-Fly formula [PER] (or [Per]). For example:
You have just entered a new room, please click this button [PER]
3a. You can send a chat message and include the On-the-Fly formula [!PER] (or [!Per]). This will
request a Blind Roll from the players (a roll where they do not see the result). For example:
4. You can have your players use the Foundry chat roll function, with the following formula:
/roll [email protected]
/r [email protected]
Which rolls 3d6 and computes the margin of success versus the character’s PER (perception) value.
However, doing so will use Foundry’s roll chat message (which doesn’t look as good as ours IMHO).
Don’t do this. Instead your players can roll Perception for themselves by entering the following
command into their own chat:
/roll [PER]
or
/r [Per]
attributes.ST.value
attributes.DX.value
attributes.IQ.value
attributes.HT.value
attributes.WILL.value
attributes.PER.value
HP.value
FP.value
dodge.value
basicmove.value
basicspeed.value
parry
frightcheck
hearing
tastesmell
vision
touch
gmod - this is the “global modifier”, the number in the modifier bucket
gmodc - as above, but this will clear the modifier once it is used
As of v0.8.11:
currentmove - based on your encumbrance
currentdodge - based on your encumbrance
equippedparry - the parry value of the first equipped weapon
equippedblock - the block value of the first equipped “weapon” (shield)
NOTE: You will probably only need to know these values if you are using a module (like Token Tooltip Alt).
How do I request a “Blind” Perception roll? I don’t want my players to know if they
have succeeded
As the GM, you can:
1. Right click on the PER attribute of ANY of the other character sheets, and select “Blindroll to
Everyone” when the following dialog appears:
2. Send a chat message and include the On-the-Fly formula [!PER] (or [!Per]). For example:
/blindroll [email protected]
/br [email protected]
Which rolls 3d6 and computes the margin of success versus the character’s PER (perception) value.
However, doing so will use Foundry’s roll chat message (which doesn’t look as good as ours IMHO).
Don’t do this. Instead your players can Blind roll Perception for themselves by entering the following
command into their own chat:
With options to send to this specific player (as a whisper) as a roll or a blindroll.
2. Send a whisper to the player and include the appropriate On-the-Fly formula. For example:
/roll [email protected]
/r [email protected]
Which rolls 3d6 and computes the margin of success versus the character’s PER (perception) value.
However, doing so will use Foundry’s roll chat message (which doesn’t look as good as ours IMHO).
Don’t do this. Instead your players can roll Dodge for themselves by entering the following command
into their own chat:
/roll [DODGE]
or
/r [Dodge]
2. You can send the modifier in the chat, and the players can click on it if necessary. Of course, this
doesn’t automatically apply it to their bucket, but it does make it available for everyone. For example, you can
send the chat message:
Everyone who wants to attack must include this modifier: [-2 due to poor footing]
3. You can create a chat macro to build up a set of modifiers and send them to everyone. Create a
“chat” macro (not a “script” macro), and enter:
/clearmb
/roll [-2 due to poor footing]
/sendmb
This will clear your own Modifier Bucket, execute the On-the-Fly formula “-2 due to poor footing” which
will add it to your Modifier Bucket, and then send it to everyone.
How can I roll against a RollTable using the Modifier Bucket in a “script” macro?
To roll against the “Critical Head Blow” table, create a “script” macro (not a “chat macro”) and enter:
And if you want to clear the Modifier Bucket after the roll, just add:
GURPS.ModifierBucket.clear()
Can I add the Modifier Bucket to the RollTable formula (without making a macro)?
(e.g. Reaction tables)
Yes! You can add "+ @gmod" to add in the global modifier (what is showing in the modifier bucket), or "+
@gmodc" which will add the modifier to the table roll, and then clear it.
Modules
Here is a list of highly recommended modules:
Expander
GM Notes
Permission Viewer
Pings
Token Tooltip Alt
We have built a configuration for Token Tooltip Alt. The GMs and owners will see the full layout,
Players will only see a text representation of the NPC’s status.
We set it up so that it displays:
Current HP/Max HP
Current FP/Max FP
Current Move
Dodge / Parry / Block **
Perception
** If the character does not have block, then it is displayed as “D: <dodge>/P:<parry>”
And Players looking at NPCs, will only see a text message with some indication of health. The NPC heart is
black for hostile, blue(purple?) for neutral and green for friendly.
If neither wounded or tired, then it will show "OK". So an NPC that is 1/2 HP and 1/2 FP will still show as "OK"
(since the Players wouldn't really know... not in the heart of battle, IMHO)
Of course you can change this yourself... but I warn you... editing the config is dangerous... one small error and
nothing displays. No error, no nothing. I spent a lot of time trying to get this to work... just so all of you
wouldn't have to :grin:
You can download the configuration (token-tooltip-alt-config.txt) from this ZIP file. You have to copy
the text and paste it into Token Tooltip Alt’s Tooltip Manager by using the “Import” button:
These are page references to the various GURPS PDFs. If you have the PDFoundry module installed, you
can define the location of your PDFs, and the character sheet will open them in game (and allow you to share
them with your clients).
Once you have PDFoundry installed, open the “Journal” tab on the side bar, and click on the “Create PDF”
button at the bottom. It will open this dialog:
Click the Browse button to find your PDF. It will be copied into the Foundry folder.
NOTE: If you are remotely hosting your Foundry, this process may be more involved. You may have to use
your remote host’s facility to upload the file, and then add it to Foundry. In either case, the PDF will count
against your storage limit.
Enter the PDF Code from this list: https://gurpscharactersheet.com/page_references.html (although the list is
incomplete, you get the idea). “B” for Basic Set, “P for Powers, etc.
NOTE: If you have separate Basic Set Characters and Campaigns PDFs, you can change the system setting
“Basic Set PDF(s)”
Use “B” for the Basic Set Characters PDF, and “BX” for the Basic Set Campaigns PDF. Now click on the
“Test Settings” button. It will open the PDF to page 5 (note, if testing the separate Basic Set Campaigns PDF
“BX”, it should open to page 340 instead). If it opens to a different page, enter the difference in “Page Offset”.
Now all “Ref” columns and On-the-Fly entries like: “[PDF:B101]” can open to the PDF.
Dice so Nice!
https://foundryvtt.com/packages/dice-so-nice/
This has nothing to do with this game aid. But it is SUCH A NEAT module, you have to install it. The game
just loses something if you can’t see dice rolling across the table. Trust me. It is definitely worth the 10
seconds it takes to install and enable.
Chat Portrait
https://foundryvtt.com/packages/chat-portrait/
Again, nothing to do with our game aid, but it adds such a nice feature to the chat log:
Chrome vs Firefox
We have found that the user interface works fine in Chrome. Unfortunately, there are some layout issues with
Firefox, and we don’t have the time (or the skills) to figure out why. So for now, we HIGHLY recommend
having all of your clients connect using Chrome.
Form vs Function
Or put another way, “looks good” vs “works good”. This is still a very young project, and as such, we have
focused more on the “works good” than “looks good”. If you notice a visual flaw, feel free to add it as a
comment below or add it as an issue here: https://github.com/crnormand/gurps/issues, but remember, we are
still working on getting everything working.
My current TODO list, in no particular order (and this is my “dev speak”, so if it doesn’t mean anything to you,
don’t take this personally). Items with a check mark have been completed… but if you think of something,
feel free to add a comment.
✓ When we drop damage, display a dialog with combat options (subtract DR per location, apply wound
modifiers, etc.)
✓ Allow Items to be added as Equipment (so some can come from import, and some from the Items list).
✓ Build a dialog for Modifier Bucket to edit current list, and display list of common modifiers
✓ Allow GM to "send" current modifier stack to another player
✓ Allow GM to see the individual player's modifier buckets
✓ Investigate "status effects" and define (or adapt to ) standard GURPS statuses (Stunned, Shock, etc.)
and see how they can add to the Modifier bucket.
✓ Build a combat focused character sheet
✓ Open a specialized combat-focused character sheet on the currently selected item in the combat
tracker. Can we embed it in the tracker (and/or should we try)? In the Fantasy Ground combat
tracker, you could expand an entry and it would show melee/ranged attacks and general defense
options. I am wondering if we built yet-another character sheet, mainly for NPCs that only shows
attributes (and not points), current level of encumbrance, dodge. Current HP/FP (and possible other
resources, ER, CP, etc.), Melee/Ranged attacks. Skill names and level, and a compressed list of
Advantage names. And (editable) character Notes, so the GM can add On-the-Fly formulas.
✓ Support other character sheets. Simplified/Gencon
○ “Old School” BasicSet character sheet
○ GCA Phoenix style character sheet (need outside help to get this done)
✓ Add button to quick cycle through character sheets
✓ Build Full GCS export template
✓ Build better GCA export VBScript
✓ Make character sheet “macro-able”, so that players can build script macros
✓ Enhance GCS output to support hierarchy of Advantages, Skills and Spells (containership)
✓ Saved/named Buckets or Bucket presets (regular collections of well used modifiers) to macrobar
✓ Remove +0 for range from Ruler
✓ Add UP/DOWN buttons to FP / HP title bar to quickly change value
✓ Extra effort. [+1 Feverish Defense *Cost 1FP] / [-4 to hit *Max:9] “Charge Attack”
✓ [Heroic Charge *Cost 1FP] ? NO bonus, but applies cost if used
✓ Would it be possible to tie GCS export/FVTT import into a single process? Foundry requests directly
from running instance of GCS.
✓ Parse chat messages for “gurpslinks” (allows On-the-Fly text in rollable tables)
✓ GM sends “just roll under this” /w playername [ST12] or [Stealth - 5].
✓ Add error reporting to the import process. Send a chat message concerning the success or failure of
a character import (so the player doesn’t have to know how to bring up the debugger). Partially works.
A bad parse error in the XML is hidden.
✓ Last skill or advantage in list display at the bottom of the area (especially noticeable if sizes very
different)
✓ System settings:
✓ Which RANGE rules to use (BasicSet / Monster Hunters)
✓ Display Change Log
❏ Setting to change Simplified sheet hit locations (1 vs all)
❏ Organize system settings (currently first added, first displayed)
✓ Tooltip over DR locations showing equipment
✓ System setting to turn off mod tool tip and range modifier
■ Change game direction/rotation so that it doesn’t rotate the icon, but instead rotates an arrow or better
yet, a colored border (indicating front, side and back hexes) kind of like Custom GURPS Token Hex for
VTTs
Use https://foundryvtt.com/packages/about-face/ (it does this already)
❏ Add “Combat Notes” display under Melee/Ranged (discussed in issue #327)
✓ Add [Dodge] to OtF formulas
✓ Add Attacks (melee/ranged) to OtF formulas
✓ Revamp OtF formula parsing to allow quotes to enclose spaces
✓ Create Blind Roll mechanic for OtF formulas
❏ Drag and drop visual/sound effects from a palette (compendium) to an “item” on a character sheet and
if the user has selected a target, and a roll on that “item” succeeds, display the effect on the target.
✓ NPC import sheet (allows GM to quickly create low level npcs)
✓ Build “stat block” free form text importer to easily create NPCs/monsters
❏ GCS Conditional Modifiers?
■ Add a GM note to character sheets that only the GM can edit and see
https://foundryvtt.com/packages/gm-notes/
❏ Check permissions for editing/viewing sheets.
✓ From a user: I would like to create the following: I draw a polygon and with the help of the
Multilevel Token Mod execute a macro whenever a token moves on that polygon. This macro
should return a blind GM roll in the chat with the result of a Vision (Hearing, Taste Smell, etc. )
roll. It would be great if that chat entry looked like the ones you already have in place for
Success Rolls [Roll vs Vision (12) 11 Success! made it by 1]. But since I am not a coder I have
no idea how to do that. Best I have come up so far is /br 3d6ms<=(@vision). I think it would
help if we rewrite gurps.js-onRoll() to use a template instead of concatenate strings.
This can be accomplished by “rolling” On-the-Fly formulas. EX: /r [!Vision]
✓ Permit the user to define hit locations not supported in GCS, specifically the humanoid hit-
locations from Low Tech. I was able to create them using a library for Low Tech Instant Armour
but was not able to tell GCS to provide DR for locations not defined in GCS. May not be
possible. @JamesH
❏ Mild pain (-1) status effect
✓ Apply Modifier bucket to normal rolls “/r” or roll tables (gmod & gmodc)
❏ Add tabs to combat sheet for Ads, Skills, Spells & Equipment
✓ Support for Conditional Injury (Pyramid 120)
✓ Collapsible chat messages (to “hide” the damage result calculations)
❏ Support worlds with different G-force constants, especially for encumbrance and move/speed.
I can see G affecting encumbrance. And we could recalc which level they are at, based on the total
equipment weight. But move/speed are calculated from DX and HT, I don’t see how they are affected
by G.
✓ Add Parry and Block to On-the-Fly (search through melee). [Parry:2 hand]
✓ Right click to change qty or delete equipment
✓ Add a visual control (button) to do so as well.
✓ Hold SHIFT key for private roll (GM)
✓ Added @gmod, @gmodc to roll macros
✓ Sync PC encumbrance, weapon parry/block with NPC parry/block, damage dodge
✓ Expand On-the-Fly to handle arbitrary targeted rolls (So GM can make players roll against a
skill they do not own). EX: [S:skill:10] and a default? [S:skill(DX-4)]
❏ Chat functions for falling damage, throwing damage, etc. Based on current character’s
ST/HP/HT?
✓ Chat functions for clearing modifier bucket, send bucket to player name, send to everyone
❏ Provide in-Foundry help for chat syntax for rolls, modifiers, etc… I wonder if we can
programmatically build a Journal entry with all of this information in it?
▢ Provide a point and click solution as well. Right now this feels like the Unix of game
systems -- i.e., super powerful as long as you are comfortable with the command line.
❏ Ammo counter? Tied to equipment? # Shots: dec 1, all, reload
✓ Export GCS image. Is there a GCA image? Yes, there is a filename.
❏ Lost limb status (missing arm, leg, head ;-)
❏ Figure out all the magic mouse combinations and provide visual controls or indicators so the
users know that they are there, and what they do. (I for one will never remember what is left-
clickable, right-clickable, shift-clickable, ctrl-clickable,
✓ nor will I remember any of the special chat messages. (type /help)
✓ /roll [otf] be able to directly trigger an OtF formula instead of just displaying it
✓ Journal entries parse OtF
✓ Add support for the Chat Portrait module. Currently does not show on ‘targeted’ or ‘damage’
messages.
✓ Add ability to track other transient values: Control Points, Energy Reserve, etc. “additionalresources”.
For resources/consumables (HP, FP, ER, CP, ammo, etc…) create a GUI control with
increment/decrement + reset (reset the current count to the max) and other functionality (for example
typing in a delta, like “+5” to add 5 points).
❏ Would it be possible to add the option for vehicle actors into the GURPS system? My particular interest is in
setting up space ships using GURPS Spaceships 4e.
✓ A way to push a specific amount of damage, HP or FP, to players. Ex: “Everyone loses 2 FP”
✓ A way to reset HP/FP for everyone
✓ Add *Costs ?FP to damage OtF [2d burn *Costs 2FP]
✓ Get current parry/block based on equipped
❏ Open up Damage API so script macros can make/apply damage.
✓ Add copy to clipboard on Send to GM. Can’t copy to clipboard, but can send to input window
✓ Allow X dmg (no dice roll)
❏ [S:Merchant<S:Streetwise<S:"Current Affairs"] where Streetwise and Current Affairs get rolled as
complementary skills and automatically apply +1 or -1 to the Merchant roll
❏ Make hover headers for Mook Generator with format info from User Guide.
❏ Have Fright Check (and reaction rolls) display an OtF mod [+2 due to fright check] so GM can use that to roll
against the Fright Check table (or reaction table)
✓ Also, is it also possible for the dice bucket modifier to be sent to everyone? So it should have something like
[Everyone] button, besides individual players.
❏ Allow GMs to customize the modifier bucket
❏ Chat command to clear LastActor
✓ Chat command to set last actor
❏ Chat command to roll on table using gmod
✓ /hp /fp allow dice roll as well
✓ Skill check @Costs FP (for spell casts)
❏ Option to not receive notification after sending modifier buckets to players. Or get it on notification window.
❏ Also option to reset the bucket after sending.
✓ Refactor ‘mapped’ and ‘attribute’ OTF together (so mapped can be used in linked skills [S:Traps|Vision-5]
✓ Show last actor (to GM) over modifier bucket (system setting?)
✓ Allow doubleclick editing on NpcSheet
✓ How to open window for equipment.externallink
Disclaimer ;-)
Remember, this game system in the Alpha/Beta stage. Be gentle. Join us on Discord with suggestions /
advice / questions / complaints.
If you like our work, why not buy us a cup of coffee ;-)
Legal
The material presented here is my original creation, intended for use with the GURPS system from Steve
Jackson Games. This material is not official and is not endorsed by Steve Jackson Games.
GURPS is a trademark of Steve Jackson Games, and its rules and art are copyrighted by Steve Jackson
Games. All rights are reserved by Steve Jackson Games. This game aid is the original creation of Chris
Normand/Nose66 and is released for free distribution, and not for resale, under the permissions granted in the
Steve Jackson Games Online Policy
This game system DOES NOT provide information contained in paid publications. It is only intended to allow
people to play GURPS online using their GURPS books/PDFs.