Add configuration open for turn removal feature (enabled by default) #14
CSS padding issue that caused arrow buttons to not be visible
Removed the default keys for the keybinding for better compatibility (users can define their own)
- As part of the "display" feature, a flag is now set on actors with their last attack roll. This could be used in a custom Combat Tracker Groups grouping mode, for example.
- Refactor CSS completely
- New scroll snapping
- Configuration form to enable complete manual configuration of all colors
- Refactors to color generation and display
- Make phase and round switching more predictable
- Don't start combat if the Combat Tracker is not hidden (thanks to @Lethay)
- Localized everything to make the "display" and "Action Locking" features work in other languages
- Removed separate round value since it was causing bugs with de-sync and making it so that you aren't able to advance the round at all. This separation was created because I originally wanted the SCS to work without any core combats active, but that no longer makes sense because they are now synchronized anyway
- Error with display enabled when there is no flavor text in rolls
- Remove conflicting Keybindings
- Use MidiQoL's hook
- Only attempt to add the Combat Tracker display if a combatant exists
- IntroJS is now a soft dependency which you only need to install for the tutorial
- Inverted default Combat Tracker visibility setting
- Removed the concept of turns from the Combat Tracker:
- Previous and Next turn buttons are hidden
- No combatant is highlighted as the current combatant as there is no one taking their turn (requires v9d2 or later)
- Keybindings for switching phase and round as well as toggling app visibility (requires v9d2 or later)
- Major rework of the HUD feature which has been renamed to the more generic "Attack Display" and now includes an option to display the last roll in the Combat Tracker
- Always move above SmallTime no matter what it's height happens to be
- Attack Display works with MidiQoL
- Attack Display HUD is more consistently centered
- Hide App when there is no Combat encounter
- End combat when all of the combatants have been removed
- Create a new combat if one doesn't exist if the round isn't zero
- Only allow GM users to change the phase or round with the API
- Bug fixes and improvements
- Code Quality improvements
- Fixed default settings in v9d2 which were messed up now that arrays can't be localized
- Action Locking: the notification for an unrecognized phase is now GM-only
- Combat Management:
- Added a prompt to end the current combat when the round becomes zero
- Create a new Combat whenever the round becomes greater than zero
- Color Generation: player clients no longer reload after a delay
- Now always reloads the page after the phase names are changed in order to keep clients in sync
- Use v9 CSS variables for styling
- The HUD is now compatible with the Better Rolls 5e module (Fixes #5). See the README for details.
- Improved compatibility with SmallTime, to allow them to both position correctly together
- Some code cleanup and now there's no more jQuery!
Set z-index above control toolbar
- Fix window closing by removing app from
ui.windows
- Fix typos
- Add
scsPhaseChanged
andscsRoundChanged
hooks - Use PIXI for the HUD to make it always show up. In addition, the HUD was redesigned. It now also only shows up during the Attack phase.
In order to ease determining the attack order (for example, in the default attack phase), the module shows you the last attack roll in the token's HUD. This currently only works in D&D 5e and PF 2e.
- Exposed round (
.changeRound(delta)
) and phase (.changePhase(delta)
) switching in the public API - Fix app border appearing incorrectly
- Updated libWrapper shim with dialog removed
- Migrated API to
game.modules.get("scs")?.api
- Added optional parameter to
hideTracker
(which has been renamed todefaultTracker
), allowing you to instead show the tracker if hidden - Added optional parameter to
stopTutorial()
allowing you to also close the tutorial at the same time - Fix a bug where the phase would be stuck in an invalid state after the names are changed
- Updated localisations
- Fix action locking for Magic phase
- Removed Argon's "End Turn" button
- Implemented cycles (which are one complete run through all phases) in order to allow for the round to end after three as per SCSv2
- Added animated smooth scrolling when there are too many phases to fit in the box
Fix typo and fix not working on Firefox
- Phases now stack when there is more than three (instead of making them really small)
- Renamed Spells to Magic and added other new terminology from SCSv2
Fixed app not updating for players
- Whetstone compatibility
- Allow switching to any phase by clicking on it
- Alert if using a game system that doesn't have Action Locking yet
- Don't allow rounds below zero
- Works with Core rounds: switching SCS rounds will update the default combat tracker
- Fix app not appearing in the right position when the canvas is disabled or no scene is activated
- Added Action Locking which restricts actions based on the current phase. Only works for known phases (Move, Attacks, Spells). Feel free to make suggestions on my discord server for more phases that could have Action Locking.
- Switched to
esmodules
and opened up some functions as an API
- Moved Foundry-style theme to the IntroJS library itself
- Fixed window briefly showing when clicking "🌈 Generate" in settings
- Color generation is much faster and more reliable (thanks to @LukeAbby)
- Added error handling for when no color is findable
Added an option to invert the appearance of the active phase, so that it's lighter than the others rather than darker.
- Fix new color generator
- Fix player sync
- A tutorial for using it with IntroJS
- More integration with AboutTime
- Better localization and the ability to give custom names to phases
- Randomly generated colors
- Up to 50 phases! (I'm not sure why you would want anywhere near that many)
There was a super annoying bug where the app would go into an update loop which took like 10 hours to debug
- Fixed a bug for anyone that doesn't have SmallTime installed
Added integration with About Time, so that changing rounds updates the game's time. Currently, the time is not paused during combat as I still have to figure out how to do that.
Also, added some gradients to make it look nicer ✨
The player client now updates whenever the DM's does. Before, it would only updated on reload 🤭
I added a new setting to limit the phases to three per round (defaults to disabled). By default this was enabled before.
- Changing the settings now reloads the page
- When loaded, the app initially displays the correct round
- When the sidebar is collapsed, it resizes to fit the content now that there is no combat tracker (if you don't have that disabled)
- Added all of the localizations to the
scs
namespace - Removed unused logging function