Fix: Jets d'astrologies invisibles pour joueur

This commit is contained in:
Vincent Vandemeulebrouck 2021-06-13 21:56:01 +02:00
parent 43e069cc9b
commit 094632734f
3 changed files with 13 additions and 13 deletions

View File

@ -298,7 +298,8 @@ export class RdDCalendrier extends Application {
let rollData = {
caracValue: request.carac_vue,
finalLevel: niveau,
showDice: false
showDice: false,
rollMode: "blindroll"
};
await RdDResolutionTable.rollData(rollData);
let nbAstral = this.getNombreAstral(request.date);

View File

@ -134,9 +134,7 @@ export class RdDDice {
static async roll(formula, options = { showDice: false, rollMode: undefined }) {
const roll = new Roll(formula);
await roll.evaluate({ async: true });
if (options.showDice) {
roll.showDice = options.showDice;
}
roll.showDice = options.showDice;
await RdDDice.show(roll, options.rollMode ?? game.settings.get("core", "rollMode"));
return roll;
}

View File

@ -102,22 +102,23 @@ export class RdDResolutionTable {
/* -------------------------------------------- */
static async rollData(rollData) {
rollData.rolled = await this.roll(rollData.caracValue, rollData.finalLevel, rollData.bonus, rollData.diviseurSignificative, rollData.showDice);
rollData.rolled = await this.roll(rollData.caracValue, rollData.finalLevel, rollData);
return rollData;
}
/* -------------------------------------------- */
static async roll(caracValue, finalLevel, bonus = undefined, diviseur = undefined, showDice = true) {
static async roll(caracValue, finalLevel, rollData = {}){
let chances = this.computeChances(caracValue, finalLevel);
this._updateChancesWithBonus(chances, bonus);
this._updateChancesFactor(chances, diviseur);
chances.showDice = showDice;
this._updateChancesWithBonus(chances, rollData.bonus);
this._updateChancesFactor(chances, rollData.diviseurSignificative);
chances.showDice = rollData.showDice;
chances.rollMode = rollData.rollMode;
let rolled = await this.rollChances(chances, diviseur);
let rolled = await this.rollChances(chances, rollData.diviseurSignificative);
rolled.caracValue = caracValue;
rolled.finalLevel = finalLevel;
rolled.bonus = bonus;
rolled.factorHtml = Misc.getFractionHtml(diviseur);
rolled.bonus = rollData.bonus;
rolled.factorHtml = Misc.getFractionHtml(rollData.diviseurSignificative);
rolled.niveauNecessaire = this.findNiveauNecessaire(caracValue, rolled.roll );
rolled.ajustementNecessaire = rolled.niveauNecessaire - finalLevel;
return rolled;
@ -163,7 +164,7 @@ export class RdDResolutionTable {
/* -------------------------------------------- */
static async rollChances(chances, diviseur) {
chances.roll = await RdDDice.rollTotal("1d100", {showDice:chances.showDice});
chances.roll = await RdDDice.rollTotal("1d100", chances);
mergeObject(chances, this.computeReussite(chances, chances.roll, diviseur), { overwrite: true });
return chances;
}