 Getting Started
 Rolling Dice
 Running a Game
 Character Sheets
 Map Editor
 My Vault

Advanced Use
 Available Fonts in Astral
 Supported Files
 Replacing Sheet Pages Without Removing Contents
 Player View: Previewing as a Player
 Astral Performance Optimization
 Using Markdown in Astral
 Getting Best Results with Animated Maps
 Subscription Status, And How It Affects Your Party
 Additional Artistic Resoures Links
 Guides and Tutorials
 FAQs
 Submit Bug Report
Dice Flags
 D&D5e Flags
 Success/Fail Count (Dice Pools)
 Dropping Dice
 Rerolling
 Changing Dice Display
 Modifying Die Values (Min/Max)
 Custom Dice
Roll flags can be used to modify the behavior of a die roll. The table below is a useful reference for what flags are available in Astral.
All of these flags can be combined to enable advanced die rolls suited to whatever system you play!
In dice flags, an “equals” comparator is a single equal sign =
(e.g. rr=1
). When comparing stats within an equation, the equals comparator needs two equal signs (e.g. {Str + 3 == 13}
)
Any dice flag which uses a value threshold works differently when used with custom dice. Read more in the custom dice section
D&D5e Flags
These flags are specific to D&D 5th edition, though they can be used for any game or system if you need the same behavior.
Flag  Description 

adv  Roll twice, and keep the higher roll 
dis  Roll twice, and keep the lower roll 
Advantage
Use the advantage flag to roll a die with advantage. It will work with any die, not just the d20
, but it won’t work if you roll more than one die.
1d20adv
1d6adv
2d20adv # will not work
Disadvantage
Use the disadvantage flag to roll a die with disadvantage. Like Advantage, it will work with any die, but will not work if you roll more than one die.
1d20dis
1d8dis
2d20dis # will not work
Success/Fail Count (Dice Pools)
Does your system rely on a number of rolls meeting a threshold? Astral can count the number of dice that meet (or don’t meet) a target number.
Flag  Description 

cs>=X 
Count each die result meeting X as a success 
cf<=X 
Count each die result meeting X as a fumble 
Count Success (cs
)
Default Comparator  Default Value 

>= 
Maximum die value 
Set a threshold to count successes by. It takes any comparator, but if the comparator is left out, it defaults to >=
. Any die that does not meet the threshold is dropped, so it’s not counted in the total value of the roll.
Count Success is also the default dice pool flag – if you end your roll with just a comparator and number, it’s functionally equivalent to adding a cs
flag at the end.
1d20cs<=5
4d6cs5 # The same as 4d6cs>=5
2d6>=5 # The same as 2d6cs>=5
2d8cs=4 # Will only count 4's as successes
4d6cs # Same as 4d6cs>=6
If you system gives you multiple successes for a certain roll, you can use the cs
flag multiple times to represent that. 4d6cs>=5cs=6
would count each roll of 5 as a success, and each roll of 6 as two successes (since 6 meets both thresholds).
Count Fumble (cf
)
Default Comparator  Default Value 

<= 
Minimum die value 
Some systems might have secondary effects from dice that meet a certain threshold. It takes any comparator, but if left out defaults to <=
. Using the cf
flag, you can count how many fumbles a given die roll has. Any die that meets the threshold is dropped, so it’s not counted in the total value of the roll.
1d20cf=20 # Will count 20 as a fumble
4d6cf2 # The same as 4d6cf<=2
4d8cf # The same as 4d8cf<=1
As with cs
, if you need to count multiple fumbles for a certain roll, the cf
flag can be used multiple times. 4d6cf=1cf<4
would count each roll of 2 or 3 as a fumble, and each roll of 1 as two fumbles.
Counting both fumbles and successes
You can easily define thresholds for both fumbles and thresholds by using both flags on a roll. Any dice not meeting the success threshold are dropped and not counted in the total. 4d6cf=1cs5
would count each roll of 1 as a fumble, each roll of 5 or 6 as a success, and drop any rolls of 2, 3, or 4.
Dropping Dice
There are many flags meant to drop dice without counting successes or fumbles. This is useful if you care more about the total roll, and don’t need to compare each die to some threshold for success/fumble counting.
Flag  Description 

gtX 
Keep dice > X , dropping the rest 
gteX 
Keep dice >= X , dropping the rest 
ltX 
Keep dice < X , dropping the rest 
lteX 
Keep dice <= X , dropping the rest 
khX 
Keep the X highest dice, dropping the rest 
klX 
Keep the X lowest dice, dropping the rest 
Comparison Flags
All of the comparison flags (gt
, gte
, lt
, lte
) work the same way. Any dice that do not meet the threshold are dropped, and are not counted in the total.
For our examples, let’s assume we rolled 2d20, and we got a 5
and a 15
.
2d20gt5 # total: 15
2d20gte5 # total: 20
2d20lt15 # total: 5
2d20lte15 # total: 20
Keep Highest (kh
) / Keep Lowest (kl
)
These flags don’t look at the dice results, but rather the number of dice in the roll. If you omit a number value, the default is 1
.
4d6kh3 # Roll 4d6, keep the highest 3 (i.e. drop the lowest 1)
2d20kl # roll 2d20, keep the lowest 1 (basically, disadvantage)
2d20kh # roll 2d20, keep the highest 1 (basically, advantage)
Rerolling
Sometimes, you just want your dice to roll more dice. There are a few flags that can do that for you, depending on what behavior you want.
Flag  Description 

e>=X 
Explode dice that meet X, adding the values together 
eo>=X 
Explode dice that meet X, adding the values together. Extra dice don’t explode. 
rr>=X 
Reroll dice that meet X, dropping the dice that get rerolled. 
ro>=X 
Reroll dice that meet X, dropping the dice that get rerolled. Extra dice don’t reroll. 
These flags are not compounding. If you are using the Count Success (cs
) or Count Fumble (cf
) flags alongside exploding dice, the success/fumble threshold applies to each individual die rolled (including the extra dice from exploding), not to the sum of the exploded dice.
Exploding Dice (e
/eo
)
Default Comparator  Default Value 

>= 
Maximum die value 
There are two flavors of exploding dice, one of which does not infinitely explode (eo
). Both exploding dice compare a roll result to a threshold and roll an extra die (of the same type) if the roll result meets that threshold.
1d6e # same as 1d6e>=6
1de>=5 # will explode on 5 and 6
1d6e5 # same as 1d6e>=5
1d20e=1 # will explode only on 1's
1d20eo=20 # will explode on 20's, but only once
Rerolling Dice (rr
/ro
)
Default Comparator  Default Value 

>= 
Maximum die value 
Rerolling dice acts in many of the same ways as exploding dice, except any dice that trigger a reroll get dropped and don’t get added to the total. For example, if we rolled 1d20rr=1
, as long as we kept rolling 1
's, it would keep dropping the 1
and rerolling until it got a non1
result. The final value of that would be the result of the non1
roll, not the sum of all the 1
's that were rolled.
1d6rr=1 # rerolls all 1's
1d20ro=1 # rerolls a 1, but only once
Changing Dice Display
Some flags only change the display of the dice, but don’t otherwise effect the roll.
Flag  Description 

cr>=X 
Sets dice rolls that meet X threshold as crits, which get colored green 
fr<=X 
Sets dice rolls that meet X threshold as fumbles, which get colored red 
mX>=Y 
Groups dice into groups of at least X , whose values are each >= Y 
Critical Range/Fumble Range (cr
/fr
)
Flag  Default Comparator  Default Value 

cr 
>= 
Maximum die value 
fr 
<= 
Minimum die value 
Some systems don’t crit at the maximum value and fumble at the minimum. Perhaps 1
is a crit and 20
is a fumble! You can use these flags to define custom ranges for your crits or fumbles, to make sure they get colored properly.
These are independent of the cs/cf
flags (Count Success and Count Fumble). They don’t effect how dice are rolled or scored, only how they display in chat.
1d6cr>=5 # sets 5 and 6 as crits
1d8fr=8 # sets 8 as a fumble (this die would have no crit)
1d20cr=1fr=20 # sets 1 as a crit and 20 as a fumble
Matching Dice (m
)
m[group_size][comparator][threshold]
Default Comparator  Default Group Size  Default Threshold 

N/A  2 
N/A 
If your system relies on matching dice (doubles, triples, fourofakind, etc.), you can have Astral easily tally which dice are matched, and how many dice are in each group.
2d6m # default, matches pairs of any value
4d6m3 # match triples
2d8m3>=3 # match triples, but only rolls of 3 or more
2d6m=1 # match pairs of 1's (🐍👀)
Modifying Die Values (Min/Max)
These flags enable you to change the value of the die after it’s been rolled.
Flag  Description  Default 

minX 
If a die rolls below X , the value becomes X 
Minimum die value (usually 1) 
maxX 
If a die rolls above X , the value becomes X 
Maximum die value 
1d20max16 # changes rolls above 16 to be 16
1d20min5 # changes rolls below 5 to be 5
Custom Dice
There are some flags that only work on custom dice. Many other flags have slightly modified behavior when used on custom dice – see the below section for more details and examples.
Flag  Description  Examples 

cl  Split custom dice sides by space and combine similar values  1d[1,2,3,1 A]cl 
Combine Like (cl
)
If your custom die has a side with both a number and a symbol value, you may want the number to be combined with the the overall numeric value for the roll. The Combine Like (cl
) flag makes this a breeze. Just make sure that your sides that have both numbers and symbols have a space between the number and the symbol, and the cl
flag will take care of adding the number to the total.
1d[1,2,0,0,1 🐦,1 🐦]cl # would tally the 1's and the birds separately
1d[1,2,0,0,1🐦,1🐦]cl # would not work, as there is no space between them
1d[a 1,b 2,c 3,4,5,6]cl # works for any strings, not just emoji
Using Indexes instead of Values
Any flag which would normally take a number value as a threshold instead uses a 1based index of where the value is on the custom die.
1d[a,b,c,1,2,3]cf=1 # would count "a" as a fumble (not the number 1)
1d[a,b,c,1,2,3]cs>=4 # would count 1,2,3 as successes
1d[a,b,c,1,2,3,4,5]gt2 # would drop "a" and "b" rolls
1d[a,b,c,1,2,3]e<=3 # would cause "a", "b", and "c" to explode
10d[a,b,c,1,2,3]m2<=3 # would match pairs of "a", "b", or "c"
Flags like Keep Highest (kh
) and Keep Lowest (kl
) still use the count of the dice to keep, since that is not effected by the custom sides. Likewise, the Match (m
) flag’s first argument (the group size) is not effected by the custom sides either, but the threshold value is.