Fix liste des liens subacteurs

Dans le cas d'un import de personnage ayant un lien sur un autre
acteur qui n'est pas importé, on ne pouvait plus ouvrir la feuille de
perso
This commit is contained in:
Vincent Vandemeulebrouck 2021-01-22 02:08:49 +01:00
parent 16be472486
commit 84c6f9a466

View File

@ -2545,37 +2545,26 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
buildVehiculesList() {
if ( !this.data.data.subacteurs) return [];
let myArray = [];
for (let vehiculeLink of this.data.data.subacteurs.vehicules) {
let vehicule = game.actors.get( vehiculeLink.id );
myArray.push( { id: vehiculeLink.id, name: vehicule.data.name, categorie: vehicule.data.data.categorie,
structure: vehicule.data.data.structure, img: vehicule.data.img } );
}
return myArray;
return this._buildActorLinksList(
this.data.data.subacteurs?.vehicules??[],
vehicle => {return { id: vehicle.id, name: vehicle.data.name, categorie: vehicle.data.data.categorie,
structure: vehicle.data.data.structure, img: vehicle.data.img } ;});
}
/* -------------------------------------------- */
buildSuivantsList() {
if ( !this.data.data.subacteurs) return [];
let myArray = [];
for (let suivantLink of this.data.data.subacteurs.suivants) {
let suivant = game.actors.get( suivantLink.id );
myArray.push( { id: suivantLink.id, name: suivant.data.name, img: suivant.data.img } );
}
return myArray;
return this._buildActorLinksList(this.data.data.subacteurs?.suivants ?? []);
}
/* -------------------------------------------- */
buildMonturesList() {
if ( !this.data.data.subacteurs) return [];
let myArray = [];
for (let montureLink of this.data.data.subacteurs.montures) {
let monture = game.actors.get( montureLink.id );
myArray.push( { id: montureLink.id, name: monture.data.name, img: monture.data.img } );
}
return myArray;
return this._buildActorLinksList(this.data.data.subacteurs?.montures ?? []);
}
_buildActorLinksList(links, actorTransformation=it => { return { id: it.id, name: it.data.name, img: it.data.img }; }) {
return links.map(link => game.actors.get(link.id))
.filter(it => it != null)
.map(actorTransformation);
}
/* -------------------------------------------- */