🤓 Advanced Rules Definitions for GMs

Be sure to read and follow the guidelines for our forums.

May 8, 2022 10:42 am
I'm trying to keep this thread clean.

If you want to discuss this guide then please add your comments to this thread.


Advanced Rules Definitions are used by GMs to provide extra configuration options for their games. They're not essential to using Gamers' Plane, but can be used to speed up play and make your game feel a little more tailored.

Rather than hard code rules for different systems, GP uses a configurable approach to allow it to be tailored for mainstream, niche, and even homebrew games.

Some of this configurability can seem a little daunting to GMs new to Gamers' Plane, so don't be afraid to ask for help in the Questions and Help forum. Advanced functionality is marked with a 🤓 emoji.

Contents:
* About Advanced Rules Definitions
* Background image
* Dice Rules
* Dice Rules examples
* Character Sheet Integration
* Dice Defaults
* Tip: Player handouts using playerSheets
Last edited May 8, 2022 11:07 am
May 8, 2022 10:43 am
Advanced Rules Definitions

The Advanced Rules Definitions are available when you edit a game's details.

https://i.imgur.com/u87Gztj.png

The most common selections are adding a background image, and selecting dice rules for your game.

https://i.imgur.com/kn7R9Vv.png

If you can't find appropriate dice rules, or need help creating them for your game then ask for help in the Questions and Help forum.
🤓 Advanced Advanced Rules Definitions

The rules stored as JSON. You can also edit the JSON text manually for more advanced and bespoke configurations. This format allows us to extend game functionality quickly but JSON can be a little intimidating for new users.

Using the editor changes the JSON code for you.
[ +- ] Using the editor
You will be warned if the text you enter is not valid.
[ +- ] Invalid JSON

🤓 Advanced Rules Definitions JSON defaults

The JSON defaults are shown here:
{
"background":{"image":"", "position":"center center", "size":"cover", "color":"transparent"},
"diceRules": [],
"characterSheetIntegration":
{
"gmSheets": [],
"playerSheets":[],
"gmExcludeNpcs": false,
"gmExcludePcs": false
},
"diceDefaults":{"rerollAces": false}
}


The meaning of each of these sections is covered below.
Last edited May 8, 2022 10:51 am
May 8, 2022 10:44 am
Your game's background image

You can set a background image for your game. A good background can help set the game's mood and tone.

Setting this using the editor
Put the URL of an image into the editor:
https://i.imgur.com/v06LSkg.png
🤓 Advanced background images

Using the editor sets this JSON:
https://i.imgur.com/7ck4maN.png
...but there are other settings which can be configured by editing the JSON.
🤓 background JSON options

"background":{"image":"", "position":"center center", "size":"cover", "color":"transparent"}

image
The URL of the background image. If the image isn't already on the internet, then you might want to use the "Upload to Imgur..." functionality in a thread to get a URL.

position
The position of the background image. By default, it centres the image on the screen.

This is usually one of these:
left top; left center; left bottom; right top; right center; right bottom; center top; center center; center bottom

Other valid CSS background-position property values are supported too.

size
By default, the image will be scaled to cover the screen.
If you want to ensure that the whole image is visible then change the size to contain, and set the colour property (below). The image also extends under the header bar, so you might want to add some space at the top to ensure that all of the important parts of the image are visible.

color
If you've chosen "size":"contain" then the "color" property will set the colour for any areas not covered by the image.
🤓 Example using the different properties

This image at: https://i.imgur.com/0d5OG1e.jpg
https://i.imgur.com/0d5OG1et.jpg

Is used in this JSON:
{"background": {"image": "https://i.imgur.com/0d5OG1e.jpg","position": "left bottom","size": "contain","color": "white"},

The final result is an imposing Sephek staring at the players from the left side of their screens.
https://i.imgur.com/9bNFpBw.jpg
May 8, 2022 10:45 am
Dice rules

Dice rules control how dice rolls are displayed for your system. They can be used to highlight rolls, or even replace numeric values with text or emoji.

https://i.imgur.com/yuMnCI5.png

Select from the existing community-supplied dice rules for your game.
[ +- ] Selecting community dice rules
The community dice rules can be found here.
🤓 Configuring dice rules

Dice rules are an array of different dice highlighting rules.

e.g.
"diceRules":[
{"rolled":"d20","natural":20,"highlight":"success bold underline"},
{"rolled":"d20","natural":1,"highlight":"fail bold underline"}
]

See the examples below to get a better understanding of the syntax.
🤓 Dice rules definitions

Conditions
These conditions are ANDed, ie. they must all be true for the effect to be applied.
You can apply multiple dice rules for OR conditions.


rolled Matches part of the dice being rolled.
e.g. 'd20' matches 1d20, 5d20 etc. 'd' would match everything.
case insensitive so d6 matches 3D6
natural * If the die result matches this number.
ge If the die result is greater or equal to this number.
le If the die result is less than or equal to this number.
paired Two of the dice show the same value.
lastDie Special formatting for the last dice in a roll.
d100double If true and a d100 shows 11, 22, 33, ..., 99, 100 then this condition is met.
reason If the reason field of the roll contains this text (case insensitive).
total * If the total of the dice is equal to a value.


* natural and total both support expressions. Examples:
"natural":5 matches if a dice roll is exactly 5
"natural":"<15" matches if a dice roll is less than 15
"total":"10<=x<=15" matches if the total is between 10 and 15 (inclusive)
"natural":">=15" matches if a dice roll is greater or equal to 15



Effects
If the conditions are satisfied, then the system applies effects specified in these parameters.

highlight Highlights the die, and combination of the following separated with spaces:
bold, success (green), fail (red), info (blue), invert, underline
content Changes the content of the die result. Emoji can be used for content.
contentAppend Appends the content to a dice result or total (depending on the condition used).
hideTotal Hide the total.


Dice pools
Used for dice pools where we're interested in the number of dice matching a rule.

countTotal The rule to check, and replace the total with the number of dice matching this rule.


Special
If set to true then all the dice in this pool (matching the rolled condition) are sorted. Other conditions are ignored. This is used by games that always want to see the dice rolls in order.

autoSort Automatically sort the dice into numerical order
Last edited February 13, 2023 9:20 am
May 8, 2022 10:45 am
🤓 Examples of dice rules

If any number of d20s have been rolled and if any of them show a natural 20, then highlight them bold, success (green), invert (white in a green background)

{"rolled":"d20","natural":20,"highlight":"bold success invert"}
If 1d20 is rolled and the reason contains the text '[injury]' and the roll is between 5 and 7, then change the content of the roll to say "Internal Injury"

{"rolled": "1d20", "reason":"[injury]", "ge": 5, "le": 7, "content": "Internal Injury"}
If 3d6 are rolled and any two dice match, then highlight the last dice by making them blue and bold.

{"rolled":"3d6","lastDie":true,"highlight":"underline"},
{"rolled":"3d6","paired":true,"highlight":"info bold"}
If 3d6 are rolled then highlight the last dice by underlining it.
Different highlighting and content appended to the result depending on dice total.

{"rolled": "2d6","total": "<=6","highlight": "fail bold invert", "contentAppend":"😫 Miss"},
{"rolled": "2d6","total": "7<=x<=9", "contentAppend":"😑 Partial Success"},
{"rolled": "2d6","total": "10<=x<=11", "contentAppend":"😊 Success"},
{"rolled": "2d6","total": ">=12","highlight": "success bold invert", "contentAppend":"🤩 Exceptional Success"}

Hashes can be used as a substitute for arbitrary values. This example examines the roll's reason field for a DC and then compares the total result with that.

{"rolled": "1d20","reason": "DC##","total": "<##","contentAppend": "❌","highlight": "fail invert bold"},
{"rolled": "1d20","reason": "DC##","total": ">=##","contentAppend": "✅","highlight": "success invert bold"}

Replace d6 results with text for L5R.

{"rolled":"d6","natural":1,"content":"[Blank]","hideTotal":true},
{"rolled":"d6","natural":2,"content":"[Opportunity, Strife]","hideTotal":true},
{"rolled":"d6","natural":3,"content":"[Opportunity]","hideTotal":true},
{"rolled":"d6","natural":4,"content":"[Success, Strife","hideTotal":true},
{"rolled":"d6","natural":5,"content":"[Success]","hideTotal":true},
{"rolled":"d6","natural":6,"content":"[Explosive success, Strife]","hideTotal":true}

When rolling d10s: count the dice greater or equal to 8; sort the dice numerically; highlight 1s, 8s, 9s, and 10s.

{"rolled": "D10","countTotal":">=8","autoSort":true},
{"rolled": "D10","natural": "8<=x<=9","highlight": "success bold"},
{"rolled": "D10","natural": "1","highlight": "fail bold"},
{"rolled": "D10","natural": "10","highlight": "success bold invert"}
Last edited June 18, 2022 12:28 pm
May 8, 2022 10:46 am
🤓 Character sheet integration

During the game the GM sees the PCs, the characters they've added to the game, and the gmSheets they've selected or added manually.

https://i.imgur.com/5vPFgq9.png

This section gives additional control over the character sheets shown under the rolls section, allowing shared character sheets and gm controlled player handout sheets.
🤓 characterSheetIntegration JSON

characterSheetIntegration contains four sections.

"characterSheetIntegration":
{
"gmSheets": [],
"playerSheets":[],
"gmExcludeNpcs": false,
"gmExcludePcs": false
}

gmSheets
Any characters that you, as the GM, submit to the game will be available to you - they don't need to be added here.

This section lets you add additional GM sheets that will be available during your game.

Community sheets can be selected and added to your list. The community supplied sheets are read from the Shared GM sheets thread.
[ +- ] Selecting shared GM sheets using the editor
You can also add extra GM sheets manually by editing the JSON.

Each sheet takes the form of the name followed by the end of the sheet URL. Separate the list with commas.
"gmSheets":[{"DnD 5e": "custom/20680"},{"Using GP": "custom/20904"}]

playerSheets

Like gmSheets, playerSheets is an array of extra sheets but these are ones that players see.

One use of playerSheets is to give players ready access to NPCs, maps, notes, and current game status.

gmExcludeNpcs

This can be set using the editor:
https://i.imgur.com/SDLn3Vh.png

The property can take the values true or false. When true the sheets that the GM has submitted to the game are not shown as integrated character sheets. Only PCs (unless gmExcludePcs is set) and sheets from the gmSheets array are shown.

This is useful for older games that were created before the npc tag was added. Some GMs used to add lots of characters in order to use avatars, but these would clutter the integrated character sheets.

gmExcludePcs

This can be set using the editor:
https://i.imgur.com/NXow39C.png

The property can take the values true or false. When true the sheets that the PCs are not shown as integrated character sheets.

This is useful for games like tutorials where lots of PCs would clutter integrated character sheets.
Last edited May 8, 2022 10:52 am
May 8, 2022 10:46 am
The diceDefaults currently has only one property, rerollAces which defaults to false.

rerollAces

This can be set using the editor:
https://i.imgur.com/cTGOS2S.png

If rerollAces is set to true, new rolls default to having Reroll Aces selected. This is useful for games using the Savage Worlds system as most dice rolls require rerolling aces.
May 8, 2022 10:47 am
Gamers' Plane allows GMs to maintain a sheet that's available to players during the game. I use it for player handouts.
[ +- ] Example of player handouts

1. Create the character sheet you want to share. I'd recommend a custom sheet with liberal use of the abilities tag to allow easy editing. Make a note of the sheet's url.

2. Add the character sheet to the library (i.e. make it public - video tutorial). This allows the players to see the content of the sheet.

3. Add the sheet to the game too. This makes it available for you to edit as the GM.

4. Edit your game and expand the "Advanced Rules Definitions".
If the text area at the bottom is blank, then just click in and out of the 'background image' textbox to generate the default.

You need to add the blue and green bit shown below, changing the green bit to match the end of the sheet URL from section 1. playerSheets is a sibling of gmSheets. You can change the word Handouts if you like too.

{"background": {"image": ""},
"diceRules": [],
"characterSheetIntegration": {"gmSheets": [], "playerSheets": [{"Handouts": "custom/22457"}]},
"diceDefaults": {"rerollAces": false}
}

You do not have permission to post in this thread.