English · Español
Translations may lag; the English README is authoritative.
A Foundry VTT game system for playing Cairn 2e and Cairn Barebones Edition content — verbose backgrounds, a few options that add 2e features to Barebones sheets, and 2e Warden tables. Compatible with Cairn by Yochai Gal.
Air Bladder is a friendly companion system, not the official Cairn system. It descends from yochaigal/Cairn-FoundryVTT (by Yochai Gal & Oskar Świda), which in turn descends from the Electric Bastionland system and Into the Odd. Air Bladder is the first item in the Gear table on p. 17 of the Cairn 2e Player's Guide.
- Random character generation from Cairn 2e, Custom Cairn 2e, and Cairn Barebones backgrounds — each source toggles on or off, and the sheet's Character Creation Mode re-rolls single parts of the result. Rolled at the table instead? Clear Use random generation and the same button opens an empty sheet, with the pick-lists ready. An empty sheet is never handed anything: your choices are recorded, and you type the inventory you already have
- The Warden's Dashboard (guide) — every one of the 45 Warden roll tables on a button, in one resizable, detachable window: travel and weather, encounters by terrain, NPCs, factions and monsters. Rolls stay private to you unless you say otherwise, a whole set draws into one card, and reach the generators and Warden's Damage from the same place
- Watches, kept for you (guide) — a day is three watches in Cairn, and the current one sits on everyone's screen above the player list. The Warden moves the clock from the Dashboard, and Roll Today's Weather rolls the table for whatever season the world is in. Vald's own calendar — twelve months, a six-day week, the Dead, Dry, Wet and Harvest seasons with a weather table each — is there as an optional hack, with a month calendar anyone can open from the clock
- NPC and Hireling, Monster and Faction generators, Encounter Tables with one-click Add to Scene, and more Warden-facing roll tables
- .json character import from the official Cairn app, Kettlewright — for the Warden, and for players bringing in their own characters when the Warden allows (a Warden must be logged in)
- Optional GLOG Magic — the official GLOG hack behind a Warden switch: cast from a found Grimoire with 1–4 Magic Dice, the rolled values written into the spell text, Mishaps on doubles — all 100 spells included; how to run it
- Custom 2e backgrounds — seven ship in the Backgrounds (Custom) compendium; create and lint your own, share them across worlds, or press Create Custom 2e Backgrounds and Tables… once and every shipped background, bond, omen, scar and trait table is yours to edit, or hide any of the shipped ones with an eye toggle
- Custom bonds, and custom everything else — a world table named Bonds replaces the shipped 2e table for canon and custom backgrounds alike, a custom background can name a table of its own, and the same rule covers every table the generators roll: traits, NPC and monster tables, Barebones creation, Scars, the random-spell table; customizing bonds
- A customizable marketplace — press Create a Custom Marketplace… once and the whole shop is yours to edit, or a world table named Market: Gear (or Weapons, Armor, Transports & Containers) replaces that aisle and a name of your own adds one. Every price is read off the item itself, so re-pricing the shop is editing one number, and your shop survives every update; customizing the marketplace
- Pop-out and printable character sheets — print the whole character on one or two pages
- Supplied macros — four Warden switches for the hotbar, no trip into Game Settings
- A Warden-editable Age formula — generated ages roll whatever dice you write; the dice formulas guide covers Cairn's keep-highest plus sign, minimums and maximums, and ready-made recipes
- Three portrait-picker galleries: 80 character portraits by Jon Aspeheim, 368 creature & NPC tokens by tlomdev (an imported Kettlewright character keeps its face), and 22 monsters and 31 characters by Lydia Comer
- Player-to-player item offers — give an item from its inventory row (or by dragging it onto another character's sheet); the offer is a chat card the other player accepts or declines, and accepting into a full pack simply over-burdens them after a warning that names the cost
- Minimal automation — buttons for rest, restoring abilities, panic and critical damage
- Impaired and Enhanced damage rolls — pick one when you roll; a panicked character rolls impaired automatically
- Works with the Torch module — a ready-made light-source file lights torches, lanterns, candles and the stranger lamps straight from the inventory, spending their uses: set it up
![]() |
![]() |
![]() |
The character sheet — Items, Description, and Background & Notes tabs. Sheets follow your Foundry colour scheme; these are light.
In Character Creation Mode: On, you can roll for a new background, name, background questions, gear, etc., or you can pick specific table entries.
Print a clean character sheet — stats, inventory, background, bonds and omen on one or two pages, ready for the table.
Pre-generated Player Characters are also available on Dom Bosco's Itch Page.
The Warden's game settings — four submenus, one open — shown here in dark mode.
Early, active development. Send feedback and art! The system is being rebuilt on the original's editable-compendium architecture — gear lives in Item compendia that a Warden can edit in one place, and character generation and the marketplace reference those packs by name.
The interface is translated into Spanish (61% of the current strings, by Malecho), and game content — backgrounds, items, spells, tables — is translated into Spanish only.
Danish, French, German, Polish and Brazilian Portuguese interface files are inherited from the original Cairn system. They cover about 5% of the current interface, predate most of this system's features, and are not actively maintained — a game in those languages is mostly English in practice. Anything untranslated falls back to English string by string, so a partial translation is always usable rather than broken.
The tooling is language-agnostic (--lang <code> throughout), so a new language needs no code changes — only a translator.
Translation Help Requested! — see docs/TRANSLATING.md for the no-coding workflow, or docs/translating-self-service.md if you'd rather work in git.
Requires Foundry VTT v14.365 or higher.
- In the Foundry Game Systems menu, click Install System.
- Enter the manifest URL:
https://github.com/domfortunato/air-bladder/releases/latest/download/system.json
For development, clone this repo into Data/systems/air-bladder (a directory junction works), run npm install, then npm run build:packs before launching Foundry. npm run dev:smoke drives a headless load as a sanity check.
To try unreleased work, clone the dev branch instead — that is where everything in progress lives. The npm run build:packs step is required either way: the compendium packs are generated from src/packs/ and are not stored in git, so an unbuilt clone loads with every compendium empty.
Pull requests welcome — open them against dev, not master. See CONTRIBUTING.md for the details, and docs/git-flow.md for how branches and releases work here.
Generative-AI art will never appear in this repo — ever. Nothing under art/ or icons/ is machine-generated, and every set names its artist and its licence.
The code is written with AI assistance, using Claude Code, on a base inherited from Yochai Gal's original Cairn system. The design decisions in it — every ruling, constraint and reversal — are the maintainer's own, and are recorded as they were made, in the commit history and in CLAUDE.md.
Who made what, per category, with the evidence for each: docs/provenance.md.
Air Bladder mixes several licensing regimes — please keep the attribution intact:
- Game text — CC BY-SA 4.0. The Cairn rules and text (1st and 2nd edition) are by Yochai Gal, licensed CC BY-SA 4.0. 2e content in this system inherits that license; derivatives must share alike and attribute Yochai Gal. That includes the rules text shipped as readable pages: the Cairn 2e Rules compendium holds "Overview & Principles" and "Core Rules for Players", transcribed from the 2e text, and the Vald compendium holds the Warden's Guide setting chapter of the same name, together with the 24 named festivals of its calendar, both fetched from the Cairn SRD. The hireling catalogue the generator reads,
module/npc-careers-2e.json, is game text too, and so are the rules tooltips inlang/en.jsonthat quote 2e's own wording. Cairn's text is CC BY-SA 4.0 wherever it sits: a directory named under the code license does not change what is inside its files, and MIT never reaches it. - This README — CC BY-SA 4.0.
README.mdandREADME.es.mdship inside the release archive, and both summarise and quote the Cairn 2e text they credit, so they travel under the game-text licence rather than the MIT code grant. Until 2026-09-11 no clause named them at all, which — under the Code clause's "these and only these" — left two shipped documents with no licence. - Spanish translation — CC BY-SA 4.0. The Castilian Spanish (es-ES) translation is by Malecho —
lang/es.json(interface) andlang/content/es.json(game content). As a derivative of the CC BY-SA game text, the translation is likewise licensed CC BY-SA 4.0. - "Backgrounds for Cairn" — CC BY-SA 4.0 (text). The seven class backgrounds in the Custom compendium (Fighter, Cleric, Magic-User, Thief, Dwarf, Elf, Halfling) are from Backgrounds for Cairn by Gordon McCormick, based on Cairn by Yochai Gal and BECMI D&D by Frank Mentzer, text licensed CC BY-SA 4.0. Text only — the booklet's art (by Perplexing Ruins and Jeff Koch) is not included.
- GLOG Magic — CC BY-SA 4.0. The 100 spells in the GLOG Spellscrolls compendium are the GLOG Spells list from the official Cairn GLOG Magic hack on cairnrpg.com, licensed CC BY-SA 4.0 as stated on those pages. The Mishaps table in Tables (GLOG) and both journals in Journals (GLOG) — "GLOG Magic — Player Rules" and "GLOG Magic — Spells" — are the same hack's text under the same licence. The text is transcribed verbatim;
[dice]and[sum]are the hack's own casting variables and stay prose. The in-system cast flow adopts its resolved-text design — the per-power blocks and the[dice]/[sum]substitution — from a casting macro by Malecho, who proved the idea against this spell list before the system had a cast button. - Code — MIT. The Foundry system code descends from the original Cairn-FoundryVTT by Yochai Gal & Oskar Świda (MIT), itself descended from the Electric Bastionland system. See
LICENSE.txt. The same MIT grant covers the interface strings inlang/, except those that quote Cairn's own rules text — that stays CC BY-SA wherever it sits, per the game-text clause above. The Danish, French, German, Polish and Brazilian Portuguese files are inherited from Cairn-FoundryVTT and travel under its licence. The four shipped Warden macros (themacroscompendium) are original JavaScript under the same MIT licence — the CC BY-SA clause covers Cairn's text, which the macros contain none of. The System Docs journals travel here too: they are this project's own Warden guides, generated fromdocs/, and reproduce no Cairn text. - "For Use With Cairn" — the compatibility marks in
logo/are used per the terms on cairnrpg.com/resources/logos (CC BY-SA 4.0, Yochai Gal), unmodified. The character sheet and the printed page both show the "For Use With Cairn" stamp; the older "Compatible with Cairn 2e" badge it replaced is kept beside it. Details inlogo/README.md. - Air Bladder logo — © Lydia Comer, all rights reserved. Monster and character art — CC BY-NC-SA 4.0. Everything in
art/lydia-comer/is by Lydia Comer, under two licences. The galleries — 22 creatures and 31 characters (source: domfortunato.itch.io/lydia-comer), each a square portrait paired with the circle-cropped token drawn from it, offered in the portrait picker's Lydia Comer tab (her characters on Player Character, NPC and Hireling sheets; her monsters on Monster sheets) — are licensed CC BY-NC-SA 4.0: redistribution and adaptation are fine for noncommercial use, attribution is required, adaptations must be shared under the same licence, and the artist states no AI was used. Modified: re-encoded to WebP q95, the token halves sized to 400×400 for the canvas, and changed in no other way — the indication CC BY-NC-SA 4.0 §3(a)(1)(B) requires. The logo files at the top of the folder stay all rights reserved, licensed to the Air Bladder system for inclusion and redistribution as part of the system and its forks, and for use representing and promoting the project; any use outside the project requires permission. Contents are listed inart/lydia-comer/CREDITS.md; both sets of terms are inart/lydia-comer/license.txt. - Character art — CC BY 4.0. The 80 paired portrait/token images in
art/jon-aspeheim/portraits/andart/jon-aspeheim/tokens/are by Jon Aspeheim (source: Lemur's Portraits), licensed CC BY 4.0 (seeart/jon-aspeheim/license.txt, which covers both subfolders). Plain CC BY: redistribution is fine, attribution is required. The artist states these portraits were created without AI. Modified: the source ships 1000×1000 PNG portraits and no tokens — theportraits/half is re-encoded to WebP at the same size, and thetokens/half is cropped and downscaled from them to 256×256 for the canvas — the indication CC BY 4.0 §3(a)(1)(B) requires. Keep this credit if the art ships. - game-icons.net art — CC BY 3.0. Two folders, one grant, both from game-icons.net and licensed CC BY 3.0.
icons/holds the class icons (gear, spellbooks, transports, containers, monsters) by Lorc, Delapouite, Skoll & SeregaCthtuf;art/game-icons/holds the Game-Icons picker gallery — 2,275 glyphs in 38 categories by Andy Meneely, Aussiesim, Carl Olsen, Caro Asercion, Cathelineau, DarkZaitzev, Delapouite, Faithtoken, GeneralAce135, Guard13007, Irongamer, Lorc, Lord Berandas, Lucas, Quoting, Rihlsul, Sbed, SeregaCthtuf, Skoll, Sparker, Starseeker, Willdabeast and one icon credited to various artists. Per-icon author and source-page credits are recorded inicons/CREDITS.mdandart/game-icons/CREDITS.md; those files are the attribution, since the shipped path records only the category. The upstream notice ships verbatim asart/game-icons/license.txt. - Tlomdev's Tokens — CC BY-SA 4.0. The 368 black-and-white token drawings in
art/tlomdev/are by tlomdev (source: Tlomdev's Tokens), licensed CC BY-SA 4.0. Modified: re-encoded from PNG to WebP (quality 95) and changed in no other way — the full modification notice CC BY-SA §3(a)(1)(B) requires is the Modifications section ofart/tlomdev/CREDITS.md. They appear in the portrait picker's Tlomdev gallery under the artist's own category folders. Thekettlewright-portraits/subfolder (the picker labels it “Kettlewright Portraits”) carries the same artist's drawings as shipped by Kettlewright, with Kettlewright's exact filenames, so an imported Kettlewright character keeps the portrait its player chose. ShareAlike: adaptations of the art must carry the same licence. Attribution and provenance are recorded inart/tlomdev/CREDITS.md; the notice ships asart/tlomdev/license.txt. - Alegreya typeface — SIL Open Font License 1.1. The three webfonts in
fonts/are Alegreya by Juan Pablo del Peral and the Alegreya Project Authors (Huerta Tipográfica), © 2011, licensed OFL 1.1. Modified: converted to WOFF2 for web delivery and changed in no other way — the OFL counts a format change as a Modified Version (§1), so this is not an unmodified redistribution. Nothing is breached by that: Alegreya declares no Reserved Font Name, so the name stays usable, and the licence requires its notice travel with every copy, sofonts/OFL.txtandfonts/license.txtship with them.
And a thank-you, not a licence: Kettlewright, Yochai Gal's official Cairn app. The printable character sheet's layout is modelled on Kettlewright's print page, and the .json character import exists so a Kettlewright character can walk straight in. Inspiration and interoperability — no Kettlewright code or assets ship here beyond what the Tlomdev entry above records.






