Commit graph

5 commits

Author SHA1 Message Date
George Brocklehurst
1e828547bb
Apply the first downtime move before picking the second one (#383)
* Downtime: allow moves to be taken individually.

Fixes https://github.com/Foundryborne/daggerheart/issues/374

Some downtime moves require a roll to see how successful they are. In these
cases, the player might want to see how their first move works out before
they select their next one.

This commit updates the downtime dialog to allow for this behaviour:

- The "Take Downtime" button is enabled whenever any moves are selected.
- Clicking the button only closes the dialog when all moves have been made.

To keep track of this, the `nrChoices` object has been expanded to include a
`taken` counter, which is increased whenever a move is taken.

After making one move the selection is reset, but the number of moves
displayed in the dialog header and the number of permitted selections both
take the number of taken moves into account.

* Fix heading in short rest chat message.

Prior to this commit the heading for a short rest chat message was "long
rest".

* Remove unused template context.

* Extract method for repeated calculation.

In the downtime dialog, we need to calculate the number of selected moves in
several places. This commit extracts a method to handle that, which reduces
repetition and hopefully makes the code more readable.
2025-07-20 12:40:11 +02:00
George Brocklehurst
615df65415
Fix ctrl+clicking on a downtime action on macOS (#378)
* Refactor: handle button data attrs the same.

A small refactor to handle `button.dataset.move` (which was assigned to a
local const) and `button.dataset.category` (which was accessed directly)
in the same way by assigning them both to local consts.

* Fix right-click on downtime activities on macOS.

On macOS with a single-button mouse (e.g. a laptop trackpad) it's common to
trigger a right-click with ctrl+click.

In Chrome, this triggers both a `contextmenu` event and a regular `click`
event. In the context of downtime actions, this meant that we were
deselecting an action in the `contextmenu` handler but then immediately
re-selecting it again in the `click` handler.

This commit works around the problem by stopping the event from propagating
further. This fixes the bug, but also stops Foundry's default `contextmenu`
handler from firing and preventing the browser context menu from appearing,
so we also have prevent the event's default behaviour from firing.
2025-07-19 19:04:28 +02:00
WBHarry
6e87e4dad0
[Fix] Downtime Rework (#367)
* Fixed so that the dropdown for activeEffectAutocomplete never ends up behind dialog

* Downtime can now display both ShortRest and LongRest options depending on character rules

* Initial downtime layout rework

* Fixed styling for downtime tooltip

* Added icon to homebrew menu for DowntimeActions

* Fixed columns if both types of moves are not available

* Changed the lightmode to darkmode

* Added downtime buttons

* .

* Moved extra rest options from rules to bonuses

* Improved dialog width
2025-07-17 19:48:59 -03:00
WBHarry
488844603a
Language Organization (#281)
* Organized language

* Organized high level folders

* Some deeper organization

* More org. That's enough ._.

* Capitalized initial system localization categories
2025-07-06 17:43:12 +02:00
WBHarry
9d76405221
File Structure Rework (#262)
* Restructured all the files

* Moved build/daggerheart.js to ./daggerheart.js. Changed rollup to use the css file instead of the less

* Restored build/ folder

* Mvoed config out form under application

* Moved roll.mjs to module/dice and renamed to dhRolls.mjs

* Update module/canvas/placeables/_module.mjs

Co-authored-by: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com>

* Le massive export update

* Removed unncessary import

---------

Co-authored-by: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com>
2025-07-05 00:26:33 +02:00
Renamed from module/applications/downtime.mjs (Browse further)