Gestion des signes draconiques #455

Closed
vincent.vandeme wants to merge 233 commits from v1.4-signes-draconiques into master
2 changed files with 13 additions and 11 deletions
Showing only changes of commit 3df76c589f - Show all commits

View File

@ -691,7 +691,7 @@ export class RdDActor extends Actor {
else else
update['data.carac_value'] = compValue; update['data.carac_value'] = compValue;
//console.log(update); //console.log(update);
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity const updated = await this.updateEmbeddedEntity("Item", update); // Updates one EmbeddedEntity
} }
} }
@ -712,7 +712,7 @@ export class RdDActor extends Actor {
}); });
} }
const update = { _id: comp._id, 'data.niveau': nouveauNiveau }; const update = { _id: comp._id, 'data.niveau': nouveauNiveau };
await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity await this.updateEmbeddedEntity("Item", update); // Updates one EmbeddedEntity
} else { } else {
console.log("Competence not found", compName); console.log("Competence not found", compName);
} }
@ -948,7 +948,8 @@ export class RdDActor extends Actor {
async computeEncombrementTotalEtMalusArmure() { async computeEncombrementTotalEtMalusArmure() {
let encTotal = 0; let encTotal = 0;
let newMalusArmure = 0; let newMalusArmure = 0;
for (const itemData of this.data.items.filter(it => Misc.templateData(it).encombrement != undefined)) { for (const item of this.data.items.filter(it => Misc.templateData(it).encombrement != undefined)) {
let itemData = item.data; // v0.8 normalization
if (itemData.type == 'armure' && itemData.data.equipe) { // Armure équipée, intégration du malus armure total if (itemData.type == 'armure' && itemData.data.equipe) { // Armure équipée, intégration du malus armure total
newMalusArmure += itemData.data.malus; newMalusArmure += itemData.data.malus;
} }
@ -971,7 +972,7 @@ export class RdDActor extends Actor {
if (newMalusArmure && Misc.templateData(this).attributs?.malusarmure?.value != newMalusArmure) { if (newMalusArmure && Misc.templateData(this).attributs?.malusarmure?.value != newMalusArmure) {
await this.updateAttributeValue("malusarmure", newMalusArmure); await this.updateAttributeValue("malusarmure", newMalusArmure);
} }
return this.encTotal; return encTotal;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -979,7 +980,8 @@ export class RdDActor extends Actor {
let prixTotalEquipement = 0; let prixTotalEquipement = 0;
// prix total de l'équipement est la somme du cout de chaque équipement multiplié par sa quantité. // prix total de l'équipement est la somme du cout de chaque équipement multiplié par sa quantité.
for (const itemData of this.data.items) { for (const item of this.data.items) {
let itemData = item.data; // v0.8 normalization
if (itemData.data && itemData.data.cout != undefined) { if (itemData.data && itemData.data.cout != undefined) {
if (!Number(itemData.data.cout)) itemData.data.cout = 0; // Auto-fix if (!Number(itemData.data.cout)) itemData.data.cout = 0; // Auto-fix
if (itemData.data.quantite == undefined) itemData.data.quantite = 1; // Auto-fix if (itemData.data.quantite == undefined) itemData.data.quantite = 1; // Auto-fix
@ -2904,16 +2906,16 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async monnaieIncDec(id, value) { async monnaieIncDec(id, value) {
let monnaie = this.data.items.find(item => item.type == 'monnaie' && item._id == id); let monnaie = this.data.items.find(item => item.type == 'monnaie' && item.id == id);
if (monnaie) { if (monnaie) {
const quantite = Math.max(0, monnaie.data.quantite + value); const quantite = Math.max(0, monnaie.data.data.quantite + value);
await this.updateEmbeddedEntity("OwnedItem", { _id: monnaie._id, 'data.quantite': quantite }); await this.updateEmbeddedEntity("OwnedItem", { _id: monnaie.id, 'data.quantite': quantite });
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async effectuerTacheAlchimie(recetteId, alchimieName, alchimieData) { async effectuerTacheAlchimie(recetteId, alchimieName, alchimieData) {
let recette = this.data.items.find(item => item.type == 'recettealchimique' && item._id == recetteId); let recette = this.data.items.find(item => item.type == 'recettealchimique' && item.id == recetteId);
const actorData = Misc.data(this); const actorData = Misc.data(this);
if (recette) { if (recette) {
let competence = this.data.items.find(item => item.type == 'competence' && item.name.toLowerCase() == "alchimie"); let competence = this.data.items.find(item => item.type == 'competence' && item.name.toLowerCase() == "alchimie");
@ -3109,7 +3111,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
_deleteStatusEffectsByIds(effectIds, options) { _deleteStatusEffectsByIds(effectIds, options) {
this.deleteEmbeddedDocument('ActiveEffect', effectIds, options); this.deleteEmbeddedDocuments('ActiveEffect', [effectIds], options);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -112,7 +112,7 @@ export class RdDCalendrier extends Application {
/* -------------------------------------------- */ /* -------------------------------------------- */
ajouterNombreAstral(index) { ajouterNombreAstral(index) {
return { return {
nombreAstral: new Roll("1d12").roll().total, nombreAstral: new Roll("1d12").evaluate( {async:false} ).total,
valeursFausses: [], valeursFausses: [],
index: index index: index
} }