#27 Gestion des rencontres

This commit is contained in:
2020-11-21 09:54:21 +01:00
parent 40027882e4
commit 176e3b7916
4 changed files with 17 additions and 15 deletions

View File

@ -175,7 +175,7 @@ export class RdDTMRDialog extends Dialog {
const difficulte = draconic.data.niveau - this.currentRencontre.force + etatGeneral;
console.log("Maitriser", carac, draconic.data.niveau, this.currentRencontre.force, etatGeneral);
let rolled = RdDResolutionTable.roll(carac, difficulte);
let rolled = await RdDResolutionTable.roll(carac, difficulte);
let message = "<br><strong>Test : Rêve actuel / " + draconic.name + " / " + this.currentRencontre.name + "</strong>" + "<br>"
+ RdDResolutionTable.explain(rolled);
@ -222,6 +222,7 @@ export class RdDTMRDialog extends Dialog {
let rencontre = this.rencontresExistantes.find(prev => prev.coord == coordTMR);
if (rencontre == undefined) {
let myRoll = new Roll("d7").roll();
console.log("RLL RENC: ", myRoll.total, coordTMR, cellDescr);
if (myRoll.total == 7) {
rencontre = await TMRUtility.rencontreTMRRoll(coordTMR, cellDescr);
}
@ -414,7 +415,7 @@ export class RdDTMRDialog extends Dialog {
myself.updateValuesDisplay();
if ( deplacementType == 'normal') { // Pas de rencontres après un saut de type passeur/changeur/...
myself.manageRencontre(coordTMR, cellDescr);
await myself.manageRencontre(coordTMR, cellDescr);
}
myself.manageCaseHumide(cellDescr);
await myself.declencheSortEnReserve(coordTMR);
@ -428,7 +429,7 @@ export class RdDTMRDialog extends Dialog {
console.log("STATUS :", myself.rencontreState, myself.currentRencontre);
}
this.checkQuitterTMR(); // Vérifier l'état des compteurs reve/fatigue/vie
myself.checkQuitterTMR(); // Vérifier l'état des compteurs reve/fatigue/vie
}
/* -------------------------------------------- */
@ -436,7 +437,7 @@ export class RdDTMRDialog extends Dialog {
await this.actor.updateCoordTMR(coordTMR);
this._updateDemiReve(this);
let cellDescr = TMRUtility.getTMRDescription(coordTMR);
this.manageRencontre(coordTMR, cellDescr);
await this.manageRencontre(coordTMR, cellDescr);
this.manageCaseHumide(cellDescr);
await this.declencheSortEnReserve(coordTMR);
}
@ -495,7 +496,7 @@ export class RdDTMRDialog extends Dialog {
await this.actor.updatePointsDeReve((this.tmrdata.isRapide) ? -2 : -1); // 1 point defatigue
this.updateValuesDisplay();
let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord);
this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr);
await this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr);
this.manageCaseHumide(cellDescr);
}

View File

@ -282,7 +282,7 @@ export class TMRUtility {
/* -------------------------------------------- */
static async rencontreTMRRoll( coordTMR, cellDescr )
{
let rencontre = this.rencontreTMRTypeCase(cellDescr.type);
let rencontre = await this.rencontreTMRTypeCase(cellDescr.type);
//let rencontre = rencontresTable[4];
if (rencontre){
rencontre = duplicate(rencontre);
@ -300,10 +300,11 @@ export class TMRUtility {
}
/* -------------------------------------------- */
static rencontreTMRTypeCase(typeTMR, roll=undefined) {
static async rencontreTMRTypeCase(typeTMR, roll=undefined) {
if (!roll)
{
roll = RdDDice.show(new Roll("d100").evaluate()).total;
//roll = await RdDDice.show(new Roll("d100").evaluate()).total;
roll = new Roll("d100").roll().total;
console.log("rencontreTMRTypeCase", roll);
}
typeTMR = typeTMR.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");