A comprehensive time management module for Delta Green RPG sessions in Foundry VTT, inspired by the mechanics of the FROM TV series.
Current Version: 3.0.2 β πͺ AGENT TRACKER UX: auto-height window, wider layout, double-click opens actor sheet, live roster refresh. See full changelog for complete history.
- Auto-height window β Agent Tracker opens at the correct height for all visible agents and re-adapts automatically when agents join or leave; no more manual resizing
- Wider layout β window width increased from 600 px to 680 px; Β±1h buttons no longer overlap the time progress bar in GM view
- Double-click to open actor sheet β double-clicking an agent entry (outside action buttons) opens their character sheet for both players and GM
- Live roster refresh β the tracker reacts in real time to actor creation/deletion, ownership changes, and player connect/disconnect without needing to reopen the window
What was new in v3.0.0
- Critical fixes β Agent Tracker buttons now work (missing
_onRenderfixed), dialog renders correctly (addedHandlebarsApplicationMixin), agents visible again (fixed actor type"agent"vs"character") - Full Foundry v13+ API compliance β all dialogs use
HandlebarsApplicationMixin(ApplicationV2)with separate HBS templates - Reactive real-time sync β
onChangecallbacks on all world settings; every client auto-refreshes without socket broadcasts - Promise-based Action Selection β
ActionSelectionDialog.show()returnsPromise<result|null> - Archive completed actions button β GM can archive all completed queue entries in one click
- Old actions unstuck β legacy numeric IDs (from
Date.now()) now work with string comparison
- Real-time game clock with day/hour tracking
- "Day in Town" counter for extended stays
- GM-controlled time settings and real-time broadcast to all clients
- Automatic time progression with manual override
- Individual progress bars for each agent (day and night separately)
- Visual color-coded warnings: green β orange β red as time fills
- GM eye-icon (π) to hide/show individual agents from players
- Real-time synchronization across all clients via socket events
- Pre-defined action templates with configurable time costs
- Custom action creation
- Automatic time allocation per agent with day/night overflow handling
- Completion tracking and per-action delete
- Permanent history of all agent actions throughout the campaign
- Organized by day with collapsible sections
- Individual archive window per agent
- Persists across Foundry restarts
- 10 distinct horror-themed gradient backgrounds, hash-assigned per agent
- Consistent appearance for the same agent across all sessions
- Socket-based synchronization (
module.from-time-management) - Flicker-free
refreshContent()updates β no duplicate dialog instances - Late-join support: players connecting mid-session get full sync
- Permission model: players manage own characters, GM controls all
- Toggle between Day and Night tracking modes
- Overflow automatically moves to the opposite period
- "New Day" resets all agent progress and advances the day counter
| Template | Time |
|---|---|
| Short Rest | 1h |
| NPC Conversation | 1h |
| Investigate Location | 1h |
| Meal at Diner | 1h |
| Travel Town β Colony House | 1h |
| Medical Care | 2h |
| Explore Near Town | 3h |
| Forest Exploration | 6h |
| Foundry VTT | v12.331 β v13.351+ (verified) |
| Recommended | v13+ for full DialogV2 support |
| System | Delta Green (primary); adaptable to other systems |
| Dependencies | None β standalone module |
| PopOut! module | β Fully compatible |
- In Foundry VTT go to Add-on Modules β Install Module
- Search for
FROM Time Management - Click Install and enable in your world
- Download
from-time-management-v3.0.2.zipfrom the releases page - Extract to your
Data/modules/directory - Restart Foundry VTT and enable the module in your world
https://github.com/ZuraffPL/FROM-Time-Management-Module/releases/latest/download/module.json
- Set Time β manually set the current game time
- Broadcast Time β send current time to all players via chat
- New Day β resets all agent progress bars and advances the day counter
- Switch between Day Time and Night Time tracking modes
- Use +1h / -1h buttons to manually calibrate individual agent time
- Click Add Action to open an inline panel with templates or custom input
- Click the π eye icon (GM only) to hide/show an agent from players
- Click Archive Actions to browse an agent's full action history
- Mark actions as completed with checkboxes
- Clear Completed archives finished actions to respective agents
- Delete individual actions with the trash icon
- Open the Agent Tracker to view your character's progress bars
- Click Add Action to add time to your character
- Click Archive Actions to review your full action history
- Receive time updates via chat when the GM broadcasts
All state is stored automatically in world-level Foundry settings β no manual configuration required.
| Setting | Description |
|---|---|
currentGameTime |
Current in-game time and date |
agentDayTimeTracking |
Per-agent day-period time usage |
agentNightTimeTracking |
Per-agent night-period time usage |
trackingMode |
Current mode (day / night) |
actionQueue |
All queued and completed actions |
actionArchive |
Complete historical archive |
hiddenAgents |
GM visibility preferences per agent |
| Role | Access |
|---|---|
| GM | Full control: time, all agents, settings, visibility toggles |
| Players | Add actions for owned characters; view all tracking info |
| Observers | Read-only access |
| Language | Status |
|---|---|
| English | β Full |
| Polish (pl) | β Full |
Additional languages welcome via pull request.
Built on modern Foundry VTT v13+ APIs:
- DialogV2 API β all dialogs use
foundry.applications.api.DialogV2 - Flicker-free updates β
refreshContent()replaces inner DOM only, preserving scroll position and open panels - Inline Action Panel β embedded directly in tracker DOM, no separate window needed
- Socket events β
forceRefreshAgentTracker,forceRefreshActionQueue,addActionToQueue,timeChanged - Event delegation β single root listener with
e.target.closest()for all buttons - No jQuery β pure ES module JavaScript
from-time-management/
βββ main.mjs # Entry point: settings, controls, socket listener
βββ module.json # Module manifest
βββ scripts/
β βββ agent-tracker-dialog.js # Agent tracking, inline panels, visibility toggle
β βββ action-queue-dialog.js # Action queue with refreshContent pattern
β βββ action-selection-dialog.js # Standalone action selection (legacy fallback)
β βββ time-management-dialog.js # GM time control dialog
βββ styles/
β βββ time-management.css # All styles, CSS variable-based theming
βββ lang/
βββ en.json
βββ pl.json
- Fork the repository
- Create a feature branch
- Make your changes and test in Foundry VTT v13+
- Submit a pull request
Report bugs and request features via the GitHub issue tracker.
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
- Inspired by: FROM TV series time mechanics
- Designed for: Delta Green RPG
- Built for: Foundry Virtual Tabletop
"In FROM's twisted town, every hour matters. Track your agents' activities, manage their exhaustion, and survive another day in this nightmare."