Commit Graph
21 Commits
Author SHA1 Message Date
tevansandClaude Opus 5 2abc0dec37 v0.10.6 — compatibility values as strings
compatibility.minimum was the integer 13. Foundry's package schema uses string
fields, so a manifest install can fail validation on it. It never surfaced
locally because the system was installed by copying files, not by manifest.

Found while fixing the same class of bug in the DELVE module, whose relationship
entry used type: "requires" — the relationship kind — where the schema wants a
package type. That one produced a hard install error on a remote server.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 13:54:53 +01:00
tevansandClaude Opus 5 6796556411 v0.10.5 — verified on Foundry 14.365
0.10.4 published the Forge seams, then had its compatibility corrected in place.
Cutting a fresh version so the corrected metadata reaches anyone who took 0.10.4
in the window between the two, rather than relying on them not having.

No code change since 0.10.4. The system ran a full session on 14.365: the world
loaded, and forgeStage, forgeEncounter and forgeHoard were each exercised dozens
of times staging generated delves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 09:11:09 +01:00
tevansandClaude Opus 5 6f24c1cdd0 Verified on Foundry 14.365
The system ran a full session on 14.365 today: the world loaded, and
forgeStage, forgeEncounter and forgeHoard were each exercised dozens of times
staging generated delves. Nothing in the Forge or the sheets misbehaved.

No version bump — 0.10.4 was published minutes ago and nothing has consumed it
yet, so this corrects that release rather than making a new one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 09:02:41 +01:00
tevansandClaude Opus 5 f94b8a1a38 v0.10.4 — publish the Forge seams
Makes #1 available by manifest. The seams are additive and every new option
defaults to the current behaviour, so an update changes nothing for existing
callers, the directory buttons, or any world already running 0.10.3.

What an update brings:
- forgeHoard({ post }) and a structured return instead of undefined
- forgeEncounter({ hoard, post, folderId })
- forgeStage({ post, folderId })
- a guard on two unchecked rnd() calls that would throw on an empty pack

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 09:01:03 +01:00
slaguru666 dc275d6c6b Merge pull request #1 from slaguru666/delve-seams
Forge seams: post/hoard/folderId options, structured hoard return, empty-pool guard
2026-08-05 08:58:44 +01:00
slaguru666andClaude Opus 5 91a77a64d0 Forge seams: post/hoard/folderId options, structured hoard return, empty-pool guard
DELVE needs to sequence the Forge without the Forge talking to the table over
it. Measured on an instrumented harness, three linked areas produced 9 chat
cards, 3 Actor folders and 16 loose Actors, none of which a caller could
suppress or redirect. With these options the same three areas produce 0 cards
and 0 folders.

- forgeHoard({ post }) — and it now RETURNS { size, label, goods, relics,
  lines, card } instead of undefined, so a caller can render it itself.
- forgeEncounter({ hoard, post, folderId }) — loot decouples from combat, the
  card is optional, and actors can go in a caller-supplied folder rather than a
  fresh one per encounter.
- forgeStage({ post, folderId }) — same, threaded through to the encounter it
  raises when populate is true.

All three default to the current behaviour, so nothing changes for existing
callers or the directory buttons.

Also guards two unchecked rnd() calls in forgeHoard: rnd() returns undefined on
an empty array, and the result was dereferenced for .uuid immediately after. A
gear pack with no consumables would have thrown. The shipped packs are
populated so this is latent, not live.

Not included: injectable RNG (36 Math.random sites across four helpers) and
turning the Reaction mood into a real Roll. Both are larger and neither gates
the first DELVE release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 00:13:18 +01:00
tevansandClaude Opus 4.8 1045b06670 v0.10.3: graft the live-play changes onto Draft 14
Reconciles the parallel Draft 14 line (targeting, spell effects, Straining the
Weave) with the mechanics designed in a live pencil-and-paper session:

- Banes (replacing the Stumble, by design decision): two or more 1s bank a Bane
  regardless of Successes; burn 1 Success to cancel a fail (drop below two → no
  Bane); a single 1 is the free twist. The roll card offers Burn / Take the Bane.
  Threaded through the Draft 14 targeting/apply-damage so effective Successes drive
  net damage and spend budgets.
- Twist the Knife: the d66 table replaced by a tuned 2d6 table (single fail
  triggers it; effects hit the roller or a chosen comrade).
- Momentum: a 3+ Success roll grants +1 die on the next Draw (keep highest,
  stacks to +2) via a VanityCombatant subclass; shown on the sheet's Draw button.
- Initiative: right-click a combatant to "Go first — make an entrance (1 Vanity)"
  or (GM) "Move to top", instead of re-rolling for a 6.
- Conditions: token/HUD icons rebuilt as bold colour-coded badges (red=combat,
  teal=spell, plum=state) with white glyphs; renderer moved to headless Chrome.
- Marked reworded (no more "Stumble"); build-conditions now targets Draft 14.

Rules brought into line: Draft 14 (§1, §3, §6, §11b, §21a, Common Sense, the
Reckoning reference), the player rulebook (regenerated HTML + PDF, 43pp), the
condition card deck & GM summary, and the system description.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 08:56:32 +01:00
slaguru666andClaude Opus 4.8 3216621324 VANITY v0.10.2 — targeting apply-damage fix
The apply button counted only bought damage and dropped the first net
Success, which is the hit itself. Fixed in the VRPG source; this repo
carries the published system.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 00:13:53 +01:00
slaguru666andClaude Opus 4.8 38bfc940c9 Publish v0.10.1
Republishes after the LevelDB cleanup, which changed the shipped pack
contents after v0.10.0 was cut.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 22:55:27 +01:00
slaguru666andClaude Opus 4.8 e21cb309fd Drop LevelDB files superseded by the v0.10.0 pack rebuild
The pregens pack was rebuilt in the VRPG source, which retires the old
log and manifest; the sync that carried the new files across did not
remove the old ones, leaving the two repos' compendia out of step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 22:54:55 +01:00
slaguru666andClaude Opus 4.8 ffa69e43e7 VANITY v0.10.0 — Draft 14 rules, targeting, spell effects
Published system carrying the Draft 14 work: the rules journal rebuilt
with Common Sense (§6a), Scenes (§6b), the Zero Grit states (§5a),
Charm & Command separated (§7) and the Spell Effects menu (§17).

Foundry side: the companion card is now a Ranger's only, targeting rolls
the defender's guard and applies damage, and casters get their own spend
panel priced off Successes above the Threshold.

Implemented in the VRPG source; this repo carries the published system.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 22:54:03 +01:00
slaguru666andClaude Opus 4.8 3b7d6e778d Straining the Weave (§17) — v0.9.8
Repeated castings of the same spell in one scene now raise its Threshold
by +1 per prior cast, as the rules have always said. The sheet shows the
current Threshold with a +N badge, "Settle the Weave" clears the scene's
strain, and both rests settle it automatically.

Implemented in the VRPG source; this repo carries the published system.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 14:58:50 +01:00
slaguru666andClaude Opus 4.8 7f6c5af39a Publish v0.9.7
The expanded Vain Crown journal, the fifteen hand-drawn hero portraits
and tokens, and the Corvin/Wren 9-point correction were all pushed under
0.9.6 — the version that was already published. Fresh installs pulled
them, because the manifest's download URL tracks main, but Foundry only
offers an update when the manifest version is higher than the installed
one, so every existing install stayed on the old art and the illegal
attribute spreads.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 12:13:18 +01:00
slaguru666andClaude Opus 4.8 226ca53b01 Fix Corvin and Wren to the 9-point attribute budget
Compiled compendium rebuild carrying the correction made in the VRPG
source (Draft 13 §184: 9 points, each 1-4, key stat 3+).

Corvin  B2 F4 W3 P2 -> B2 F4 W2 P1  (8d bow and Brawn-2 defence intact;
                                     Wildcraft 4d -> 3d)
Wren    B2 F2 W2 P4 -> B2 F1 W2 P4  (no printed pool changes)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:21:09 +01:00
slaguru666andClaude Opus 4.8 9dfda6cdd0 Hand-drawn portraits and tokens for the 15 ready-to-play heroes
Replaces the procedural cameo silhouettes with pen-and-ink scratchboard
art matching the Vain Crown portraits — 512x512 portrait plus a round
ink-ringed token per hero, at the paths pregens.json already uses.

Generated and installed by the tooling in the VRPG repo
(gen-hero-art.sh + wire-hero-art.py); this repo carries the result.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 10:53:40 +01:00
slaguru666andClaude Opus 4.8 c647b1cae3 Vain Crown journal: expanded GM material and read-aloud boxes
Mirrors the rulebook adventure (slaguru666/VRPG) into the journal built
by stageVainCrown(): the GM-truth block, Vesper's position through the
evening, a "Running the ..." note per act, and labelled read-aloud text
at every beat.

Also carries the audit fixes: the two-key door now has a proxy fallback
so it can never dead-end a session, the Aura of Admiration has a stated
cadence, the open-water road is placed on the map instead of pointing
at a fen that is not part of this version, and the Pale Stranger no
longer bolts for a scene he is standing in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 10:53:40 +01:00
tevansandClaude Opus 4.8 87ae980435 Add the Bond: 10 animal companions, with sheet support and rules
Companions were a single line on the Ranger's edge; now they are a real
subsystem, rollable or pickable, with art, tokens and a place on the sheet.

- New compendium "companions" (VANITY · Animal Companions): 10 beasts as full
  NPC actors with painted core artwork, droppable as tokens — wolf, hawk, owl,
  raven, hound, lynx, serpent, stag, great bat, ram. Each keeps the printed
  baseline (Grit 3, attacks at 3 dice) and differs in dodge (2-4d), senses and
  one distinctive trick, plus which companion action it favours.
- New d10 roll table, "The Bond — Animal Companions".
- Ranger sheet: the companion block is now a card — art, name, kind, attack,
  dodge, Grit (with a DOWNED flag), its trick, and one-click Help / Harry /
  Guard (each posting what it does to chat) plus Attack and Dodge rolls.
  "Roll the Bond" rolls the d10 and binds the beast straight onto the sheet.
- template.json: companion gains kind, img, dodge, trick.
- Rules updated in both places: §9a in the Draft 13 source (so the in-world
  journal carries it) and a new Bond section in the player rulebook, which is
  regenerated to HTML + PDF (39pp).
- Version -> 0.9.6; README/FOUNDRY/system description updated (13 compendia).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 13:57:14 +01:00
tevansandClaude Opus 4.8 b8ab9b4d97 Add 15 new ready-to-play heroes with cameo art, tokens and backstories
Pregens pack 5 -> 20. Three per class, each built by the book (§8): 9 attribute
points with the key stat 3+, Grit rolled inside the class range, class knacks +
locked knack, Vanity 3 / Karma 0, a Vice, and expanded kit.

- Warriors: Dain Ironhand, Isolde de Vere, Grum the Undefeated
- Rogues:   Sable, Quillon Vance, Mirela the Magpie
- Rangers:  Rhys Thornwood, Thessa Greyfletch, Hollis Barrowmoor
- Mages:    Ambrose Vale, Ottoline Vex, Silas Corvax
- Clerics:  Sister Ilse, Brother Tobias, Lucia the Radiant

Art: bespoke "vanity cameo" medallions — a woodcut profile silhouette on a
class-tinted field in a gold roundel, generated parametrically (profile, hair,
headwear, beard, garment, class device). Each hero gets a 512px portrait plus a
matching transparent-background token. 30 PNGs + SVG sources in assets/heroes/.

Kit: 15-22 items each — weapons, armour, gear, consumables, class edges, spells
or Nature Tricks, a Vice, and one signature relic from the new treasure pack.
All 290 item references validated against the packs before build.

- build-packs.mjs: actors may now carry separate token art via "token_img".
- Version -> 0.9.5; system description and FOUNDRY.md brought up to date
  (incl. the Dice So Nice force change).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:48:33 +01:00
tevansandClaude Opus 4.8 9e0363dac2 Update published system to v0.9.4
Brings the public system repo up to date with the current build:
- Dice So Nice: the VANITY peacock dice are now forced for every player, with
  a roll hook stamping the colourset on every die (red Bane dice preserved).
- Character sheet: conditions strip moved to the foot, rebuilt as an even grid
  with larger (34px) icons.
- Twist the Knife no longer spends the banked Bane — the tab only clears
  through humility, a rest, or the Reckoning.
- Equipment: +50 items (weapons, armour & shields, gear, consumables).
- New compendium: VANITY · Treasures & Relics — 100 magic items, and the
  Forge's richer hoards now surface them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 08:50:37 +01:00
tevans 8543f10fc9 Match manifest URLs to the Vanity repo name 2026-07-14 15:38:39 +01:00
tevansandClaude Fable 5 9410c04381 VANITY v0.9.0 — Foundry VTT system
The complete VANITY system: d6 Stumble engine, the two Bane tables (d66
Twist the Knife + 2d6 Reckoning) with red dice, character/NPC sheets,
17 conditions as token markers, illustrated spell cast cards, the Forge
tools (hero/monster/NPC/hoard/encounter/stage/carouse/commission/Vain
Crown), and 11 compendia. Manifest install ready.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 15:16:07 +01:00