2021-06-26 22:02:00 +02:00
|
|
|
// SPDX-FileCopyrightText: 2021 Johannes Loher
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2021-07-08 02:32:25 +02:00
|
|
|
import {
|
2023-07-09 20:53:18 +02:00
|
|
|
getSceneMigrator,
|
|
|
|
migrateCollection,
|
2021-07-08 02:32:25 +02:00
|
|
|
migrateCompendiums,
|
2023-07-09 20:53:18 +02:00
|
|
|
getCompendiumMigrator,
|
|
|
|
getActorMigrator,
|
|
|
|
} from "./migrationHelpers.js";
|
2021-07-08 02:32:25 +02:00
|
|
|
|
2023-07-09 20:53:18 +02:00
|
|
|
/** @type {import("./migration.js").Migration["migrate"]} */
|
2022-11-17 00:12:29 +01:00
|
|
|
async function migrate() {
|
2023-07-09 22:19:44 +02:00
|
|
|
const itemsResult = await migrateCollection(game.items, migrateItem);
|
|
|
|
const actorsResult = await migrateCollection(game.actors, migrateActor);
|
|
|
|
const scenesResult = await migrateCollection(game.scenes, migrateScene);
|
|
|
|
const compendiumsResult = await migrateCompendiums(migrateCompendium);
|
|
|
|
return itemsResult === "error" ||
|
|
|
|
actorsResult === "error" ||
|
|
|
|
scenesResult === "error" ||
|
|
|
|
compendiumsResult === "error"
|
|
|
|
? "error"
|
|
|
|
: "success";
|
2021-07-08 02:32:25 +02:00
|
|
|
}
|
|
|
|
|
2023-07-09 20:53:18 +02:00
|
|
|
/** @type {import('./migrationHelpers.js').Migrator<Item>} */
|
|
|
|
async function migrateItem(item) {
|
|
|
|
if (item.type === "spell") {
|
|
|
|
const cooldownDurationUnit = item.system?.cooldownDuration.unit;
|
|
|
|
await item.update({
|
|
|
|
system: {
|
|
|
|
"-=scrollPrice": null,
|
|
|
|
minimumLevels: { healer: null, wizard: null, sorcerer: null },
|
|
|
|
cooldownDuration: {
|
|
|
|
unit: cooldownDurationUnit === "custom" ? "rounds" : cooldownDurationUnit,
|
|
|
|
},
|
2021-07-08 07:10:34 +02:00
|
|
|
},
|
2023-07-09 20:53:18 +02:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2021-07-08 02:32:25 +02:00
|
|
|
return updateData;
|
|
|
|
}
|
|
|
|
|
2023-07-09 20:53:18 +02:00
|
|
|
const migrateActor = getActorMigrator(migrateItem);
|
|
|
|
const migrateScene = getSceneMigrator(migrateActor);
|
|
|
|
const migrateCompendium = getCompendiumMigrator({ migrateItem, migrateActor, migrateScene });
|
2022-02-14 00:58:23 +01:00
|
|
|
|
2023-07-09 20:53:18 +02:00
|
|
|
/** @type {import("./migration.js").Migration} */
|
2022-02-14 00:58:23 +01:00
|
|
|
export const migration = {
|
|
|
|
migrate,
|
|
|
|
migrateCompendium,
|
|
|
|
};
|