Fix: cas de xp/niveau vide

Après avoir enlevé l'xp par erreur, elle est gardée vide, mieux vaut
la mettre à 0 pour pouvoir l'augmenter par la suite
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-15 00:07:53 +01:00
parent 57ec6403bb
commit 1de15d0b32
5 changed files with 32 additions and 33 deletions

View File

@ -710,7 +710,7 @@ export class RdDActor extends Actor {
return;
}
let caracpath = "data.carac." + caracName + ".xp";
await this.update({ [caracpath]: caracXP });
await this.update({ [caracpath]: caracXP ?? 0 });
this.checkCaracXP(caracName);
}
@ -736,7 +736,7 @@ export class RdDActor extends Actor {
let comp = this.getCompetence(compName);
if (comp) {
let troncList = RdDItemCompetence.isTronc(compName);
let maxNiveau = compValue;
let nouveauNiveau = compValue ?? RdDItemCompetence.getLevelCategory(comp.data.categorie);
if (troncList) {
let message = "Vous avez modifié une compétence 'tronc'. Vérifiez que les compétences suivantes évoluent ensemble jusqu'au niveau 0 : ";
for (let troncName of troncList) {
@ -747,7 +747,7 @@ export class RdDActor extends Actor {
content: message
});
}
const update = { _id: comp._id, 'data.niveau': maxNiveau };
const update = { _id: comp._id, 'data.niveau': nouveauNiveau };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
} else {
console.log("Competence not found", compName);
@ -758,6 +758,7 @@ export class RdDActor extends Actor {
async updateCompetenceXP(compName, compValue) {
let comp = this.getCompetence(compName);
if (comp) {
compValue = compValue ?? 0;
this.checkCompetenceXP(compName, compValue);
const update = { _id: comp._id, 'data.xp': compValue };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
@ -771,6 +772,7 @@ export class RdDActor extends Actor {
async updateCompetenceXPSort(compName, compValue) {
let comp = this.getCompetence(compName);
if (comp) {
compValue = compValue ?? 0;
const update = { _id: comp._id, 'data.xp_sort': compValue };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
} else {
@ -782,6 +784,7 @@ export class RdDActor extends Actor {
async updateCompetenceArchetype(compName, compValue) {
let comp = this.getCompetence(compName);
if (comp) {
compValue = compValue ?? 0;
const update = { _id: comp._id, 'data.niveau_archetype': compValue };
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
} else {