mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 14:36:13 +01:00
Fixed when users drag in compendium environments to the sceneEnvironments
This commit is contained in:
parent
fa3b3fa0a8
commit
4e2e1cae54
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 data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event);
|
||||||
const item = await foundry.utils.fromUuid(data.uuid);
|
const item = await foundry.utils.fromUuid(data.uuid);
|
||||||
if (item instanceof game.system.api.documents.DhpActor && item.type === 'environment') {
|
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({
|
await this.daggerheartFlag.updateSource({
|
||||||
sceneEnvironments: [...this.daggerheartFlag.sceneEnvironments, data.uuid]
|
sceneEnvironments: [...this.daggerheartFlag.sceneEnvironments, sceneUuid]
|
||||||
});
|
});
|
||||||
this.render({ internalRefresh: true });
|
this.render({ internalRefresh: true });
|
||||||
}
|
}
|
||||||
|
|
@ -97,6 +104,10 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S
|
||||||
/** @override */
|
/** @override */
|
||||||
async _processSubmitData(event, form, submitData, options) {
|
async _processSubmitData(event, form, submitData, options) {
|
||||||
submitData.flags.daggerheart = this.daggerheartFlag.toObject();
|
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 ?? {})) {
|
for (const key of Object.keys(this.document._source.flags.daggerheart?.sceneEnvironments ?? {})) {
|
||||||
if (!submitData.flags.daggerheart.sceneEnvironments[key]) {
|
if (!submitData.flags.daggerheart.sceneEnvironments[key]) {
|
||||||
submitData.flags.daggerheart.sceneEnvironments[`-=${key}`] = null;
|
submitData.flags.daggerheart.sceneEnvironments[`-=${key}`] = null;
|
||||||
|
|
|
||||||
|
|
@ -210,6 +210,22 @@ export async function runMigrations() {
|
||||||
|
|
||||||
lastMigrationVersion = '1.2.7';
|
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
|
//#endregion
|
||||||
|
|
||||||
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue