forked from public/foundryvtt-reve-de-dragon
#11 Gestion des conteneurs
This commit is contained in:
@ -371,14 +371,40 @@ export class RdDActor extends Actor {
|
||||
await this.update( {"data.compteurs": compteurs } );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Supprime un item d'un conteneur, sur la base
|
||||
* de leurs ID */
|
||||
async enleverDeConteneur( itemId, conteneurId ) {
|
||||
if ( !conteneurId ) return; // pas de conteneur (porté sur soi)
|
||||
let conteneur = this.items.find( conteneur => conteneurId == conteneur._id); // recup conteneur
|
||||
if ( conteneur ) { // Si présent
|
||||
//console.log("Suppression du conteneur1", conteneurId, itemId, conteneur.data.data.contenu);
|
||||
let newContenu = conteneur.data.data.contenu.filter( function(value, index, arr) { return value != itemId } );
|
||||
//console.log("Suppression du conteneur2", conteneurId, itemId, newContenu);
|
||||
let update = {_id: conteneurId, "data.contenu": newContenu };
|
||||
await this.updateEmbeddedEntity("OwnedItem", update);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Ajoute un item dans un conteneur, sur la base
|
||||
* de leurs ID */
|
||||
async ajouterAConteneur( itemId, conteneurId ) {
|
||||
if ( !conteneurId ) return; // pas de conteneur (porté sur soi)
|
||||
let conteneur = this.items.find( conteneur => conteneurId == conteneur._id);
|
||||
if ( conteneur && conteneur.type == 'conteneur' ) {
|
||||
conteneur.data.data.contenu.push( itemId );
|
||||
await this.updateEmbeddedEntity("OwnedItem", conteneur.data );
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
detectSurEncombrement( ) {
|
||||
let diffEnc = Number(this.encombrementTotal) - Number(this.data.data.attributs.encombrement.value);
|
||||
console.log("Sur enc", this.encombrementTotal, diffEnc);
|
||||
if ( diffEnc > 0 ) { // Sur-encombrement
|
||||
let malus = Math.round( diffEnc);
|
||||
malus = (malus == 0) ? 1 : malus; // Always 1 at least
|
||||
console.log("Sur enc malus", malus);
|
||||
//console.log("Sur enc malus", malus);
|
||||
return malus;
|
||||
}
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user