Three faults, all in how an actor reaches the table. THE TOKEN WAS THE PORTRAIT. prototypeToken.texture pointed at the portrait file, which is a 2:3 field-guide plate — full figure on plain ground. Foundry draws a token square, so it was squeezing a tall plate into it and showing a torso. tools/make-tokens.py now derives a 512px circular RGBA token from the same illustration: not a second Midjourney pass, because that would double the spend and still give a token that does not quite match its own portrait. Sized by the subject's DIAGONAL, since these creatures are tall and narrow and padding by the longest side wasted a third of the circle. Padded, never cropped — cropping to a square clipped the first gryphon's head off. EVERY TOKEN WAS 1x1. A hearth hob, a carthorse and a SIZ 32 dun cow all held one square. Footprint now comes from SIZ, cut at 21 and 30: 132 at 1x1, 14 at 2x2, 1 at 3x3. THE 100 CREATURES WERE IN NO COMPENDIUM. build-packs reads NPCS directly rather than collectSpecs(), so the bestiary validated, was drawn, had prompts written, and did not exist in the game. The npcs pack held 47 actors; it holds 147 now. That is the fourth consumer found bypassing all-specs.mjs, whose own header calls one-definition-only "this repository's one standing law" — bestiary.mjs and check-lethality.mjs still do. check-lethality is the one that matters: it cannot see the new creatures, so it is measuring 47 of 147 while reporting OK. All 23 guards pass. npm run build is red at update-readme for an unrelated pre-existing reason: the README advertises a guard list that package.json no longer matches. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
30 lines
1.6 KiB
JSON
30 lines
1.6 KiB
JSON
{
|
|
"name": "ringbrp",
|
|
"version": "0.9.0",
|
|
"description": "The Custodians — a Basic Roleplaying game of crossings, for Foundry VTT",
|
|
"main": "ringbrp.mjs",
|
|
"scripts": {
|
|
"build": "node tools/build-packs.mjs && node tools/update-readme.mjs",
|
|
"icons": "node tools/make-icons.mjs",
|
|
"portraits": "node tools/make-portraits.mjs",
|
|
"bestiary": "node tools/bestiary.mjs",
|
|
"play": "node tools/playthrough.mjs",
|
|
"mj": "node tools/mj-queue.mjs",
|
|
"simulate": "node tools/simulate.mjs",
|
|
"check": "bun tools/check-rules.mjs && bun tools/check-kits.mjs && bun tools/check-lang.mjs && bun tools/check-templates.mjs && bun tools/check-behaviour.mjs && bun tools/check-scenarios.mjs && bun tools/check-rollable.mjs && bun tools/check-outcomes.mjs && bun tools/check-creatures.mjs && bun tools/check-powers.mjs && bun tools/check-anatomy.mjs && bun tools/check-lethality.mjs && bun tools/check-focus.mjs && bun tools/check-firstblood.mjs && bun tools/check-attackers.mjs && bun tools/check-fight-tail.mjs && bun tools/check-packs.mjs && bun tools/detention-tables.mjs --check && bun tools/bellhouse-plans.mjs --check && bun tools/check-cited.mjs && bun tools/check-figures.mjs && bun tools/check-handouts.mjs && bun tools/check-bestiary.mjs",
|
|
"test": "bun run check",
|
|
"readme": "bun tools/update-readme.mjs",
|
|
"tokens": "python3 tools/make-tokens.py"
|
|
},
|
|
"keywords": [],
|
|
"author": "Tim Evans (slaguru666)",
|
|
"license": "SEE LICENSE.txt",
|
|
"type": "commonjs",
|
|
"dependencies": {
|
|
"classic-level": "^3.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"handlebars": "^4.7.9"
|
|
}
|
|
}
|