Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6,570 changes: 6,570 additions & 0 deletions Chronicle/1.0.0/Chronicle.js

Large diffs are not rendered by default.

6,570 changes: 6,570 additions & 0 deletions Chronicle/Chronicle.js

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions Chronicle/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Chronicle

Chronicle is a comprehensive calendar and timeline management system for Roll20 campaigns.

## Quick Demo

Watch a walkthrough of Chronicle's features: https://youtu.be/Zb4M21NtP3Y

## Key Features

- **Custom or Preset Calendars** — Create your own or load from five included presets (Gregorian, Forgotten Realms, Golarion, Greyhawk, Eberron)
- **Event and Note Tracking** — Powerful tagging system for organizing and filtering campaign events
- **Calendar View** — Interactive grid with date-by-date navigation and exploration
- **Timeline Mode** — Chronological campaign review with tag and date-range filtering
- **Weather Generation** — Automatic realistic weather based on Köppen climate zones
- **Moon Phases** — Multiple moons with automatic phase calculation for any date
- **Send to Chat** — Announce dates and events directly to players
- **GM-Only Content** — Tag items 'gm' to hide them from chat output
- **Special Days** — Support for holidays, intercalary days, leap days, and custom events

## Getting Started

1. **Install the script** in your campaign
2. **Run `!chr`** to initialize (creates your main interface handout)
3. **Choose your path:**
- Load a preset calendar (30 seconds)
- Create a custom calendar from scratch (30 minutes)
4. **Start tracking** events, notes, and campaign time
5. **Run `!chr --help`** anytime for detailed documentation

## Design Mode

Configure your calendar with custom months, weeks, climate zones, holidays, and moons. The interface handles all calculations automatically—no spreadsheets or complex setup required.

## Perfect For

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.

## Installation

1. Copy the Chronicle script to your Roll20 campaign's Scripts section
2. Run `!chr` to begin
3. Load a preset calendar or create your own in Design mode

## Support

For detailed help and documentation, run `!chr --help` in your campaign to access the full help system built into the script.
15 changes: 15 additions & 0 deletions Chronicle/script.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "Chronicle",
"script": "Chronicle.js",
"version": "1.0.0",
"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.",
"authors": "Keith Curtis",
"roll20userid": "162065",
"modifies": {
"handout": "read,write"
},
"patreon": "https://www.patreon.com/c/KeithCurtis",
"dependencies": [],
"conflicts": [],
"previousversions": ["1.0.0"]
}
1 change: 1 addition & 0 deletions Director/script.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"version": "1.0.8",
"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",
"roll20userid": "162065",
"patreon": "https://www.patreon.com/c/KeithCurtis",
"dependencies": [],
"modifies": {
"graphic": "read, write",
Expand Down
Loading
Loading