Nettoyage de data

* séparation de options, calc, ...
* extraction de méthodes pour clarifier ce qui est fait dans getData
* fix de la feuille: utiliser data.data
* fix d'Actor:  update({ data.data
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-05 03:42:45 +01:00
parent 2cb7647fc4
commit 3ae461bb71
110 changed files with 600 additions and 433 deletions

View File

@@ -328,7 +328,7 @@ export class RdDActor extends Actor {
);
if (index >=0 ) {
reserve.list.splice(index,1);
await this.update({ "data.reve.reserve": reserve });
await this.update({ "data.data.reve.reserve": reserve });
}
}
@@ -358,7 +358,7 @@ export class RdDActor extends Actor {
await this._recupererBlessures(message, "legere", blessures.legeres.liste.filter(b => b.active), []);
await this._recupererBlessures(message, "grave", blessures.graves.liste.filter(b => b.active), blessures.legeres.liste);
await this._recupererBlessures(message, "critique", blessures.critiques.liste.filter(b => b.active), blessures.graves.liste);
await this.update({ "data.blessures": blessures });
await this.update({ "data.data.blessures": blessures });
await this._recupererVie(message);
await this.jetDeMoral('neutre');
@@ -475,7 +475,7 @@ export class RdDActor extends Actor {
this._supprimerBlessure(blessure);
}
}
await this.update({ "data.blessures": blessures });
await this.update({ "data.data.blessures": blessures });
}
if (this.isPersonnage()) {
await this.setEthylisme(1);
@@ -486,7 +486,7 @@ export class RdDActor extends Actor {
if (this.data.data.sante.fatigue) {
let fatigue = duplicate(this.data.data.sante.fatigue)
fatigue.value = 0;
await this.update({ "data.sante.fatigue": fatigue });
await this.update({ "data.data.sante.fatigue": fatigue });
}
}
ChatMessage.create(message);
@@ -522,7 +522,7 @@ export class RdDActor extends Actor {
message.content += `Vous dégrisez un peu (${RdDUtility.getNomEthylisme(ethylisme.value)}). `;
}
}
await this.update({ "data.compteurs.ethylisme": ethylisme });
await this.update({ "data.data.compteurs.ethylisme": ethylisme });
}
/* -------------------------------------------- */
@@ -544,7 +544,7 @@ export class RdDActor extends Actor {
}
fatigue.value = Math.max(fatigueMin, this._calculRecuperationSegment(fatigue.value));
console.log("recupererFatigue", fatigue)
await this.update({ "data.sante.fatigue": fatigue });
await this.update({ "data.data.sante.fatigue": fatigue });
if (fatigue.value == 0) {
message.content += "Vous êtes complêtement reposé. ";
}
@@ -686,7 +686,7 @@ export class RdDActor extends Actor {
async sortMisEnReserve(rollData, sort) {
let reserve = duplicate(this.data.data.reve.reserve);
reserve.list.push({ coord: rollData.tmr.coord, sort: sort, draconic: duplicate(rollData.competence) });
await this.update({ "data.reve.reserve": reserve });
await this.update({ "data.data.reve.reserve": reserve });
this.currentTMR.updateTokens();
}
@@ -802,14 +802,14 @@ export class RdDActor extends Actor {
//console.log("Update", fieldName, fieldValue);
let compteurs = duplicate(this.data.data.compteurs);
compteurs[fieldName].value = fieldValue;
await this.update({ "data.compteurs": compteurs });
await this.update({ "data.data.compteurs": compteurs });
}
/* -------------------------------------------- */
async updateProtectionValue(fieldName, fieldValue) {
let attributs = duplicate(this.data.data.attributs);
attributs[fieldName].value = fieldValue;
await this.update({ "data.attributs": attributs });
await this.update({ "data.data.attributs": attributs });
}
/* -------------------------------------------- */
@@ -1018,8 +1018,9 @@ export class RdDActor extends Actor {
// Mise à jour éventuelle du malus armure
if (this.data.data.attributs && this.data.data.attributs.malusarmure && newMalusArmure != malusArmureData.value) {
malusArmureData.value = newMalusArmure;
await this.update({ "data.attributs.malusarmure": malusArmureData });
await this.update({ "data.data.attributs.malusarmure": malusArmureData });
}
return this.encTotal;
}
/* -------------------------------------------- */
@@ -1037,6 +1038,7 @@ export class RdDActor extends Actor {
}
// Mise à jour valeur totale de l'équipement
this.prixTotalEquipement = prixTotalEquipement;
return this.prixTotalEquipement;
}
/* -------------------------------------------- */
@@ -1104,7 +1106,7 @@ export class RdDActor extends Actor {
ret = "souffle";
}
await this.update({ "data.reve.refoulement": refoulement });
await this.update({ "data.data.reve.refoulement": refoulement });
return ret;
}
@@ -1129,7 +1131,7 @@ export class RdDActor extends Actor {
queue = await RdDRollTables.getOmbre();
let myReve = duplicate(this.data.data.reve.reve);
myReve.thanatosused = false;
await this.update({ "data.reve.reve": myReve } );
await this.update({ "data.data.reve.reve": myReve } );
}
else {
queue = await RdDRollTables.getQueue();
@@ -1181,7 +1183,7 @@ export class RdDActor extends Actor {
if (newTable.length != len) {
rencontres.list = newTable;
//console.log("Result: ", rencontres);
await this.update({ "data.reve.rencontre": rencontres });
await this.update({ "data.data.reve.rencontre": rencontres });
}
}
@@ -1197,7 +1199,7 @@ export class RdDActor extends Actor {
}
if (!already) {
rencontres.list.push(currentRencontre);
await this.update({ "data.reve.rencontre": rencontres });
await this.update({ "data.data.reve.rencontre": rencontres });
}
}
@@ -1209,19 +1211,19 @@ export class RdDActor extends Actor {
if ( i != rencontreKey)
newList.push( list[i]);
}
await this.update({ "data.reve.rencontre.list": newList });
await this.update({ "data.data.reve.rencontre.list": newList });
}
/* -------------------------------------------- */
async updateCoordTMR(coord) {
await this.update({ "data.reve.tmrpos.coord": coord });
await this.update({ "data.data.reve.tmrpos.coord": coord });
}
/* -------------------------------------------- */
async reveActuelIncDec(value) {
let reve = duplicate(this.data.data.reve.reve);
reve.value = Math.max(reve.value + value, 0);
await this.update({ "data.reve.reve": reve });
await this.update({ "data.data.reve.reve": reve });
}
/* -------------------------------------------- */
@@ -1235,16 +1237,16 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async setPointsDeSeuil(value) {
let seuil = duplicate(this.data.data.reve.seuil);
seuil.value = value;
await this.update({ "data.reve.seuil": seuil });
// let seuil = duplicate(this.data.data.reve.seuil);
// seuil.value = value;
await this.update({ "data.data.reve.seuil.value": value });
}
/* -------------------------------------------- */
async setPointsDeChance(value) {
let chance = duplicate(this.data.data.compteurs.chance);
chance.value = value;
await this.update({ "data.compteurs.chance": chance });
await this.update({ "data.data.compteurs.chance": chance });
}
/* -------------------------------------------- */
@@ -1285,7 +1287,7 @@ export class RdDActor extends Actor {
let sonneData = duplicate(this.data.data.sante.sonne);
sonneData.value = sonne;
sonneData.round = round;
await this.update({ "data.sante.sonne": sonneData });
await this.update({ "data.data.sante.sonne": sonneData });
}
/* -------------------------------------------- */
@@ -1307,7 +1309,7 @@ export class RdDActor extends Actor {
}
if (roll.total == 1) {
let xp = Misc.toInt(this.data.data.carac.constitution.xp) + 1;
this.update({ "data.carac.constitution.xp": xp }); // +1 XP !
this.update({ "data.data.carac.constitution.xp": xp }); // +1 XP !
ChatMessage.create( { content: `${this.name} a obenu 1 sur son Jet d'Endurance et a gagné 1 point d'Expérience en Constitution. Ce point d'XP a été ajouté automatiquement).`});
}
if (result.sonne) {
@@ -1340,7 +1342,7 @@ export class RdDActor extends Actor {
msgText += `et gagne 1 Point d'Experience en Constitution`;
let constit = duplicate(this.data.data.carac.constitution)
constit.xp += 1;
await this.update({ "data.carac.constitution": constit });
await this.update({ "data.data.carac.constitution": constit });
}
} else {
msgText += `${this.name} a échoué son Jet d'Endurance et devient Sonné`;
@@ -1424,7 +1426,7 @@ export class RdDActor extends Actor {
if (sante.fatigue && fatigue > 0) {
sante.fatigue.value = Math.max(sante.fatigue.value + fatigue, this._computeFatigueMin());
}
await this.update({ "data.sante": sante });
await this.update({ "data.data.sante": sante });
if (this.isDead()) {
await this.addStatusEffectById('dead');
}
@@ -1537,7 +1539,7 @@ export class RdDActor extends Actor {
if (degre == 1) {
ethylisme.jet_moral = false;
}
await this.update({ "data.compteurs.ethylisme": ethylisme });
await this.update({ "data.data.compteurs.ethylisme": ethylisme });
}
/* -------------------------------------------- */
@@ -1649,7 +1651,7 @@ export class RdDActor extends Actor {
compteurs.experience.value += stressRollData.xp;
compteurs.dissolution.value = dissolution - perteDissolution;
compteurs.exaltation.value = 0;
await this.update({ "data.compteurs": compteurs });
await this.update({ "data.data.compteurs": compteurs });
}
/* -------------------------------------------- */
@@ -1969,7 +1971,7 @@ export class RdDActor extends Actor {
}
myReve.value = Math.max(myReve.value - rollData.depenseReve, 0);
await this.update({ "data.reve.reve": myReve });
await this.update({ "data.data.reve.reve": myReve });
if (closeTMR) {
this.currentTMR.close(); // Close TMR !
@@ -2311,7 +2313,7 @@ export class RdDActor extends Actor {
if (limit) {
chance.value = Math.min(chance.value, this.getChance())
}
await this.update({ "data.compteurs.chance": chance });
await this.update({ "data.data.compteurs.chance": chance });
}
/* -------------------------------------------- */
@@ -2320,7 +2322,7 @@ export class RdDActor extends Actor {
ChatMessage.create({ content: `<span class="rdd-roll-part">${this.name} a fait appel à la Destinée !</span>` });
let destinee = duplicate(this.data.data.compteurs.destinee);
destinee.value = destinee.value - 1;
await this.update({ "data.compteurs.destinee": destinee });
await this.update({ "data.data.compteurs.destinee": destinee });
onSuccess();
}
else {
@@ -2373,7 +2375,7 @@ export class RdDActor extends Actor {
let selectedCarac = RdDActor._findCaracByName(carac, caracName);
if (!selectedCarac.derivee) {
selectedCarac.xp = Misc.toInt(selectedCarac.xp) + xpCarac;
await this.update({ "data.carac": carac });
await this.update({ "data.data.carac": carac });
} else {
ChatMessage.create({
content: `Vous avez ${xpCarac} à répartir pour la caractéristique dérivée ${caracName}. Vous devez le faire manuellement.`,
@@ -2751,7 +2753,7 @@ export class RdDActor extends Actor {
}
encaissement.endurance = Math.max(encaissement.endurance, -endActuelle);
this.update({ "data.blessures": blessures });
this.update({ "data.data.blessures": blessures });
}
/* -------------------------------------------- */
@@ -2857,7 +2859,7 @@ export class RdDActor extends Actor {
return;
}
resonnance.actors.push(attaquant._id);
await this.update({ "data.sante.resonnance": resonnance });
await this.update({ "data.data.sante.resonnance": resonnance });
return;
}
/* -------------------------------------------- */
@@ -3151,7 +3153,7 @@ export class RdDActor extends Actor {
this.deleteStatusEffectById(statusEffect.id, options);
const effet = duplicate(statusEffect);
effet["flags.core.statusId"] = effet.id;
await this.createEmbeddedDocuments('ActiveEffect', effet, options);
await this.createEmbeddedDocuments('ActiveEffect', [effet], options);
this.applyActiveEffects();
}