Skip to content

Repository files navigation

Shadowdark Tracker

A macOS app for running Shadowdark RPG combat encounters. Built with SwiftUI for macOS 14+.

Features

  • 3-pane combat UI — Initiative list, combatant detail, and combat log visible simultaneously
  • One-click dice rolling — Attack rolls with advantage/disadvantage, auto-damage on hit, natural 20/1 detection
  • Custom dice roller — Build dice pools (e.g. 2d6 + 1d8 + 3), roll with advantage/disadvantage
  • Full combat logging — All actions tracked: attacks, damage, healing, conditions, initiative, turns, rounds
  • PC tracking — Class, level, AC, HP, conditions, armor properties (stealth/swimming/shield)
  • Monster/NPC stat blocks — Ability scores, attacks, spells, special abilities, movement
  • Party persistence — Save groups of PCs as reusable parties, load into any encounter
  • Monster templates — Create reusable monster/NPC stat blocks with tags for searching
  • Save/load encounters — Full encounter state saved as .sdenc JSON files
  • Condition tracking — All Shadowdark conditions with visual badges
  • Initiative management — Roll for all, auto-sort, round/turn advancement

Requirements

  • macOS 14.0 (Sonoma) or later
  • Xcode 15+
  • xcodegen (brew install xcodegen)

Building

xcodegen generate
open ShadowdarkTracker.xcodeproj

Then build and run from Xcode (Cmd+R).

Alternatively, build from the command line:

xcodebuild -scheme ShadowdarkTracker -configuration Debug build

Usage

Combat Setup

  1. Add PCs using Add PC in the toolbar (or load a saved party)
  2. Add monsters/NPCs using Add Monster / Add NPC (or from the template library)
  3. Click Roll Initiative to roll for all combatants and sort the initiative list

Running Combat

  • Use Next Turn / Next Round to advance through combat
  • Select a combatant from the initiative list to view/edit their details
  • Click attack buttons on monster detail views to roll attacks against target AC
  • Apply damage/healing from the combatant detail panel
  • Toggle conditions by clicking condition badges

Dice Roller

The right pane includes a custom dice roller:

  • Quick-add common dice (d4, d6, d8, d10, d12, d20)
  • Build custom dice pools with modifiers
  • Roll with normal, advantage, or disadvantage mode

Data Storage

All data is stored in ~/Documents/ShadowdarkTracker/:

  • encounters/ — Saved encounter files (.sdenc)
  • parties/ — Saved party files (.sdparty)
  • templates/ — Monster/NPC template files (.sdtemplate)

License

This project is for personal use. Shadowdark RPG is created by The Arcane Library.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages