Skip to content

Commit e1c4ce4

Browse files
authored
Merge pull request #2236 from keithcurtis1/master
Chronicle - a calendar and event tracking script
2 parents 82e43af + 18c4899 commit e1c4ce4

8 files changed

Lines changed: 14753 additions & 14 deletions

File tree

Chronicle/1.0.0/Chronicle.js

Lines changed: 6570 additions & 0 deletions
Large diffs are not rendered by default.

Chronicle/Chronicle.js

Lines changed: 6570 additions & 0 deletions
Large diffs are not rendered by default.

Chronicle/readme.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Chronicle
2+
3+
Chronicle is a comprehensive calendar and timeline management system for Roll20 campaigns.
4+
5+
## Quick Demo
6+
7+
Watch a walkthrough of Chronicle's features: https://youtu.be/Zb4M21NtP3Y
8+
9+
## Key Features
10+
11+
- **Custom or Preset Calendars** — Create your own or load from five included presets (Gregorian, Forgotten Realms, Golarion, Greyhawk, Eberron)
12+
- **Event and Note Tracking** — Powerful tagging system for organizing and filtering campaign events
13+
- **Calendar View** — Interactive grid with date-by-date navigation and exploration
14+
- **Timeline Mode** — Chronological campaign review with tag and date-range filtering
15+
- **Weather Generation** — Automatic realistic weather based on Köppen climate zones
16+
- **Moon Phases** — Multiple moons with automatic phase calculation for any date
17+
- **Send to Chat** — Announce dates and events directly to players
18+
- **GM-Only Content** — Tag items 'gm' to hide them from chat output
19+
- **Special Days** — Support for holidays, intercalary days, leap days, and custom events
20+
21+
## Getting Started
22+
23+
1. **Install the script** in your campaign
24+
2. **Run `!chr`** to initialize (creates your main interface handout)
25+
3. **Choose your path:**
26+
- Load a preset calendar (30 seconds)
27+
- Create a custom calendar from scratch (30 minutes)
28+
4. **Start tracking** events, notes, and campaign time
29+
5. **Run `!chr --help`** anytime for detailed documentation
30+
31+
## Design Mode
32+
33+
Configure your calendar with custom months, weeks, climate zones, holidays, and moons. The interface handles all calculations automatically—no spreadsheets or complex setup required.
34+
35+
## Perfect For
36+
37+
Long-term campaigns where tracking in-game time enhances storytelling. Works with any system—D&D, Pathfinder, Vampire: The Masquerade, and more. No coding knowledge required.
38+
39+
## Installation
40+
41+
1. Copy the Chronicle script to your Roll20 campaign's Scripts section
42+
2. Run `!chr` to begin
43+
3. Load a preset calendar or create your own in Design mode
44+
45+
## Support
46+
47+
For detailed help and documentation, run `!chr --help` in your campaign to access the full help system built into the script.

Chronicle/script.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "Chronicle",
3+
"script": "Chronicle.js",
4+
"version": "1.0.0",
5+
"description": "Chronicle is a comprehensive calendar and timeline management system for Roll20 campaigns.\n\nWATCH A DEMO:\nhttps://youtu.be/Zb4M21NtP3Y\n\nKEY FEATURES:\n• Create custom calendars or load presets (Gregorian, Forgotten Realms, Golarion, Greyhawk, Eberron)\n• Track events and notes with a powerful tagging system for organizing and filtering\n• Calendar view with interactive grid navigation and date-by-date exploration\n• Timeline mode for chronological story review with tag and date-range filtering\n• Automatic weather generation based on Köppen climate zones\n• Multiple moons with automatic phase calculation for any date\n• Send to Chat feature to announce dates and events to players\n• GM-only content filtering (tag items 'gm' to hide from chat output)\n• Special days, holidays, leap days, and intercalary days support\n\nGETTING STARTED:\n1. Install the script in your campaign\n2. Run !chr to initialize (creates your main interface handout)\n3. Choose: Load a preset calendar (30 seconds) or create a custom one (30 minutes)\n4. Start adding events, notes, and tracking campaign time\nRun !chr --help anytime for detailed documentation.\n\nDESIGN MODE:\nConfigure your calendar with custom months, weeks, climate zones, holidays, and moons. The interface handles all calculations automatically—no spreadsheets or complex setup required.\n\nPERFECT FOR:\nLong-term campaigns where tracking in-game time enhances storytelling. Works with any system—D&D, Pathfinder, Vampire, etc. No coding knowledge required.",
6+
"authors": "Keith Curtis",
7+
"roll20userid": "162065",
8+
"modifies": {
9+
"handout": "read,write"
10+
},
11+
"patreon": "https://www.patreon.com/c/KeithCurtis",
12+
"dependencies": [],
13+
"conflicts": [],
14+
"previousversions": ["1.0.0"]
15+
}

Director/script.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"version": "1.0.8",
55
"description": "# Director\n\n**Director** is a script for supporting \"theater of the mind\"-style play in Roll20. It provides an interface for managing scenes, images, audio, and game assets — all organized within a persistent handout.\n\n---\n\n## Interface Overview\n\nThe interface appears in a Roll20 handout and consists of four main sections:\n\n- **Acts & Scenes** — scene navigation and management \n- **Images** — backdrops, highlights, and associated tracks \n- **Items** — characters, variants, macros, and token-linked objects \n- **Utility Controls** — edit mode, help toggle, settings, backup tools \n\n---\n\n## Acts & Scenes\n\n### Act Controls\n\nActs group together related scenes. Use the `+ Add Act` button to create one.\n\nIn **Edit Mode**, you can:\n- Rename or delete acts\n- Move acts up or down\n\n### Scene Controls\n\nEach scene represents a distinct moment or location. Click a scene name to set it active — this controls what images and items are shown.\n\nIn **Edit Mode**, you can:\n- Rename or delete scenes\n- Move scenes up or down (scenes moved beyond an act will join the next expanded act)\n\n---\n\n## Images\n\n### Backdrop vs. Highlight\n\n- **Backdrop**: Main background image placed on the Map Layer \n- **Highlights**: Visuals layered above the backdrop on the Object Layer (for focus or emphasis) \n\nWhen a scene is set:\n- The backdrop is placed on the map\n- All highlights appear just off the left edge of the page\n\nHighlights can be dragged manually, or previewed using `Shift+Z`.\n\n### Adding Images\n\n1. Drag a graphic to the tabletop (hold `Alt`/`Option` to preserve aspect ratio) \n2. Select the graphic and click `+ Add Image` in the interface\n\n### Image Controls\n\n- **Title**: Click to rename \n- **Bottom-right icons**: \n - `expanding arrows icon` = Set as Backdrop \n - `overlapping rectangles icon` = Set as Highlight \n - `music note icon` = Assign currently playing track. This track will auto play whenever the image becomes a backdrop image.\n- In **Edit Mode**: \n - Move an image up or down. Although the backdrop image always goes to the top\n - Recapture\n - Delete\n\n### Mute Button\n\nToggles automatic track playback. When red, backdrops will no longer auto-start audio.\n\n---\n\n## Items (Characters, Variants, Tracks, Macros, Tables)\n\nItems define what gets placed or triggered when a scene is set. Items are scoped per scene.\n\n### Adding Items\n\nClick a badge to add a new item:\n- `H` = Handout \n- `C` = Character \n- `V` = Variant \n- `T` = Track \n- `M` = Macro \n- `R` = Rollable Table \n\n### Item Behavior\n\n| Badge | Type | Behavior |\n|-------|------------|--------------------------------------------------------------------------|\n| `H` | Handout | Opens the handout |\n| `C` | Character | Opens the sheet if assigned; otherwise prompts for assignment |\n| `V` | Variant | Places token on scene set (does not open a sheet) |\n| `T` | Track | Toggles playback; assigns current track if none assigned |\n| `M` | Macro | Runs macro if assigned; otherwise prompts to choose an existing macro |\n| `R` | Table | Rolls the assigned table; result whispered to GM |\n\n> Variants are token snapshots that share a character sheet. Use them to represent alternate versions of a character or avoid issues with default token behavior.\n\n### Edit Mode Controls\n\nWhile in **Edit Mode**, each item displays:\n- `pencil icon` — Reassign\n- `trash icon` — Delete\n\nYou can also click the `magnifying glass icon` icon to filter items by type.\n\n---\n\n## Header Buttons\n\n### Set Scene as:\n\n**Scene** places the following on the tabletop:\n\n- Backdrop image (Map Layer) \n- Highlight images (Object Layer, left-aligned off page edge) \n- Character and variant tokens (Object Layer, right-aligned off page edge) \n- Starts assigned track (if set)\n\n**Grid** places the following on the tabletop:\n\n- Up to six images, arranged in a grid (Map Layer) \n- Surrounds each image with dynamic lighting barriers and turns on dynamic lighting with Daylight Mode \n- Top strip of the page is reserved (for holding player tokens) \n- Character and variant tokens (Object Layer, right-aligned off page edge)\n\n> _Only works if the current page name contains:_ `scene`, `stage`, `theater`, or `theatre`\n\n### Wipe the Scene\n\n`Wipe the Scene` removes all images and stops all audio.\n\n> Only works on valid stage pages.\n\n### Edit Mode\n\nToggles editing. When enabled:\n- Rename, delete, and move controls appear for acts, scenes, and images\n- Items display grouped by type with assign/delete icons\n\n### JB+\n\nIf Jukebox Plus is installed, this button appears and provides a chat link to launch its controls.\n\n### Help\n\nDisplays this help interface. While in help mode, this changes to \"Exit Help\".\n\n### Make Help Handout\n\nCreates a handout containing the help documentation. Use it to reference instructions while working in the main interface.\n\n---\n\n## Helpful Macros\n\nThese commands can be used in the chat or bound to macro/action buttons:\n\n`!director --set-scene`\n\n`!director --wipe-scene`\n\n`!director --new-act|Act I`\n\n`!director --new-scene|Act I|Opening Scene`\n\n`!director --capture-image`", "authors": "Keith Curtis",
66
"roll20userid": "162065",
7+
"patreon": "https://www.patreon.com/c/KeithCurtis",
78
"dependencies": [],
89
"modifies": {
910
"graphic": "read, write",

0 commit comments

Comments
 (0)