Saturday, 10 April 2021

[STUFF] The Nocturnal Table – Fantasy Grounds Integration

Now Even More Nocturnal
Guest Post by EOTB

I am pleased to announce the release of the Fantasy Grounds version of The Nocturnal Table. This version of the city adventure game aid was developed by EOTB for the virtual tabletop, and integrates the different features of the supplement into a complex system. You can use it to generate encounters and local colour, with all statistics and details at your fingertips.

I have to stress that this is a tremendous work that takes a loosely interrelated collection of “idea” tables, and not only connects them in a way that makes sense, but adds fine-grain detail on the level of individual statistics, and features like caravan generation (something that’s fun but rather busy work on paper). It should be a formidable toolset for FG users who like city adventures. Whether you prefer to use the general encounter system, the 300 more specific entries, or the “local colour” tables to generate inspiration for your games; individually, as a whole, or in unimagined combinations: these tools are here for you to use at your leisure! I am much indebted to EOTB for his conversion effort, and particularly with sharing the results with the gaming community. Much appreciated!

With that, I give the floor to EOTB!


* * *

This Fantasy Grounds module requires the Fantasy Grounds rule set for 2nd Edition AD&D for use. Three (free) community additions or modifications to that base rule set are highly recommended to fully use The Nocturnal Table's ability to generate content in addition to table results:

OSRICfor2Emod found at:

OSRIC Magic Items Mod found at:

AD&D Core 1e Extension (if you want to use the module in the most 1E-like environment possible; not really required if preferring to use OSRIC content in a 2E rules engine) found at:

The Nocturnal Table - Fantasy Grounds adaptation (39.8 MB)

* * *

Adapter's Notes

A good set of tables is gold to the harried DM. The 1E DMG is still used by referees of many varied systems just for its tables; other supplements have similar utility. But for urban encounters, The Nocturnal Table by Gabor Lux (Melan) is one of the best table supplements this adapter has ever encountered.

The book itself is not very large - 56 digest-sized pages. But like all excellent sets tables their impact to the game can't be counted.

In adapting these tables for Fantasy Grounds in my own campaign, I sought to leverage their utility by ensuring all the content they indicated was pregenerated. I wanted the tables to produce gameable results in Fantasy Grounds as opposed to mere direction or ideas. This necessitated creating all the various record types implicit to the tables, and linking them their output. The very useful OSRICfor2E mod by Sterno , and OSRIC Magic Items mod by AlterZwerg were drafted for contributions to the effort (many thanks to you both for you great work!), and their entries are prominent throughout this mod, but the unique flavor of Melan's implied setting demanded many new records of varying types.

Please note there are some table results which draw upon content in the above modules. The user should load them if desiring all of the entries to auto-populate . Otherwise such results will generate a error message. (The user may still manually generate details in these cases)

These mods are freely available at:
It is hoped that in addition to serving up results for immediate play, that the templates bundled into this mod ease and speed the creation of adventure modules and other content. While OSRIC monsters are well-represented in existing mods, this mod contains an NPC of every character class from levels 1 through 12, including new types from Melan's world such as Amazons, and the Kung-Fu Monk adapted from Kellri's Dangerous Dungeons. There are also types of fighters with appropriate equipment, such as Northmen, Pirates, Nomads, and more. All of these include such conveniences as XP formulas, with a maximum XP value pre-entered (to be modified according to the appropriate XP formula as the DM sees fit).

Use of Celestian's 1E Extension

This adapter uses Celestian's extension with the 2E ruleset, to get as close to the "OSRIC Experience" as possible in Fantasy Grounds. In using non-monster NPCs this requires a compensating effect for To-Hit rolls and Saving Throws in the combat tracker, as NPCs by default use the 1E monster to-hit table and fighter saves - and the monster to-hit table is particularly generous at low levels compared to most non-fighter class types.

These compensating effects, found in the "Effect Features" area of the main tab on NPC entries, may not be useful if using this module without that extension, or different ruleset. If so each DM should remove those entries.

Celestian's 1E Extension is freely available here:

Adaption Choices

Due to the layers of "pulls" required by the multiple levels of tables in The Nocturnal Table, the tiers of tables are set up and named alphanumerically; beginning with a number, lower numbers belonging to higher-order tables so as to make them appear first on the lists. Odd-numbered tables generally apply to encounters; even-numbered tables generally apply to "dressing" or "colour". The basic structure as follows:
  • Primary tables in the group "The Nocturnal Table - Encounters" are named starting with an "00", "01", or "02"; however, for the most part "00" tables don't pull playable content directly - I am not sure why, perhaps there is an upper limit to how deep in a table structure FG can pull into an encounter. The "00" tables are primarily to determine which of the largest "01" tables will be used, anyway, but when embedding the "01 tables into the "00" tables, no results returned. Unlike when using the "01" tables directly. So use the "00" tables as direction only, unless they return a "special" encounter - which they would pull directly.
  • "02" tables comprise most of the "urban dungeon dressing" type tables in the book.
  • "03" tables feed the "01" encounter tables; e.g., a table of fighters is an "03" table that feeds an "01" result that could be any of multiple character classes.
  • "04" tables feed the "02" tables; these are less numerous but many of the colour/dressing tables are implicitly two layers deep as they contain a null chance; so the first layer yes/no choice is a "02" table, while the "if yes" table with all the individual colour entries is an "04" table.
  • Late in development it was determined to add systems for pilgrim and caravan generation, as these are table results comparatively hard to wing (and rarely do DMs have a few caravans or pilgrimages just lying about). These also followed the two-tier system with the main tables taking "05" designations, and their sub-tables "07"
  • treasure results are "06" tables in their own group, feeding other tables as needed
  • A fully numeric system proved hard to search in related groups as the table list grew. So, while it is admittedly ugly, relevant abbreviations were used and tiered. This kept groups together and also allowed quick searches such as "npc" to pull up small lists of related tables, such as when generating pilgrimages.
  • It is hoped that by maintaining list proximity and search distinction, that users will be able to navigate the many tables should they need to find a feeder table quickly. But the main tables, always near the top of group lists, should be the only necessary references in normal play.
  • One item to be aware of: FG doesn't seem to perform multiple sets of die rolls into one encounter; e.g., an encounter with travellers will generate the leaders(s) into the encounter but not the second set of random number of common travellers. Some few table results direct you to manually ADD a random number of some NPC type to an encounter result generated.
Every adaption requires choices to make certain things work. A close comparison of the tables in the original work with the table structure in this module reveals some structural differences; e.g., in Melan's tables you generated a fighter and then rolled the fighter's level. In FG, to generate a working encounter record it is necessary to have a subtable of pregenerated fighters of the entire level range, that the master table draws upon. While the structure may vary slightly by necessity, every effort has been made to ensure the table function is maintained.

In some instances of low probability, this would have required even more tables than is included. An example is alignment. I was faced with a choice of generating multiple tables of alignments so that classes with restrictions wouldn't return incompatible results. It was chosen not to do this, as incompatible results are possible but not frequent; the DM should instead review and modify in such instances. But this and similar examples are few and far between.

Often the complexity of the table interactions raised questions as to which type of output (chat, story, encounter, etc.) was the most efficient selection for inserting results immediately into play while also recording/transmitting to the DM the most useful information provided by the tables (sometimes which output omitted the most useless data squibs the interacting tables generated, too).

In each case the DM should consider their own preferences vs what this adapter has set, and change as they see fit. Encounters, stories, and chat are the most frequently used for results other than treasures.


Most encounters have a random element to the number of NPCs appearing. When output to chat you will see this number; when output to an encounter this information is not provided. In testing, the fastest path from "encounter has occurred" to the combat tracker was to have the encounter box and type auto-generate and throw dice to adjust the number appearing in the box, rather than get the number appearing and manually create an encounter box. If the other method is more convenient, reset the output type to "chat" from "enc" in the top-level table.

Here a ghoul entry was rolled and a ghoul encounter box was created, but it only has "1" ghoul in it. Cross referencing the roll of 41 showing in chat with the table, we see there are 2d8 ghouls encountered. Those dice are thrown and the encounter box is updated to 12; I hope there's some elves in the party...

If the referee wishes a spread of hit points among large numbers appearing of the same type, drag-copy that NPC type in the encounter and assign; e.g., the referee wants to throw five militia with 2, 4, 6, 6, and 9 hp at the party. The one militia entry in the encounter box should be drag-copied three times so that there are 4 militia entries; each entry assigned one of the hit point results and the entry of militia assigned 6 hp set to two appearing. If one entry for the militia type is used in the encounter box and hit points are left blank, the number of hit points will be randomly rolled (once) on 1d10 but all militia will have that same random roll result of 1d10 hit points. If it doesn't bother you that all militia in the encounter have, perhaps, 4 hp, then none of the above is necessary of course.

The more detailed encounters numbered from 100-399 are listed in story entries and include embedded encounter and parcel entries. We've discussed adjusting the encounter boxes, but also review the parcels to ensure the appropriate amount of equipment loot remains after an encounter completes. Some number of each type of loot is already in a parcel, but this will rarely be accurate for common equipment to that encounter as-played.

Purely random encounters generated from the tables won't have parcels pre-made; the referee may manually generate one and add such treasures and items to it as are appropriate.

To reduce the size of the file, common armors were not added as discrete items to NPCs or parcels, but if taken by PCs as loot these can be added as necessary to parcels via drag and drop from The Nocturnal Table or OSRIC Items group(s). Likewise, experience points derived from an encounter likely require adjustment for number encountered, possibly hit points rolled, and the value of treasure taken.

Every effort was made when customizing a base template for a specific NPC to update associated stats; e.g., if different armor resulted in a different movement rate, or if morale was higher or lower than base template morale for this level. However, each time I review results I'll find another instance where some aspect was missed. If you notice any anomalies between the record entries and any story entries, presume the anomaly is an omission and correct it. The 3rd level fighter in standard plate mail shouldn't have a move rate of 90 or 120; the stray thief or assassin with a high dex but utterly standard thief ability scores should be adjusted, etc.

There are magic items, spells, and other odds and ends named in The Nocturnal Table as published in hard copy which aren't detailed; the detailing is left to the user. In Fantasy Grounds I have put some flesh on those bones in order to provide a useable game item for play, but that flesh is my best guess and not further direction from the author. In all cases you, the user, should modify such items at will.

Near the end of production this module was back-ported to FG Classic due to issues with the Author extension that creates the module from the entries, and also embeds the illustrations, not yet being compatible with FG Unlimited. This introduced some anomalies in that multiples of D4, D6, and D8s were dropped from items, spells, etc. (e.g., weapons doing 2d4 damage, etc.) and also some text were re-rendered with formatting artifacts. Every effort has been made to locate and correct these anomalies, but if some are missed you have the adapter's explanation, and they may be corrected by inputting the missing information.

Lastly, this adapter is still a novice at Fantasy Grounds, ignorant in coding and unable to work in the raw data files, scouring wiki pages and forum posts when unable to find a way to produce a result. It's entirely possible, and likely, that a FG pro would notice parts of these tables constructed inefficiently, or even clunkily, because I didn't know a better road to Rome. In these cases, I apologize in advance.


  1. Nice work EOTB! Makes me curious to try Fantasy Ground.

    (oh do get a bit of the credit, Melan, for writing such a useful product too.)

  2. Thanks! One thing reading through that may not be clear - the module is usable with both FG Classic and FG unlimited; modules created in FG classic are forward-compatible. It is just when moving something created native in FGU back to FGC that glitches can appear in FGC. As mentioned, those are corrected, so the mod now works seamlessly in both versions.