PDA

View Full Version : 5e - Table Tags



Vaall
January 31st, 2026, 16:23
Table Tags — Random & Manual Table Resolution Inside Effects (5E)
Current Version: v1.1.1 • Updated: 2026‑06‑22

https://forge.fantasygrounds.com/shop/items/2826/view

Table Tags adds simple and powerful table tags to the 5E ruleset.

You can call any Fantasy Grounds table directly from an effect label using tags such as:

Depending on the syntax, the tag will either be replaced by a random result or prompt a manual selection.


In-effect randomization: roll on FGU tables directly from effects
Manual selection: choose a result at runtime using `; ?`
Flexible syntax: supports `( )` and `[ ]`
Column selection: by index or column label
Recursive resolution: tables can call other tables
NPC / CT safe: `( )` syntax avoids `[EFF:]` conflicts



A note from the author

This extension was built with the help of AI to accelerate iteration and refactoring.

However, AI does not replace proper testing and design — you may still encounter edge cases or unexpected behavior.

Please report any issues or feedback so the extension can continue to improve for everyone.



What it does

Whenever an effect is evaluated (for example when added to the Combat Tracker), the extension:

1. Detects table tags in the effect text
2. Resolves the table using standard FGU tables
3. Performs either:
- A random roll (default)
- A manual selection (if `; ?` is used)
4. Replaces the tag with the result
- Supports recursive table calls
- Fails safely if something is invalid


Tag Syntax

Random


(TableName) or [TableName]
(TableName;ColumnNumber) or [TableName;ColumnNumber]
(TableName;ColumnLabel) or [TableName;ColumnLabel]


Manual (User Selection)


(TableName; ?) or [TableName;?]
(TableName;2; ?) or [TableName;ColumnNumber;?]
(TableName;ColumnLabel; ?) or [TableName;ColumnLabel;?]


Example


Random SDC (Save DC) from a table
TableName = [Random SDC]
Value Result
1–5 SAVEA: 5 DEX (RA)
6–10 SAVEA: 10 DEX (RA)
11–15 SAVEA: 15 DEX (RA)
16–19 SAVEA: 20 DEX (RA)
20 SAVEA: 25 DEX (RA)

Effect:

"Random SDC save; [Random SDC;Result]; SAVEADD: prone"

This lets you vary save DCs or effects each time the effect is applied.
66427

Changelog

v1.1.1 — Fixed compatibility with other extensions. No visible changes for users
v1.1.0: Added support for `( )` syntax (recommended for CT/NPC compatibility), Added manual selection with `; ? v1.0.0: Initial public release.

GKEnialb
February 6th, 2026, 21:58
Looks useful - thanks!

Gilafron
May 19th, 2026, 22:32
Is this extension obsolete with the recent rewrite and expansion of FG-native coding?

Vaall
May 20th, 2026, 07:15
Hey, actually, no, it's not obsolete because it doesn't produce the same functionality as FG-native coding.

From what I've tried, TABLEO() and TABLEOE() will roll a table and display the result in the chat.

This extension replaces the [Table Name] tag with the table result directly in the effect you just applied.

The best example I have is for the "Confusion - 5e" spell using with BCEG.

Initial effect: "Confusion; SAVEA: [SDC] WIS (M) (R); SAVEE: [SDC] WIS (M) (R) SAVEADD: Confusion Effect"

With the following in your global effects list: "Confusion Effect; [Confusion]" duration 1 round, expiration at the end of the target's turn.

Then you have your "Confusion" table:

1: Move to [Direction]. No action.
2-6: SPEED: 0; no action.
7-8: The creature uses its action to make a melee attack against a randomly determined creature within its reach. If there is no creature within its reach, the creature does nothing this turn.
9-10: The creature can act and move normally.



Note: You can even create alos the [Direction] table with:

1: North
2: Northeast
3: East
4: Southeast
5: South
6: Southwest
7: West
8: Northwest



Thus, if the creature fails its first saving throw, "Confusion" will be added to the target. And the [Confusion] tag will be replaced directly in one of the results.
At the end of its turn, this effect is removed, and it makes another saving throw, which, if it also fails, will add the "Confusion" effect again with a new random result from the table.

Here, the table result remains primarily text. But in other cases, you can put whatever you want there; such as bonuses/penalties like "@ATK: 1d4"; "AC: 1" as contained in the effect, FGU will interpret it directly.

Vaall
June 3rd, 2026, 20:53
Update :

v1.1.0 - Added support for `( )` syntax (recommended for CT/NPC compatibility), Added manual selection with `; ?`