Skip to content

Repository files navigation

Shadowdark Enhancer

A GM companion suite for Shadowdark RPG on Foundry VTT.

Foundry System License

Install · Features · Full documentation →

The Crawl Strip: live HP, movement, Luck and AC for the whole party


It began as one Crawl Strip pinned to the top of the canvas: marching order, initiative, and live HP / Movement / Luck for the whole party. Everything since has been the rest of what a table needs mid-session, so there are now random encounters, treasure players race each other to claim, a merchant, XP, and a recap that fills itself in while you play. Prep crept in after that. An importer turns a copy-paste from your own PDF into real Foundry documents, and a guided builder takes a player from ability rolls to a finished level-1 character.

All of it launches from one Crawl Bar at the top of the canvas.

Install

Paste this manifest URL into Foundry's Install Module dialog:

https://github.com/DimitroffVodka/shadowdark-enhancer/releases/latest/download/module.json

Then enable Shadowdark Enhancer in your world's module settings.

Minimum Verified
Foundry VTT v13 v14.365
Shadowdark RPG system v3.6.2 v4.0.6

Replacing shadowdark-crawl-helper? Disable it. Both draw a party strip and both hook combat. You'll get a one-time warning at world load, which can be suppressed in settings.

Recommended, not required: shadowdark-extras powers the automation on imported spells. They still cast without it. You just apply the effects by hand.

New install? Start with Installation & Setup.

What it does

Each row links to its full manual page.

At the table

Crawl Strip & Crawl Bar Live HP, movement, Luck, AC and active effects for the whole party. Marching order out of combat, initiative order in it. Per-actor action menus so players can attack and cast without a sheet.
Movement Budgets A coloured ruler while you drag, per-turn allowances, optional refusal of over-budget moves, and one-click rollback to where a token started its turn.
Random Encounters The 1d6 check, a four-tab roller, and result cards that roll appearing count, distance, activity and a 2d6+CHA reaction, then place the tokens on the map.
Loot & Treasure Generate a hoard, then post it as a chat card players race to claim or drop it on the ground as pickup-able tokens, with no need to pick a recipient. First claim wins, coins land in the right purse. Opt-in loot drops when combat ends.
Merchant Shop A shop that opens for every player at once, backed by a catalog or an NPC's own inventory. Buying and selling against system.coins, serialised so nobody double-spends.
Party XP Award XP to the whole party at once: full amount to each character, per Shadowdark RAW. Flags who's ready to level, and never levels anyone itself.
Downtime The between-crawl activities from Cursed Scroll 6 or the Western Reaches: spiritualism, skulduggery, martial training, magical research. It knows the DCs, the costs and the step-down ladder. The outcomes come from your own book, through the Importer. A book you haven't imported shows its title and nothing else.
Renown The fame track, with the four bands and what each one means. Award or dock it with a reason, or let a level-up do it. Its bonus folds into a reaction roll only when you say the party would be recognised, and double 1s stay hostile regardless.
Session Recap A session log that fills itself in (loot, XP, combats, rolls, kills, merchant activity, and carousing if you run Shadowdark Extras) with a Copy for Discord export. Tied to the crawl, so there's no extra button to remember.
Pit Fighting Cursed Scroll 2 bouts, set up in the book's order: venue, stakes off the fighters' average level, and a danger level the book leaves to you. The twist is rolled up front and stays hidden — including when it's nothing — until you reveal it. Prize and fame at the end; the descriptions come from your own imported tables. Twelve bundled battle maps open as scenes, offered by the venue you rolled — including a two-level tavern cellar you can walk between floors of.

Building content

Importer Hub Paste a section from your own PDF. It's recognised, parsed, previewed editably, and committed into managed packs. Never overwriting, never deleting, idempotent on re-import.
Class & Spell Importers Dedicated workspaces for the two hardest types: per-part paste zones for a class's writeup, talent table and titles, plus spells organised by Class → Tier → Alignment.
Table Import & Shapes 119 tables carry a parsing recipe, so messy PDF copies parse deterministically: prayer generators, wrapped-cell lookups, mix-and-match grids, reflowed pastes.
Monster Creator Author a Shadowdark creature from scratch or remix an existing one. Quick-pick catalogs, compendium spell search, and a Generator/Mutator driven by your own imported Core tables.
Monster Level Guidelines What a level-N monster should look like, derived from the bestiary instead of guessed. Re-level any creature from its token with a preview, per-stat checkboxes and a full undo.
Monster Token Art Re-skin the bestiary with art you already own, referenced by path and never copied or bundled. Sources auto-discovered, drag to prioritise, browse 2,000+ tokens by hand.
Magic Item Forge Roll or hand-build magic items. Only a whole-result +N becomes a real mechanic. Everything else stays honest descriptive text.

Characters

Character Builder A guided, ordered replacement for the system's all-random generator. Seven steps, a complete level-1 character, every roll posted to chat as an audit trail. Players can use it without any file permissions.
Export to PDF Fill a real form-fillable Shadowdark sheet from an actor. Entirely local. Nothing is uploaded anywhere.
Mounts & Boats Two Actor sub-types with dedicated sheets for Western Reaches mounts, warbands, boats and siege vehicles.

Bring your own books

The module ships no sourcebook prose. For the Cursed Scrolls, the Core rules, and the Player's Guide to the Western Reaches it knows the structure of the content you own (names, page citations, dice formulas, table layout) and nothing else. Nothing is encrypted. There is no text to ship.

You supply every word by pasting from your own PDF. The module recognises it, runs the right parsing recipe, remaps links, and files it. Content the Shadowdark system already ships is skipped, because you already have it.

Register your own PDF per book and the importer will deep-link to the cited page inside Foundry's viewer and extract the text for you, column-aware. Your PDFs never leave your machine.

Your data

  • Everything the module creates is an ordinary Foundry document. Disable the module and your content stays readable.
  • Nothing is overwritten silently, and nothing is ever deleted. The module does not call deleteCompendium.
  • Every document-creating entry point is GM-only.
  • No artwork is redistributed. Token art is referenced from what you have installed, by path.

See Compendium Packs.

For module developers

A versioned public API at game.shadowdarkEnhancer, mirrored at game.modules.get("shadowdark-enhancer")?.api:

Hooks.once("shadowdarkEnhancer.ready", (api) => {
  console.log("SDE API", api.apiVersion); // "1.0.0"
});

Namespaces: import · items · monsters · linker · encounter · loot · tables · bundle · mutator · monsterCreator · tokenArt · forge · forgeLoot · charBuilder · merchant · partyXp · recap · downtime

Full reference: docs/API.md.

Documentation

📖 The wiki: a manual page per feature, with settings, walkthroughs and troubleshooting.

Installation & Setup First-run checklist
Settings Reference Every setting and its real default
Troubleshooting Symptoms → causes → fixes
CHANGELOG.md Release history
CREDITS.md Third-party assets and licences
CONTRIBUTING.md Setup, the test gates, and the content/docs contracts

Contributing

Bug reports and pull requests are welcome. See CONTRIBUTING.md for setup, the gate commands, the Foundry-specific things that catch people out, and the content contract this module holds itself to.

Localization

English-only by design. languages/en.json exists and some templates use localize, but full string extraction is deliberately deferred: much of the UI renders GM-imported book content verbatim, so translated chrome around untranslated content buys little. Contributions should not add translation keys for their own sake. Plain English strings are the house style until a real localization pass is scheduled.

License

MIT. See LICENSE.

Shadowdark Enhancer is an independent product published under the Shadowdark RPG Third-Party License and is not affiliated with The Arcane Library, LLC. Shadowdark RPG © 2023 The Arcane Library, LLC.

About

Crawl Strip + Combat HUD for Shadowdark RPG on Foundry VTT — out-of-combat marching order, in-combat initiative, HP/Movement/Luck readouts, movement-budget enforcement, and a per-combatant action menu. Vagabond-Crawler-inspired layout.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages