Fix linking world item subclasses

This commit is contained in:
Carlos Fernandez 2026-06-09 04:08:51 -04:00
parent b884130826
commit c24410ea21
6 changed files with 17 additions and 10 deletions

View file

@ -70,14 +70,14 @@ export default class DHClass extends BaseDataItem {
}
async fetchSubclasses() {
const uuids = [this.parent.uuid, this.parent._stats?.compendiumSource].filter(u => !!u);
const subclasses = game.items.filter(x => x.type === 'subclass' && uuids.includes(x.system.linkedClass));
const sourceUuid = this.parent.sourceUuid;
const subclasses = game.items.filter(x => x.type === 'subclass' && x.system.linkedClass === sourceUuid);
for (const pack of game.packs) {
const packIds = [];
const indexes = await pack.getIndex({ fields: ['system.linkedClass'] });
for (const index of indexes) {
if (index.type !== 'subclass') continue;
if (!uuids.includes(index.system?.linkedClass)) continue;
if (index.system?.linkedClass !== sourceUuid) continue;
if (subclasses.find(x => x.uuid === index.uuid)) continue;
packIds.push(index._id);
}

View file

@ -70,9 +70,7 @@ export default class DHSubclass extends BaseDataItem {
return false;
}
const match = [multiclass, actorClass].find(
c => c && (c._stats.compendiumSource ?? c.uuid) === this.linkedClass
);
const match = [multiclass, actorClass].find(c => c && c.sourceUuid === this.linkedClass);
if (!match) {
const key = multiclass ? 'subclassNotInMulticlass' : 'subclassNotInClass';
ui.notifications.warn(`DAGGERHEART.UI.Notifications.${key}`, { localize: true });