The Custodians v0.6.1 — full system

A Foundry VTT game system: Basic Roleplaying d100 in a drab British agency that
deals with crossings, where reality keeps a record of what belongs where and can be
made to get it wrong.

Contents:
- rules.mjs as the single authority for every rule formula, with 40 rules and 132
  spot-checked values. Nothing may restate a formula it defines.
- 25 postings, each with a key characteristic, trained skills, talents and its own
  kit; a 175-item catalogue across four eras; 231 generated icons.
- Reaction Lanes initiative, re-rolled every round including the first.
- Coherence, and the Quiet Arts, which only ever arrive from a crossing gone wrong.
- Graded defences: only a critical stops a critical.
- Borrowed Authority — access as a record rather than a hacking roll.
- A case generator, and a rules journal generated from rules.mjs so the book cannot
  drift from the code.

Built compendia are committed so a remote Foundry needs only the files.
node_modules is not; `npm install` restores it for rebuilding content.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
slaguru666
2026-08-10 18:09:07 +01:00
co-authored by Claude Opus 5
commit d0144f744e
367 changed files with 20195 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
# Porting to a remote Foundry server
## First install
Stop Foundry, then clone into the data directory:
```bash
cd /path/to/foundrydata/Data/systems
git clone https://gitea.timevans.uk/slaguru666/RingBRP.git ringbrp
```
Start Foundry. **The Custodians** appears under Game Systems. Create a world with it.
Nothing else is required: `packs/` holds the built compendia, and the system has no
runtime dependencies. `node_modules/` is deliberately absent and is only needed to
*rebuild* content.
## Updating a deployed server
```bash
# STOP Foundry first if the update touches packs/ — LevelDB will not tolerate its
# files changing underneath a running server.
cd /path/to/foundrydata/Data/systems/ringbrp
git pull
```
Then start Foundry. Existing worlds keep their actors and items; compendium content is
replaced by the pull.
## Rebuilding content on the server (optional)
Only if you intend to edit the catalogue there:
```bash
npm install # classic-level, for writing LevelDB
npm run check # the three guards
npm run build # rebuilds packs/
node tools/make-icons.mjs # redraws all icons
node tools/make-dice-textures.mjs # regenerates the Dice So Nice textures
```
`npm run build` runs the guards first and aborts if any fails, so a broken catalogue
cannot be written into the packs.
## Manifest URL
For Foundry's *Install System → Manifest URL*:
```
https://gitea.timevans.uk/slaguru666/RingBRP/raw/branch/main/system.json
```
If the repository is private, Foundry cannot fetch that URL — clone over SSH or an
access token instead, or make the repo public.
## Version bumps
`system.json` carries `version`. Foundry only offers an update when that number rises,
so bump it before pushing anything a remote server should pick up.
## Health check after deploying
Open any character sheet. If labels read as raw keys (`RINGBRP.Sheet.Style` rather
than "Marksmanship"), the localisation file failed to load — run
`node tools/check-lang.mjs`, which exists precisely because one bad key silently
un-localises the entire system with no error a user would connect to the cause.
+3616
View File
File diff suppressed because it is too large Load Diff