Curse of Strahd — Ultimate Companion

45 scenes · 192 statblocks · 338 handouts · search · offline · dashboard

The Ultimate Companion organises the whole campaign — maps, statblocks, handouts, a no-prep run guide, and a session dashboard — with working links throughout. Stay signed in to Roll20 while you fetch assets.

Tonight's session

Pick the arc you're running and get its maps, likely NPCs, and the Reloaded link in one place.

1 · Get the assets

Run download_maps and download_tokens (.ps1 on Windows, or .py). They fill cos-maps/ and cos-tokens/ with named files. Once they're present, the kit's images load locally and it works fully offline.

2 · Set up your battle maps

For each map, drop the image into your virtual tabletop and set the grid to the cell count on its card in maps.html (70px/cell). Place tokens at the listed col,row.

3 · Run it

Open the Run Guide for the play-order run-sheet, keep Characters and Lore open for reference, and use the dashboard above each session.

Pairs with: Curse of Strahd — Reloaded

A free community guide by DragnaCarta. Each map card links to its arc.

External links open the live guide; it's a living document, so some pages may be drafts.

📱 Install on Android (or any phone)

This kit is a Progressive Web App, so it can install to your home screen and run offline. It must be served over http(s) — a phone can't open a folder of files directly.

  1. Put the whole cos-companion folder on a web host (free options: GitHub Pages, or drag-drop to Netlify), or run python -m http.server in the folder on a PC and browse to that PC's IP from your phone.
  2. Open the page in Chrome on Android → menu (⋮) → Add to Home screen / Install app.
  3. Launch it from the icon. Browse Maps and Characters once while online to warm the offline cache; after that it works without a connection.

Offline images are cached as you view them. Map/token download buttons still work on mobile; the .ps1/.py scripts are for desktop only.

Files

maps.html · characters.html · lore.html · noprep.html · maps.csv · download_maps.ps1 / .py · download_tokens.ps1 / .py