2021-06-26 22:02:00 +02:00
|
|
|
// SPDX-FileCopyrightText: 2021 Johannes Loher
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2021-06-26 14:32:40 +02:00
|
|
|
import logger from "../logger";
|
|
|
|
|
2021-01-19 03:31:40 +01:00
|
|
|
export async function migrate(): Promise<void> {
|
2021-06-30 04:32:10 +02:00
|
|
|
for (const a of game.actors ?? []) {
|
2021-01-19 03:31:40 +01:00
|
|
|
const updateData = getActorUpdateData();
|
2021-06-26 14:32:40 +02:00
|
|
|
logger.info(`Migrating actor ${a.name}`);
|
2021-01-19 03:31:40 +01:00
|
|
|
await a.update(updateData, { enforceTypes: false });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function getActorUpdateData(): Record<string, unknown> {
|
|
|
|
const updateData = {
|
|
|
|
data: {
|
|
|
|
combatValues: [
|
|
|
|
"hitPoints",
|
|
|
|
"defense",
|
|
|
|
"initiative",
|
|
|
|
"movement",
|
|
|
|
"meleeAttack",
|
|
|
|
"rangedAttack",
|
|
|
|
"spellcasting",
|
|
|
|
"targetedSpellcasting",
|
2021-02-07 13:51:20 +01:00
|
|
|
].reduce((acc: Partial<Record<string, { "-=base": null }>>, curr) => {
|
2021-01-19 03:31:40 +01:00
|
|
|
acc[curr] = { "-=base": null };
|
|
|
|
return acc;
|
|
|
|
}, {}),
|
|
|
|
},
|
|
|
|
};
|
|
|
|
return updateData;
|
|
|
|
}
|