forked from public/foundryvtt-reve-de-dragon
Support de races
L'item "race" permet de paramétrer des ajustements de caracs, des min/max de taille, et une limite de force. Ajouter une race à un acteur enlève la/les races précédentes et ajoute les modificateurs de caracs de la nouvelle race. Enlever une race enlève les modificateurs de caracs de la race aux caractéristiques
This commit is contained in:
@ -2,10 +2,11 @@ import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { LOG_HEAD, SYSTEM_RDD } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
import { RdDItem, ITEM_TYPES } from "./item.js";
|
||||
import { RdDItem, ITEM_TYPES, ACTOR_TYPES } from "./item.js";
|
||||
import { RdDTimestamp } from "./time/rdd-timestamp.js";
|
||||
import { RdDRaretes } from "./item/raretes.js";
|
||||
import { VOIES_DRACONIC } from "./item-sort.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
class Migration {
|
||||
get code() { return "sample"; }
|
||||
@ -566,6 +567,27 @@ class _12_0_26_MigrationVoieSorts extends Migration {
|
||||
}
|
||||
}
|
||||
|
||||
class _12_0_32_MigrationRaces extends Migration {
|
||||
get code() { return "migration-races" }
|
||||
get version() { return "12.0.32" }
|
||||
|
||||
async migrate() {
|
||||
const races = await SystemCompendiums.getItems("races", ITEM_TYPES.race)
|
||||
await game.actors.filter(it => it.type == ACTOR_TYPES.personnage).forEach(async actor => {
|
||||
if (actor.itemTypes[ITEM_TYPES.race].length == 0) {
|
||||
const raceName = actor.system.race ?? 'Humain'
|
||||
const race = races.find(it => Grammar.equalsInsensitive(raceName, it.name))
|
||||
if (race) {
|
||||
console.log(this.code, `Adding race ${race.name} to actor ${actor.name}`)
|
||||
actor.createEmbeddedDocuments('Item', [race])
|
||||
console.log(this.code, `Neutralizing race ${race.name} adjustments for actor ${actor.name}`)
|
||||
actor._applyRaceCaracUpdates(race, -1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export class Migrations {
|
||||
static getMigrations() {
|
||||
return [
|
||||
@ -585,7 +607,8 @@ export class Migrations {
|
||||
new _10_7_19_CategorieCompetenceCreature(),
|
||||
new _10_7_19_PossessionsEntiteVictime(),
|
||||
new _11_2_20_MigrationAstrologie(),
|
||||
new _12_0_26_MigrationVoieSorts()
|
||||
new _12_0_26_MigrationVoieSorts(),
|
||||
new _12_0_32_MigrationRaces(),
|
||||
];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user