Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab619f4b73 | ||
|
|
9b6c61ffcb | ||
|
|
0852427586 | ||
|
|
ad771ff2b5 | ||
|
|
53481bdfc1 |
@@ -28,7 +28,8 @@ git clone https://gitea.timevans.uk/slaguru666/RingBRP.git ringbrp
|
||||
```
|
||||
|
||||
Requires **Foundry v13+** (verified against v14.364). No modules are required. Dice So
|
||||
Nice is supported but optional — the system registers four of its own dice textures.
|
||||
Nice works if you have it, using your own dice — the system ships no dice skins and does
|
||||
not touch anybody's dice settings.
|
||||
|
||||
### Deploying to a remote Foundry server
|
||||
|
||||
@@ -47,7 +48,7 @@ packs or regenerate art on that machine:
|
||||
```bash
|
||||
npm install # pulls classic-level, used to write the LevelDB packs
|
||||
npm run build # rebuilds packs/ from tools/content.mjs
|
||||
npm run check # the three guards; the build refuses to run if they fail
|
||||
npm run check # the five guards; the build refuses to run if they fail
|
||||
```
|
||||
|
||||
To update a deployed server: `git pull` and restart Foundry. If the pull touches
|
||||
@@ -152,13 +153,12 @@ template.json data model for every Actor and Item type
|
||||
templates/ Handlebars sheets
|
||||
styles/ one stylesheet
|
||||
lang/en.json all user-facing text
|
||||
icons/ dice/ fonts/ generated art
|
||||
icons/ fonts/ art/ generated art
|
||||
packs/ built LevelDB compendia (committed — see Deploying)
|
||||
tools/
|
||||
content.mjs the catalogue: skills, weapons, armour, gear, vehicles, NPCs
|
||||
build-packs.mjs builds packs/ — runs the three guards first and refuses on failure
|
||||
build-packs.mjs builds packs/ — runs the five guards first and refuses on failure
|
||||
make-icons.mjs draws all 231 icons
|
||||
make-dice-textures.mjs
|
||||
rules-text.mjs generates the rules journal FROM rules.mjs
|
||||
mission.mjs the case generator
|
||||
mission-tables.mjs its content tables
|
||||
@@ -176,13 +176,13 @@ stops being identity-equal to what it aliases, if a constant is re-declared as a
|
||||
literal, or if an exported rule has no spot-check. The packs used to be built under
|
||||
one set of numbers and played under another; this makes that impossible to ship.
|
||||
|
||||
The build runs all three guards before it writes anything:
|
||||
The build runs all five guards before it writes anything:
|
||||
|
||||
<!-- guards:start -->
|
||||
```
|
||||
check-rules: OK — 87 rules, 21 files scanned, 3 aliases + 41 constant sets checked, 275 formulas verified
|
||||
check-rules: OK — 87 rules, 20 files scanned, 3 aliases + 41 constant sets checked, 275 formulas verified
|
||||
check-kits: OK — 25 roles, 10 trades, 218 catalogue items, every kit key resolves, every posting can use what it carries, every loadout distinct
|
||||
check-lang: OK — en.json, 945 keys, no leaf/branch collisions
|
||||
check-behaviour: OK — 45 behavioural tests
|
||||
check-behaviour: OK — 46 behavioural tests
|
||||
```
|
||||
<!-- guards:end -->
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 785 B |
|
Before Width: | Height: | Size: 970 B |
|
Before Width: | Height: | Size: 826 B |
@@ -33,10 +33,9 @@ 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 check # the five 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
|
||||
|
||||
@@ -426,6 +426,13 @@ If there is time — and there usually is, because this ends early — she says
|
||||
|
||||
## Artwork
|
||||
|
||||
**Showing them at the table.** The adventure ships a third journal,
|
||||
**LAST ADMISSION — Show the players**, holding these as eight image pages at player
|
||||
visibility. Right-click a page and *Show Players*: the table gets the picture and
|
||||
nothing else — no heading, no caption, no label naming what they are looking at. The
|
||||
page names are for the GM's sidebar and the players never see them.
|
||||
|
||||
|
||||
**Style line:** flat editorial vector, deep navy and pale yellow with warm off-white,
|
||||
1970s British public-information poster, `--style raw --ar 3:2 --v 6`.
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
"scripts": {
|
||||
"build": "node tools/build-packs.mjs && node tools/update-readme.mjs",
|
||||
"icons": "node tools/make-icons.mjs",
|
||||
"dice": "node tools/make-dice-textures.mjs",
|
||||
"check": "node tools/check-rules.mjs && node tools/check-kits.mjs && node tools/check-lang.mjs && node tools/check-templates.mjs && node tools/check-behaviour.mjs",
|
||||
"test": "npm run check",
|
||||
"readme": "node tools/update-readme.mjs"
|
||||
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.231003 174603000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.920895 172817000 Recovering log #3
|
||||
2026/08/12-22:44:48.921047 172817000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.921223 172817000 Level-0 table #5: 4591 bytes OK
|
||||
2026/08/12-22:44:48.921517 172817000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.921554 172817000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.287733 16f5db000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.298648 173df7000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.946376 17382f000 Recovering log #3
|
||||
2026/08/12-22:44:48.946637 17382f000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.946788 17382f000 Level-0 table #5: 4129 bytes OK
|
||||
2026/08/12-22:44:48.947029 17382f000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.947065 17382f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.362147 16edcf000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.232848 174603000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.922471 173023000 Recovering log #3
|
||||
2026/08/12-22:44:48.923346 173023000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.923621 173023000 Level-0 table #5: 31614 bytes OK
|
||||
2026/08/12-22:44:48.923809 173023000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.923836 173023000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.290003 16f5db000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.282484 173df7000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.936635 17200b000 Recovering log #3
|
||||
2026/08/12-22:44:48.937301 17200b000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.937794 17200b000 Level-0 table #5: 45532 bytes OK
|
||||
2026/08/12-22:44:48.938219 17200b000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.938275 17200b000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.345401 16e5c3000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.266480 174603000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.907196 173023000 Recovering log #3
|
||||
2026/08/12-22:44:48.908927 173023000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.910392 173023000 Level-0 table #5: 225945 bytes OK
|
||||
2026/08/12-22:44:48.910874 173023000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.910934 173023000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.327015 16f5db000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.293373 173df7000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.917345 172817000 Recovering log #3
|
||||
2026/08/12-22:44:48.917660 172817000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.917794 172817000 Level-0 table #5: 3295 bytes OK
|
||||
2026/08/12-22:44:48.918046 172817000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.918081 172817000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.356982 16edcf000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.252536 174603000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.896053 17200b000 Recovering log #3
|
||||
2026/08/12-22:44:48.898901 17200b000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.902279 17200b000 Level-0 table #5: 545293 bytes OK
|
||||
2026/08/12-22:44:48.902701 17200b000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.902787 17200b000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.311753 16e5c3000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.290196 172ddf000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.925841 17382f000 Recovering log #3
|
||||
2026/08/12-22:44:48.926073 17382f000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.926304 17382f000 Level-0 table #5: 21613 bytes OK
|
||||
2026/08/12-22:44:48.926557 17382f000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.926598 17382f000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.353318 16edcf000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.286378 174603000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.939398 17200b000 Recovering log #3
|
||||
2026/08/12-22:44:48.940505 17200b000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.941454 17200b000 Level-0 table #5: 43953 bytes OK
|
||||
2026/08/12-22:44:48.942198 17200b000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.942249 17200b000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.349699 16f5db000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.297168 1735eb000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.927292 172817000 Recovering log #3
|
||||
2026/08/12-22:44:48.927647 172817000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.928175 172817000 Level-0 table #5: 33484 bytes OK
|
||||
2026/08/12-22:44:48.928522 172817000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.928579 172817000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.360431 16e5c3000 Delete type=3 #1
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/12-19:01:54.224954 172ddf000 Delete type=3 #1
|
||||
2026/08/12-22:44:48.913614 172817000 Recovering log #3
|
||||
2026/08/12-22:44:48.914288 172817000 Level-0 table #5: started
|
||||
2026/08/12-22:44:48.914458 172817000 Level-0 table #5: 7590 bytes OK
|
||||
2026/08/12-22:44:48.914739 172817000 Delete type=0 #3
|
||||
2026/08/12-22:44:48.914773 172817000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-22:44:33.281949 16edcf000 Delete type=3 #1
|
||||