Utilisation de la compétence draconic

Utiliser le nom de la compétence au lieu du nom de la voie:

=> "Voie d'Hypnos" au lieu de "hypnos"

Permet de définir d'autres compétences de draconic.

Fix de la mise de sort en réserve: utilise correctement l'id du sort
Migration des sorts et sorts en réserve du monde
Migration des compendiums
This commit is contained in:
Vincent Vandemeulebrouck
2022-11-01 00:48:46 +01:00
parent ad9f04de4a
commit ca01bc2605
14 changed files with 218 additions and 179 deletions

View File

@ -1,5 +1,6 @@
import { LOG_HEAD, SYSTEM_RDD } from "./constants.js";
import { Grammar } from "./grammar.js";
import { Misc } from "./misc.js";
class Migration {
get code() { return "sample"; }
@ -98,12 +99,41 @@ class _10_0_21_VehiculeStructureResistanceMax extends Migration {
}
}
class _10_0_33_MigrationNomsDraconic extends Migration {
get code() { return "competences-creature-parade"; }
get version() { return "10.0.33"; }
migrationNomDraconic(ancien) {
if (typeof ancien == 'string'){
switch (ancien) {
case 'oniros': case "Voie d'Oniros": return "Voie d'Oniros";
case 'hypnos': case "Voie d'Hypnos": return "Voie d'Hypnos";
case 'narcos': case "Voie de Narcos": return "Voie de Narcos";
case 'thanatos': case "Voie de Thanatos": return "Voie de Thanatos";
}
return ancien;
}
else if (typeof ancien.name == 'string') {
return this.migrationNomDraconic(ancien.name)
}
return ancien;
}
async migrate() {
await this.applyItemsUpdates(items => items
.filter(it => ["sort", "sortreserve"].includes(it.type)
&& (typeof it.system.draconic == 'string') || (typeof it.system.draconic?.name == 'string'))
.map(it => { return { _id: it.id, "system.draconic": this.migrationNomDraconic(it.system.draconic)} }));
}
}
export class Migrations {
static getMigrations() {
return [
new _10_0_16_MigrationSortsReserve(),
new _10_0_17_MigrationCompetenceCreature(),
new _10_0_21_VehiculeStructureResistanceMax(),
new _10_0_33_MigrationNomsDraconic(),
];
}