Three faults in 1.0.4, and the first was the serious one.
1. It never went away. Core hides the overlay with `#pause { display: none }`
and shows it with `#pause.paused { display: flex }`. 1.0.4 styled the BARE
#pause with display:flex, which wins on specificity, so unpausing removed
the class and changed nothing — GAME PAUSED sat over the table for the rest
of the session. Every rule here is now scoped to `.paused` and `display` is
not set anywhere.
2. It was off centre because I repositioned it. Core already centres it: a
full-width band at top calc(50vh - 100px), column flex, centred both ways,
pointer-events none. That layout was correct and 1.0.4 fought it with
left/bottom/transform. It is left alone now; only the height changes, and
the top moves up by exactly half the extra so the centring holds.
3. It was small: a 322x116 panel in the corner. It is now core's full-width
band at 300px with a 170px dial — against core's own 100px — and the
caption at 24px to match core's.
Guarded: check-behaviour now parses the stylesheet and fails any rule that sets
display on an unscoped #pause. Verified it bites. It strips CSS comments first,
because the first version of the guard reported the comment explaining the
guard — which is exactly what the template guard did last time, so that is twice
now and the lesson is written down properly.
Verified by driving the real toggle: running → display none, box 0x0, no class;
paused → display flex, 341x302, centre X exactly on the viewport centre;
unpaused again → display none, box 0x0.
Version 1.0.5.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
232 lines
5.2 KiB
JSON
232 lines
5.2 KiB
JSON
{
|
|
"id": "ringbrp",
|
|
"title": "The Custodians",
|
|
"description": "A Basic Roleplaying game of agents who cross the crossing to contain what should not be there — and who come back a little less from here each time.",
|
|
"version": "1.0.5",
|
|
"compatibility": {
|
|
"minimum": 13,
|
|
"verified": "14.364"
|
|
},
|
|
"authors": [
|
|
{
|
|
"name": "Tim Evans (slaguru666)"
|
|
}
|
|
],
|
|
"esmodules": [
|
|
"ringbrp.mjs"
|
|
],
|
|
"styles": [
|
|
"styles/ringbrp.css"
|
|
],
|
|
"languages": [
|
|
{
|
|
"lang": "en",
|
|
"name": "English",
|
|
"path": "lang/en.json"
|
|
}
|
|
],
|
|
"socket": false,
|
|
"initiative": "@characteristics.dex.value",
|
|
"grid": {
|
|
"distance": 3,
|
|
"units": "m"
|
|
},
|
|
"primaryTokenAttribute": "hp",
|
|
"secondaryTokenAttribute": null,
|
|
"packs": [
|
|
{
|
|
"name": "pregens",
|
|
"label": "The Custodians · Agents",
|
|
"path": "packs/pregens",
|
|
"type": "Actor",
|
|
"system": "ringbrp",
|
|
"ownership": {
|
|
"PLAYER": "OBSERVER",
|
|
"ASSISTANT": "OWNER"
|
|
}
|
|
},
|
|
{
|
|
"name": "npcs",
|
|
"label": "The Custodians · Natives & Threats",
|
|
"path": "packs/npcs",
|
|
"type": "Actor",
|
|
"system": "ringbrp",
|
|
"ownership": {
|
|
"PLAYER": "NONE",
|
|
"ASSISTANT": "OWNER"
|
|
}
|
|
},
|
|
{
|
|
"name": "skills",
|
|
"label": "The Custodians · Skill List",
|
|
"path": "packs/skills",
|
|
"type": "Item",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "talents",
|
|
"label": "The Custodians · Talents",
|
|
"path": "packs/talents",
|
|
"type": "Item",
|
|
"system": "ringbrp",
|
|
"ownership": {
|
|
"PLAYER": "OBSERVER",
|
|
"ASSISTANT": "OWNER"
|
|
}
|
|
},
|
|
{
|
|
"name": "powers",
|
|
"label": "The Custodians · The Quiet Arts",
|
|
"path": "packs/powers",
|
|
"type": "Item",
|
|
"system": "ringbrp",
|
|
"ownership": {
|
|
"PLAYER": "OBSERVER",
|
|
"ASSISTANT": "OWNER"
|
|
}
|
|
},
|
|
{
|
|
"name": "weapons",
|
|
"label": "The Custodians · Weapons",
|
|
"path": "packs/weapons",
|
|
"type": "Item",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "armour",
|
|
"label": "The Custodians · Armour",
|
|
"path": "packs/armour",
|
|
"type": "Item",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "gear",
|
|
"label": "The Custodians · Gear & Devices",
|
|
"path": "packs/gear",
|
|
"type": "Item",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "vehicles",
|
|
"label": "The Custodians · Transport",
|
|
"path": "packs/vehicles",
|
|
"type": "Item",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "primer",
|
|
"label": "The Custodians · Read this first (players)",
|
|
"path": "packs/primer",
|
|
"type": "JournalEntry",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "rules",
|
|
"label": "The Custodians · Rules",
|
|
"path": "packs/rules",
|
|
"type": "JournalEntry",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "starter",
|
|
"label": "The Custodians · BLACK PLATFORM (starter case)",
|
|
"path": "packs/starter",
|
|
"type": "Adventure",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "lastadmission",
|
|
"label": "The Custodians · LAST ADMISSION (prologue)",
|
|
"path": "packs/lastadmission",
|
|
"type": "Adventure",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "prologue",
|
|
"label": "The Custodians · OPEN DAY (prologue)",
|
|
"path": "packs/prologue",
|
|
"type": "Adventure",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "slice",
|
|
"label": "The Custodians · The Ilfracombe Crossing",
|
|
"path": "packs/slice",
|
|
"type": "JournalEntry",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "tables",
|
|
"label": "The Custodians · Site & Hazard Tables",
|
|
"path": "packs/tables",
|
|
"type": "RollTable",
|
|
"system": "ringbrp"
|
|
},
|
|
{
|
|
"name": "expedition",
|
|
"label": "The Custodians · Case File: ILFRACOMBE",
|
|
"path": "packs/expedition",
|
|
"type": "Actor",
|
|
"system": "ringbrp",
|
|
"ownership": {
|
|
"PLAYER": "OBSERVER",
|
|
"ASSISTANT": "OWNER"
|
|
}
|
|
}
|
|
],
|
|
"packFolders": [
|
|
{
|
|
"name": "The Custodians",
|
|
"sorting": "m",
|
|
"color": "#18268d",
|
|
"folders": [
|
|
{
|
|
"name": "Scenarios",
|
|
"sorting": "m",
|
|
"packs": [
|
|
"lastadmission",
|
|
"prologue",
|
|
"starter",
|
|
"expedition",
|
|
"slice"
|
|
]
|
|
},
|
|
{
|
|
"name": "Characters",
|
|
"sorting": "m",
|
|
"packs": [
|
|
"pregens",
|
|
"npcs"
|
|
]
|
|
},
|
|
{
|
|
"name": "Equipment",
|
|
"sorting": "m",
|
|
"packs": [
|
|
"weapons",
|
|
"armour",
|
|
"gear",
|
|
"vehicles"
|
|
]
|
|
},
|
|
{
|
|
"name": "Rules & reference",
|
|
"sorting": "m",
|
|
"packs": [
|
|
"primer",
|
|
"rules",
|
|
"skills",
|
|
"talents",
|
|
"powers",
|
|
"tables"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"url": "https://gitea.timevans.uk/slaguru666/RingBRP",
|
|
"manifest": "https://gitea.timevans.uk/slaguru666/RingBRP/raw/branch/main/system.json",
|
|
"download": "https://gitea.timevans.uk/slaguru666/RingBRP/archive/main.zip",
|
|
"license": "LICENSE.txt"
|
|
}
|