Add the duty roster: ten ready-to-play agents with generated portraits
Five postings and five trades, so a group choosing from this sheet meets both halves of character creation without anyone having to explain them. Skills and kit are not written out per agent. They are expanded from the register at build time by the same helper the starter scenario uses, which is hoisted out of the BLACK PLATFORM block for the purpose — two copies of that expansion is two places for the induction rule to drift. Ratings sit at the middle of each band rather than being rolled, because a pregen that varies between installs is not a pregen. Portraits are generated art, resized to 512 and stored as webp (12MB of PNG became 210KB). buildActor now takes a portrait and gives the same face to the prototype token: a pregen you can recognise on the map is worth more at a convention table than a correct one you cannot tell apart. It throws on a portrait that is not on disk, because a broken image on a pregen sheet is the sort of thing that is first noticed on a projector. Guard: check-behaviour gains a test that every roster agent names a real posting or trade and has its portrait on disk, verified to bite. It caught "archive", which is not a posting — Bhattacharya is Registry. Verified in a running Foundry: 14 pregens in the pack, sheets render with the portraits, coherence and hit points fill from the template, no system errors. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 15 KiB |