D&D Battle Tracker is a combat tracker tool for Dungeons & Dragons 5th Edition (D&D 5e). Track the initiative and status of all creatures involved in combat with this D&D combat tracker!
Feature ideas and general feedback welcome on Ko-fi. Bugs can be reported through Github issues.
For a better experience, use the original repository!!!
Using open API from https://www.dnd5eapi.co/docs/
Add/remove/track spell slots to creatures (NPCs, players etc)
spells.mp4
Fetch & manage spell slots for API creatures
api_spell.mp4
Auto scroll to active creature
autoscroll.mp4
- 🚧 TS coverage (in progress)
Description
The D&D Battle Tracker is a web application designed to run in a browser but does not require an internet connection.
First, access the live D&D Battle Tracker. The application will then be saved in your browser for offline use. If your mobile or desktop browser supports it you can install the Battle Tracker as a Progressive Web App on your device so you can easily access it whenever you need to.
You can also download a specific release of the dnd-battle-tracker.html
file below and open it in your favourite browser. This will be necessary if you have downloaded an in-progress battle that is no longer compatible with the live application:
As a new DM I found that I was frequently making mistakes during combat, such as:
- Forgetting who's turn it was or skipping a creature's turn altogether.
- Forgetting what conditions creatures were under.
- Doing maths wrong when applying damage to creatures (!)
It was clear that some automation would be helpful. There's a number of browser-based combat trackers out there at the time of writing:
- D&D Beyond
- Aide D&D
- DHMStark
- Donjon
- Harmless Key
- Improved Initiative
- Kassoon
- Orc Pub
- Roll20
- HeroMuster
Many of these systems are very feature rich and aim to provide tools beyond the combat tracker itself, which is great. However that does mean that they come with a learning curve and several are gated-off behind login screens.
This D&D Battle Tracker simply aims to automate the process of tracking combat using a pen and paper. It attempts to do this in a way that is as straight-forward and easy to use as possible. As such it does not do things like provide custom character creation tools, battle map creation tools or provide content from the Player's Hand Book. Instead it focuses on automating the smaller things that are prone to error and often distract a DM from the combat itself.
- Core DM features work entirely offline.
- Create a list of creatures who are involved in combat by adding a name, initiative score and health points for each one.
- Track creature status pre- and post-battle so active conditions carry into battle and persist when its over.
- Automatically order creatures by their initiative.
- Keep track of who's turn it is as combat progresses as well as what the current round is and how long combat has lasted.
- Keep track of creature conditions and any additional notes and how long they have been applied.
- Make it obvious when conditions or notes have been applied to help the DM not to forget to take them into account.
- Provide links to D&D Beyond's list of condition descriptions and monsters.
- Manage the health points of enemy creatures or NPCs allowing HP to be added and removed whilst supporting adding PCs to the creature list without HP.
- Allowing creatures to be killed/made unconscious and making it obvious to the DM that this has happened.
- Creatures can be added to or removed from the list at any time, even after combat has started.
- Save and load battles in case they continue into another session.
- Share your battle with your players so they can see the initiative order and follow along. Requires internet access.
- All icons taken from game-icons.net under the terms of the Creative Commons 3.0 BY license. See below for individual credits.
- Fonts provided by Google Fonts under the terms of the Apache License, Version 2.0. See below for individual credits.
- Critical Role for the inspiration.
- This application is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
- Play button icon by Guard13007
- Health normal icon by sbed
- Hearts icon by Skoll
- Icons by Delapouite:
- Icons by Lorc:
- Spell School Icons by Jasper_Ward-Berry:
- Dragon sculpture Dragon's Domain: A Medieval Castle Library 1 by Oana Rinaldi
- Open Sans font by Steve Matteson
- IM Fell Great Primer SC font by Igino Marini
$ git clone [email protected]:Paul-Ladyman/dnd-battle-tracker.git
$ cd dnd-battle-tracker
$ npm install
$ npm start
Unit and integration tests:
$ npm test
End to end tests:
$ npx playwright install --with-deps
$ npm run test:e2e
- Following a Continuous Integration workflow, all commits to
master
will trigger the execution of automated tests and a build of the project - Commits to
master
that successfully pass the CI step will result in the build artefact being deployed to the staging environment - Commits to
master
that include a change in the package version and have successfully passed the CI and stage deploy steps will be deployed to the production environment - In this way, a Continuous Delivery workflow can be followed by increasing the version in the same commit as the code is modified. If a manual testing step is called for, the version can be left as it is and the change tested on the stage environment. A version change can then be committed seperately to promote the change to production
- Each version successfully deployed to production results in a Github release being created with the build artefact
dnd-battle-tracker.html
attached. This ensures the current version of the project can be easily downloaded for use offline and all previous versions are available
- The project's dependencies are automatically kept up to date using Dependabot, which creates pull requests for each update
- Commits to pull requests also trigger the CI step of the pipeline and this step must execute successfully before the PR can be merged