Commit Graph
19 Commits
Author SHA1 Message Date
tevansandClaude Fable 5 4ec537d4b8 Swap Vance / Rostova / Tear art for user-generated pencil portraits
The three original FALSE ALARM NPCs now match the Congregation set:
Deputy Vance (Changed), Dr. Rostova, and the Tear (rendered as a suited
figure with a receding non-Euclidean void for a head - 'almost done
learning our shape'). Pure asset swap at the existing token paths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 23:59:49 +01:00
tevansandClaude Fable 5 bf4af421b5 Swap Congregation NPC art for user-generated pencil portraits
Agnes Corliss, the Returned Petrie brothers and the Called now use the
black-and-white pencil portraits (768px PNG) in place of the stylized
placeholders. Pure asset swap - pack document paths unchanged. SVG
sources retained alongside.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 23:38:53 +01:00
tevansandClaude Fable 5 b10f8213a7 FALSE ALARM midpoint encounter: The Congregation — v2.1.0
New Scene 2.5 at Cold Cauldron Crossing (Ridge Road mile 9): the town
comes up the mountain. Adds:
- 4 NPCs built to challenge 4 Agents: Agnes Corliss the Switchboard Widow
  (the Chorus SAN drain through the Agents' own radios, Stand Still action
  denial, Speak the Names; weakness = her dead husband's handset), the
  Returned Petrie brothers (armor 3, numbing grasp, pond Baptism drag,
  fire-vulnerable), and the Called x5 (restraining civilian wall - killing
  one is 1/1D8 SAN and a cover-up disaster).
- New battle map (blueprint style, 4400x3200 2x PNG) with 8 placed tokens,
  new gear item (Elias Corliss's Ham Handset), 4-page GM journal 13 with
  read-aloud, tactics, non-massacre outs and aftermath, plus a Scene 2.5
  pointer in the scene guide.
- Scene coordinate fix: padding 0 on all adventure scenes and centered
  token placement (tokens previously offset by the 0.25-padding origin).

Verified by fresh import in isolated Foundry: 7 actors, 13 journals,
4 scenes, 8 tokens on the crossing map at correct positions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 23:24:15 +01:00
tevansandClaude Fable 5 7dcbd96b13 Fix pause overlay showing GAME PAUSED while unpaused — v2.0.5
Root cause of the toggle cycle bug: the theme set display:flex on
#pause.dg2-pause unconditionally, out-specificity-ing core's hidden
(unpaused) state. After unpausing, the pause element stayed visible and
showed Foundry's default GAME PAUSED markup (the overlay injector
correctly skips unpaused renders). Scope the flex layout to
#pause.dg2-pause.paused and explicitly hide :not(.paused).

Verified three full pause/unpause cycles: paused = radar scope visible,
unpaused = element hidden. (Earlier tests misread visibility via
offsetParent, which is always null for position:fixed elements.)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 22:39:52 +01:00
tevansandClaude Fable 5 7bbe36c29e Deterministic pause overlay via GamePause subclass — v2.0.4
The v2.0.3 pauseGame-hook re-injection raced Foundry's own pause re-render:
on slower clients the default GAME PAUSED markup landed after our overlay,
so pressing Space after an unpause showed the stock screen. Register a
DG2GamePause subclass (CONFIG.ui.pause) that applies the radar-scope
overlay inside _onRender - part of every render, no timing window. Hook
fallbacks retained (with retries) for cores lacking the AppV2 GamePause.
Verified with five rapid unpause/pause cycles at 150ms settle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 22:27:50 +01:00
tevansandClaude Fable 5 7d684ffdb2 Robust pause overlay + PNG NPC tokens — v2.0.3
The radar-scope pause overlay only applied via the renderGamePause hook,
which does not fire on every pause toggle path — pressing Space after an
unpause could show Foundry's default GAME PAUSED. The overlay injector is
now idempotent and wired to renderGamePause AND pauseGame (plus a ready
check), so the scope applies on every toggle; verified across repeated
unpause/pause cycles.

Also rasterize the three FALSE ALARM NPC tokens (Rostova, Changed Vance,
the Tear) to 1024px PNGs, matching the map fix in v2.0.1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 22:16:11 +01:00
tevansandClaude Fable 5 ff13de2ca5 Radar-scope pause screen + Providence/Calamity critical events — v2.0.2
Pause: replace the stock spinner with an animated DG2 radar scope (centre-
swept beam, phosphor trail, range rings, glinting blips) captioned MISSION
PAUSED / ALL STATIONS HOLD.

Home rule (criticalEvents automation setting, default on): when an Agent
rolls a natural 01 on a percentile test, roll 1d6 on the PROVIDENCE table
(1 = recover 1D4 SAN ... 6 = the whole cell gains +20%/1 WP); a natural 00
rolls on the CALAMITY table (1 = equipment failure ... 6 = everyone in the
scene loses SAN as something notices the cell). Events post as dramatic
gold/red dossier chat cards with the d6 attached (themed 3D dice); the
Handler applies effects. Verified both paths end-to-end in isolated Foundry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 22:02:20 +01:00
tevansandClaude Fable 5 0fba241210 Ship FALSE ALARM maps as 2x PNGs (crisp when zoomed) — v2.0.1
Foundry rasterizes SVG scene backgrounds into a fixed texture, so the
vector maps looked low-res when zoomed in. Render the three battle maps to
native-resolution PNGs via headless Chrome (compound 5200x3600, server
3600x2800, dome 4000x4000) and point the scenes at them at grid 200 px/
5-ft square (same 26x18 / 20x20 layout, 1:1 with the texture). Tokens
repositioned to the 2x coordinate space. Journal handouts stay SVG (they
render as crisp vector <img> in journals). Bump to v2.0.1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 15:16:57 +01:00
tevansandClaude Fable 5 37f7223b4f Expand FALSE ALARM: full briefing packet + setting & background lore
Grow the adventure from 7 to 12 journals with a player intelligence packet
and deep setting material:
- 6 new document handouts (SVG, classified-file style): A-Cell operational
  memo, FAA site fact sheet (ME-07 Sable Ridge), regional map (Corliss
  Notch / ridge road / Cold Cauldron Pond), a full local newspaper front
  page, a years-to-hours activity timeline, and Vance/Rostova dossiers.
- New setting journals: the site, the town of Corliss Notch and the North
  Woods (with local legend), the recent-activity escalation, persons of
  interest, and a GM 'The Truth' journal tying folklore -> the hum ->
  phantom returns -> the deaths -> Rostova -> Vance into one arc.
- Renumbered journals 1-12; briefing now leads with the memo handout.

Verified importing in isolated Foundry: 4 folders, 12 journals, all 8
handout image pages fetch 200.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 10:46:23 +01:00
tevansandClaude Fable 5 1e0186a3a8 Add Operation FALSE ALARM adventure compendium
A complete, importable 3-4 hour Delta Green scenario (packs/false-alarm,
Adventure type). Importing creates four 'Operation FALSE ALARM' folders and:
- 3 actors: Dr. Rostova (npc, frozen), Deputy Vance Changed (unnatural),
  The Tear (unnatural, firearms-immune, 1D6/1D20 SAN).
- 6 items: service pistol (3 rounds missing), pipe wrench, corrupted data
  drive, keycard, thermite, cold-weather kit.
- 7 journals: player briefing + 3 image handouts (radar log, static
  waveform, the tear) + 3 GM guides (scenes/clues, NPCs/threat, cover-up).
- 3 scenes with blueprint white-on-black maps and placed NPC tokens:
  the compound, the server room, the radar dome.

All art is hand-authored SVG in the classified-dossier house style
(assets/adventures/false-alarm). Verified importing cleanly in an isolated
Foundry: folders, actors, journals and mapped scenes all materialise.
Also drop an invalid prototypeToken.sight override from the agent build.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 23:34:51 +01:00
tevansandClaude Fable 5 1a516d1a55 Wire in 8 agent pencil portraits as sheet + token art
Add the eight black-and-white pencil bust portraits (PNG, 768px) to
assets/tokens and point each agent's img and prototypeToken at its portrait.
Build script now resolves .png. sips on the target Mac cannot emit WebP,
so PNG is used.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 22:59:14 +01:00
tevansandClaude Fable 5 89a45732d3 Add Field Agents compendium: 8 pregen agents
Eight ready-to-play agents spanning the combat spectrum, each with stats,
skills, a bio, employer/education, two bonds, and appropriate firearms:
- SITKA (Special Operator, elite) ... MERCER (Forensic Scientist, support).
All are combat-capable (firearms 40-80). Registered as packs/field-agents.

Portraits: agents use a neutral placeholder token; build/gen-field-agents.mjs
auto-wires per-agent pencil portraits from assets/tokens/<name>.webp once
present (see assets/tokens/README.md for filenames). Build script committed
for reproducibility.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 22:24:54 +01:00
tevansandClaude Fable 5 d5e62e08a7 Dossier chat cards + 60-item Field Equipment compendium
Chat rework:
- Roll cards are now dark 'Eyes Only' dossier cards with a classification
  strip (FIELD OPERATION / THE UNNATURAL / LETHAL FORCE), roll name, and a
  target chip. Message frame is colour-accented per roll variant via a
  deltagreen2.variant flag set in DGRoll.toMessage and styled on
  renderChatMessageHTML. Flavor lines dropped in favour of the card header.

Field Equipment compendium:
- New packs/field-equipment with 60 modern DG gear items across
  surveillance, counter-surveillance, forensics, hazmat/protective,
  breaching/restraint, non-lethal, and support. Each uses a bundled
  white-on-black icon, carries flavourful descriptions with mechanical
  bonus notes, and an Agent's Handbook expense tier. Registered in the
  Delta Green pack folder.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 21:08:39 +01:00
tevansandClaude Fable 5 7ac9357964 Add themed Dice So Nice dice: agency / lethal / unnatural
Registers three Delta Green 2 colorsets with Dice So Nice and applies them
per roll type so the dice match the moment:
- dg2-agency (olive drab, metal, cloudy, bone numerals) -> skill/stat/luck
  /weapon checks; set as the table default appearance.
- dg2-lethality (black + blood red, fire texture) -> damage and lethality.
- dg2-unnatural (void violet glass, astral texture, green glow) -> SAN
  checks, rituals, and sanity damage.

Dice are tagged in each toChat() via tagRollDice(); registration runs on
the diceSoNiceReady hook and degrades silently when DSN is absent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 20:41:59 +01:00
tevansandClaude Fable 5 2458ae808f Add Tactical sheet theme (new default): modern dark redesign
- New characterSheetStyle option 'tactical' (default), css/dg2-tactical.css.
- Dark federal-dossier design: charcoal surfaces, olive accent, Public
  Sans throughout, uppercase letterspaced name plate and section headers.
- Color-coded HP (olive) / WP (steel) / SAN (red) resource cards.
- Modern underline tab navigation; skill rows as hoverable panels with
  dimmed untrained skills and olive value badges; restyled item lists,
  inputs, and buttons.
- Item sheets (AppV1) carry the theme class and get matching dark styling.
- Fix: CSS selectors still targeted .deltagreen after the system-id
  rename, leaving most stock sheet styling dead - renamed to .deltagreen2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 20:33:24 +01:00
tevansandClaude Fable 5 b80d514b28 Document Delta Green 2 changes in README
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:43:10 +01:00
tevansandClaude Fable 5 69e10765f2 Add GM automation: templated roll cards, apply buttons, ammo tracking
- Percentile roll cards: outcome banners (crit/success/failure) with icons
  and margin-of-success text instead of color-only inline styles.
- Damage and lethality cards: Apply Damage / Apply Lethality buttons that
  hit targeted or selected tokens, auto-subtracting equipped armor
  protection reduced by the weapon's armor-piercing value.
- Sanity damage cards: apply buttons for success/failure loss with GM
  whispers for temporary insanity (5+), breaking point crossings, and 0 SAN.
- Ammo: weapon ammo is now numeric with a magazine capacity; attack rolls
  expend a round (ammoTracking setting, default on), gear tab shows an
  ammo column with a reload control, compendium weapons carry capacities.
- CSS: drop live Google Fonts imports (offline reliability); DG2 styles
  with dark-theme support.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:36:30 +01:00
tevansandClaude Fable 5 b8eb917714 Rebrand as Delta Green 2 (id: deltagreen2, v2.0.0)
Rename system id, template/asset paths, settings namespace, and pack
references; repack compendia with corrected asset paths; point manifest
at slaguru666/DeltaGreen2. game.deltagreen API namespace kept for macro
compatibility.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:24:42 +01:00
tevansandClaude Fable 5 7c29335b0d Baseline: Delta Green official system v1.7.0 (MIT, TheLastScrub)
Pristine copy of the installed deltagreen 1.7.0 release build.

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