Commit graph

11 commits

Author SHA1 Message Date
40e14d1196
feat: implement clean Foundry V13 compliant tab system
- Remove custom tab implementation in favor of official ApplicationV2 tabs
- Implement ApplicationTab typedef structure for Actor and Item sheets
- Add memory-safe event listener management with proper cleanup
- Update all sheet templates to use standard Foundry tab structure
- Add template safety checks to prevent undefined access errors
- Optimize performance with DOM updates instead of full re-renders
- Maintain backward CSS compatibility during transition
- Add dynamic tab configuration based on item types

Key improvements:
- ~200 lines of custom tab code removed
- Memory leak prevention with proper event cleanup
- Performance optimization (no re-render on tab switch)
- Standards-compliant with Foundry V13 ApplicationV2 API
- Consistent implementation across Actor and Item sheets
- Template safety with Handlebars guards
- Dynamic icon and localization support

All 31 modified files now use the official Foundry VTT v13 tab system.
2025-07-29 19:03:58 +02:00
e021fedcdf
style: fix code formatting inconsistencies
- Remove excessive blank lines (triple+ newlines reduced to double)
- Fix EditorConfig indent_size from 4 to 2 spaces to match Prettier
- Ensure consistent whitespace formatting across JavaScript/TypeScript files
- Clean up formatting in templates (HBS files)

Files affected:
- src/apps/actor/base-sheet.js: Remove 6 instances of triple+ blank lines
- src/apps/item-sheet.js: Remove 4 instances of triple+ blank lines
- src/apps/ruler/token-ruler.js: Remove 1 instance of triple+ blank lines
- src/hooks/hooks.ts: Remove 1 instance of triple+ blank lines
- templates/sheets/actor/*.hbs: Remove excessive blank lines
- .editorconfig: Fix indent_size to match Prettier tabWidth (2 spaces)
2025-07-28 22:18:44 +02:00
cd44db079f
feat!: port DS4 actor sheets to ApplicationV2
Convert DS4ActorSheet, DS4CharacterActorSheet, and DS4CreatureActorSheet
from ApplicationV1 to ApplicationV2 architecture. Update all templates
to use data-action attributes. Implement manual tab system and preserve
all existing functionality including item management, effects, and
rolling system.

BREAKING CHANGE: Requires FoundryVTT ApplicationV2 system
2025-07-12 20:44:03 +02:00
Johannes Loher
62065a8d31
feat: use new ActiveEffect transferral system
Closes #68
2023-07-09 23:17:38 +02:00
Johannes Loher
f25b46a226 feat: update for v10 2022-11-28 02:39:04 +01:00
Johannes Loher
e89f03f81d feat: display talent rank with roman numerals in character sheet 2022-11-10 04:00:48 +01:00
Johannes Loher
1e7492073e fix: simplify talent rank display in character sheet 2022-11-10 03:32:52 +01:00
Johannes Loher
9d7c570553 feat: replace spell category by spell groups
This also allows to assign a spell to multiple spell groups, which is the case for many spells in
the SRD.

Additionally, this makes many small improvements and fixes to the provided spell compendium.
2022-11-04 21:14:32 +01:00
Johannes Loher
fc9f4b49b5 feat: add a special actor sheet that is displayed to users with the LIMITED permission for the actor
This actor sheet only shows image, name, and biography/description of the actor.
2022-11-03 23:02:46 +01:00
Johannes Loher
da1f6999eb feat: only allow specific selectable values for the cooldown duration of spells
World data (including compendium packs) is migrated automatically. In order to also migrate packs
provided by modules, you can use the following macro:
```js
const pack = game.packs.get("<name-of-the-module>.<name-of-the-pack>");
game.ds4.migration.migrateCompendiumFromTo(pack, 4, 5);
```
2022-02-16 01:58:21 +01:00
Johannes Loher
1aa284311f refactor: resturcture files so that lincensing info can be bundled properly 2022-01-31 15:31:45 +01:00