partial sync

This commit is contained in:
2021-01-09 09:54:08 +01:00
parent 06618746f9
commit 9f8db50a1d
3 changed files with 30 additions and 7 deletions

View File

@ -709,13 +709,14 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
buildSubConteneurObjetList( conteneurId, deleteList ) {
let conteneur = this.items.find( conteneur => conteneurId == conteneur._id); // recup conteneur
if ( conteneur ) { // Si présent
if ( conteneur && conteneur.type =='conteneur' ) { // Si présent
for ( let subId of conteneur.data.data.contenu ) {
let subObj = this.items.find( subobjet => subId == subobjet._id); // recup conteneur
if ( subObj.type == 'conteneur') {
if ( subObj && subObj.type == 'conteneur') {
this.buildSubConteneurObjetList( subId, deleteList );
}
deleteList.push( subId );
if ( subObj) // Robust...
deleteList.push( subId );
}
}
deleteList.push( conteneurId );
@ -777,6 +778,20 @@ export class RdDActor extends Actor {
await this.updateOwnedItem( conteneurFixedList ) ;
}
/* -------------------------------------------- */
async moveItemsBetweenActors( itemId, sourceActorId ) {
let itemsList = []
let sourceActor = game.actors.get( sourceActorId );
sourceActor.buildSubConteneurObjetList( itemId, itemsList ); // Get itemId list
for (let srcItemId of itemsList) {
let copyItem = sourceActor.data.items.find( item => item._id == srcItemId );
await this.createOwnedItem( duplicate(copyItem) );
}
for( let srcItemId of itemsList) {
await sourceActor.deleteOwnedItem( srcItemId );
}
}
/* -------------------------------------------- */
detectSurEncombrement( ) {
let diffEnc = Number(this.encTotal) - Number(this.data.data.attributs.encombrement.value);
@ -806,7 +821,7 @@ export class RdDActor extends Actor {
}
// Mise à jour valeur totale et états
this.encTotal = encTotal;
console.log("Enco total : ", this.encTotal);
//console.log("Enco total : ", this.encTotal);
this.detectSurEncombrement();
// Mise à jour éventuelle du malus armure
if (this.data.data.attributs.malusarmure && newMalusArmure != malusArmureData.value) {