[Fix] Subclass Links (#1069)

* Attempt at making subclass aware of its class

* Update compendium classes/subclasses

* Fixed multiclass

* Update compenidum browser subclass class filter

* Added migration for subclass.linkedClass

* Using foundry's isNewer function rather than custom one

* Added migration for existing actor features

---------

Co-authored-by: Dapoolp <elcatnet@gmail.com>
This commit is contained in:
WBHarry 2025-08-24 02:13:15 +02:00 committed by GitHub
parent 0b2694b007
commit 46ea4addd0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 479 additions and 391 deletions

View file

@ -235,7 +235,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
filters.forEach(f => {
if (typeof f.field === 'string') f.field = foundry.utils.getProperty(game, f.field);
else if (typeof f.choices === 'function') {
f.choices = f.choices();
f.choices = f.choices(this.items);
}
f.name ??= f.key;
f.value = this.presets?.filter?.[f.name]?.value ?? null;
@ -248,11 +248,8 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
/* -------------------------------------------- */
/**
* Create and initialize search filter instances for the inventory and loadout sections.
* Create and initialize search filter instance.
*
* Sets up two {@link foundry.applications.ux.SearchFilter} instances:
* - One for the inventory, which filters items in the inventory grid.
* - One for the loadout, which filters items in the loadout/card grid.
* @private
*/
_createSearchFilter() {
@ -339,7 +336,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
item = this.items.find(i => i.uuid === itemUUID);
if (!item) continue;
const matchesMenu =
this.fieldFilter.length === 0 ||
this.fieldFilter.every(