mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 06:26:13 +01:00
Fixed when users drag in compendium environments to the sceneEnvironments (#1573)
This commit is contained in:
parent
fa3b3fa0a8
commit
21ef288283
2 changed files with 28 additions and 1 deletions
|
|
@ -65,8 +65,15 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S
|
|||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||
const item = await foundry.utils.fromUuid(data.uuid);
|
||||
if (item instanceof game.system.api.documents.DhpActor && item.type === 'environment') {
|
||||
let sceneUuid = data.uuid;
|
||||
if (item.pack) {
|
||||
const inWorldActor = await game.system.api.documents.DhpActor.create([item.toObject()]);
|
||||
if (!inWorldActor.length) return;
|
||||
sceneUuid = inWorldActor[0].uuid;
|
||||
}
|
||||
|
||||
await this.daggerheartFlag.updateSource({
|
||||
sceneEnvironments: [...this.daggerheartFlag.sceneEnvironments, data.uuid]
|
||||
sceneEnvironments: [...this.daggerheartFlag.sceneEnvironments, sceneUuid]
|
||||
});
|
||||
this.render({ internalRefresh: true });
|
||||
}
|
||||
|
|
@ -97,6 +104,10 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S
|
|||
/** @override */
|
||||
async _processSubmitData(event, form, submitData, options) {
|
||||
submitData.flags.daggerheart = this.daggerheartFlag.toObject();
|
||||
submitData.flags.daggerheart.sceneEnvironments = submitData.flags.daggerheart.sceneEnvironments.filter(x =>
|
||||
foundry.utils.fromUuidSync(x)
|
||||
);
|
||||
|
||||
for (const key of Object.keys(this.document._source.flags.daggerheart?.sceneEnvironments ?? {})) {
|
||||
if (!submitData.flags.daggerheart.sceneEnvironments[key]) {
|
||||
submitData.flags.daggerheart.sceneEnvironments[`-=${key}`] = null;
|
||||
|
|
|
|||
|
|
@ -210,6 +210,22 @@ export async function runMigrations() {
|
|||
|
||||
lastMigrationVersion = '1.2.7';
|
||||
}
|
||||
|
||||
if (foundry.utils.isNewerVersion('1.5.5', lastMigrationVersion)) {
|
||||
for (const scene of game.scenes) {
|
||||
if (!scene.flags.daggerheart) continue;
|
||||
const systemData = new game.system.api.data.scenes.DHScene(scene.flags.daggerheart);
|
||||
const sceneEnvironments = systemData.sceneEnvironments;
|
||||
|
||||
const newEnvironments = sceneEnvironments.filter(x => !x?.pack);
|
||||
if (newEnvironments.length !== sceneEnvironments.length)
|
||||
await scene.update({ 'flags.daggerheart.sceneEnvironments': newEnvironments });
|
||||
}
|
||||
|
||||
ui.nav.render(true);
|
||||
|
||||
lastMigrationVersion = '1.5.5';
|
||||
}
|
||||
//#endregion
|
||||
|
||||
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue