--The Barkeep takes a break from his cleaning to pour you a fresh tankard of honey mead.

"New in town, eh? Likely another adventurer looking for fortune. Brought by the call of rumors, no doubt! Well, let me give you some advice. Talk to the locals. Present yourself to everyone. Help them to get to know you... Who knows? Maybe you'll learn a little about yourself in the process. Need to know how?"



TableTop Chat


An important part of most every tabletop roleplaying game is the ability to communicate what you are doing to the rest of the party, as well as the GM. Astral's Tabletop Chat is the perfect tool to achieve this. 



Table of Contents:

  1. The Basics
  2. Mathematical Expressions and Attributes
  3. Roll Syntax Basics
  4. Styling Messages
  5. Advanced Roll Flags
  6. Dice Pools




The Basics


Tabletop Chat allows players and GMs to chat or emote as characters. If the icon next to the input forms shows your avatar, you are speaking as yourself, Out-of-Character (OOC).



You can also combine multiple rolls in messages, as shown here:



You can also use the dice buttons to quickly build rolls on-the-fly, as seen here:



As you can see from the above examples, you can build a series of rolls and text into a chat message, allowing you to roll and emote as your character at the same time. You can also delay rolls, which can be nifty for when you want to prepare multiple rolls as options, then roll that option only when selected.


You can build dice rolls very quickly using the dice buttons, or by typing in the roll with text. Modifiers are applied using the appropriate syntax.


Mathematical Expressions and Attributes


Chat messages can contain attribute expressions and mathematical expressions. Long story short, chat can do math to numbers, including numbers used elsewhere in the token. 


In the below examples, Easy Scapegoat has attributes "sneak" equal to 4, and "persuasion" equal to 60


{1 + 2 + 3}
Generic


{persuasion / 2}
{sneak + persuasion}


**We in no way confirm nor deny that the expected performance of expressions may or may not be comparable to those of other expressions' expected performance when compared to that of our own.




Roll Syntax Basics


The basic syntax is this:

CommandResult
!(1d20)Rolls 1d20
!(1d20+1)Rolls 1d20 with +1 modifier
!!(1d20)Rolls 1d20 w/ delay, the roll will not complete until the owner clicks to roll
!?(1d20)Rolls a hidden 1d20. It will show with a dotted outline for GMs, and it will not show at all for players.
!!?(1d20)Rolls a hidden and delayed 1d20.
i!(1d20)Rolls a 1d20. If rolling as a character, or performed through a Character Action, the character will be added to combat and the roll result will be used for determining turn order (such as initiative).
!(1d20+{someattribute})Rolls 1d20, plus {someattribute} modifier
!({someattribute}d20)Rolls {someattribute} # of d20s


Styling Messages


TableTop Chat also supports markdown. If you're new to markdown, here's a more complete guide, but we've included the basics below:


To create a heading, add number signs (#) in front of a word or phrase. The number of number signs you use should correspond to the heading level. For example, to create a heading level three (<h3>), use three number signs (e.g., ### My Header).


MarkdownHTMLRendered Output
# Heading level 1<h1>Heading level 1</h1>

Heading level 1

## Heading level 2<h2>Heading level 2</h2>

Heading level 2

### Heading level 3<h3>Heading level 3</h3>

Heading level 3

#### Heading level 4<h4>Heading level 4</h4>

Heading level 4

##### Heading level 5<h5>Heading level 5</h5>
Heading level 5
###### Heading level 6<h6>Heading level 6</h6>
Heading level 6


Emphasis

You can add emphasis by making text bold or italic.


Bold

To bold text, add two asterisks or underscores before and after a word or phrase. To bold the middle of a word for emphasis, add two asterisks without spaces around the letters.

MarkdownHTMLRendered Output
I just love **bold text**.I just love <strong>bold text</strong>.I just love bold text.
I just love __bold text__.I just love <strong>bold text</strong>.I just love bold text.
Love**is**boldLove<strong>is</strong>boldLoveisbold


Italic

To italicize text, add one asterisk or underscore before and after a word or phrase. To italicize the middle of a word for emphasis, add one asterisk without spaces around the letters.

MarkdownHTMLRendered Output
Italicized text is the *cat's meow*.Italicized text is the <em>cat's meow</em>.Italicized text is the cat’s meow.
Italicized text is the _cat's meow_.Italicized text is the <em>cat's meow</em>.Italicized text is the cat’s meow.
A*cat*meowA<em>cat</em>meowAcatmeow


Bold and Italic

To emphasize text with bold and italics at the same time, add three asterisks or underscores before and after a word or phrase.

MarkdownHTMLRendered Output
This text is ***really important***.This text is <strong><em>really important</em></strong>.This text is really important.
This text is ___really important___.This text is <strong><em>really important</em></strong>.This text is really important.
This text is __*really important*__.This text is <strong><em>really important</em></strong>.This text is really important.
This text is **_really important_**.This text is <strong><em>really important</em></strong>.This text is really important.



Advanced Roll Flags


You can create a variety of useful rolls with flags. Any numbers in the below examples can also be referenced with character attributes. (e.g. 2d20 -> 2d{str} or 6d8>6 -> 6d8>{drive})


Flag

Description

Syntax

e

Exploding dice. Re-roll and add dice >= to a threshold. (Defaulted to the highest number on the roll)

(dice)e(threshold) (e.g. “2d20e15”)

gt

Keep dice > a threshold.

(dice)gt(threshold) (e.g. “3d8gt3”)

gte

keep dice >= to a threshold.

(dice)gte(threshold) (e.g. “3d8gte6”)

lt

Keep die < a threshold.

(dice)lt(threshold) (e.g. “2d8lt5”)

lte


Keep die <= to a threshold.

(dice)lte(threshold) (e.g. “2d8lte4”)

kl

Keep X lowest dice

(dice)kl(number) (e.g. “2d20kl1”)

kh

Keep X highest dice

(dice)kh(number) (e.g. “4d8kh2”)

max

Set the die maximum.

(dice)max(threshold) (e.g. “1d20max16”)

min

Set the die minimum.

(dice)min(threshold) (e.g. “1d8min3”)

ro

Re-roll dice once above or below a threshold.

(dice)ro[comparative](threshold) (e.g. “1d8ro2”)

rr

Re-roll dice forever above or below a threshold.

(dice)rr[comparative](threshold) (e.g. “1d8rr<2”)

advRoll with advantage
(dice)adv (e.g. "1d20adv")
disRoll with disadvantage(dice)dis (e.g. "1d20dis")



Dice Pools

Tabletop Chat can be used to create dice pools that return the number of successful rolls. You can use >, <, >=, <=, and = for comparisons. (e.g. !(6d8>6) for counting anything greater than 6 as a success)



The Chat is the future of Astral's Dice Rolling tool, so please drop any suggestions for improvement here!


As always, you can join the conversation via Discord or the forums, or you can submit a bug report for any issues you find.