v12 fixes
- Removal of async - CHAT_MESSAGE_TYPES to CHAT_MESSAGE_STYLES : roll removed - Math.clamped to Math.clamp - fixed debounce scope
This commit is contained in:
@@ -79,14 +79,14 @@ export class L5rBaseDie extends DiceTerm {
|
||||
* @return {L5rBaseDie} The evaluated RollTerm
|
||||
* @override
|
||||
*/
|
||||
async evaluate({ minimize = false, maximize = false, async = true } = {}) {
|
||||
async evaluate({ minimize = false, maximize = false } = {}) {
|
||||
if (this._evaluated) {
|
||||
throw new Error(`This ${this.constructor.name} has already been evaluated and is immutable`);
|
||||
}
|
||||
|
||||
// Roll the initial number of dice
|
||||
for (let n = 1; n <= this.number; n++) {
|
||||
await this.roll({ minimize, maximize, async });
|
||||
await this.roll({ minimize, maximize });
|
||||
}
|
||||
|
||||
// Apply modifiers
|
||||
|
||||
@@ -91,7 +91,7 @@ export class RollnKeepDialog extends FormApplication {
|
||||
* @return {boolean}
|
||||
*/
|
||||
get isOwner() {
|
||||
return this._message?.isAuthor || this.messageRoll.l5r5e.actor?.isOwner || this._message?.isOwner || false;
|
||||
return this._message?.isAuthor || this.messageRoll?.l5r5e.actor?.isOwner || this._message?.isOwner || false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -80,7 +80,7 @@ export class RollL5r5e extends Roll {
|
||||
* Execute the Roll, replacing dice and evaluating the total result
|
||||
* @override
|
||||
**/
|
||||
async evaluate({ minimize = false, maximize = false, async = true } = {}) {
|
||||
async evaluate({ minimize = false, maximize = false } = {}) {
|
||||
if (this._evaluated) {
|
||||
throw new Error("This Roll object has already been rolled.");
|
||||
}
|
||||
@@ -95,7 +95,7 @@ export class RollL5r5e extends Roll {
|
||||
this._total = 0;
|
||||
|
||||
// Roll
|
||||
await super.evaluate({ minimize, maximize, async });
|
||||
await super.evaluate({ minimize, maximize });
|
||||
this._evaluated = true;
|
||||
|
||||
// Save initial formula
|
||||
@@ -132,7 +132,7 @@ export class RollL5r5e extends Roll {
|
||||
|
||||
// Store final outputs
|
||||
this.l5r5e.dicesTypes.std = this.dice.some(
|
||||
(term) => term instanceof DiceTerm && !(term instanceof game.l5r5e.L5rBaseDie)
|
||||
(term) => term instanceof foundry.dice.terms.DiceTerm && !(term instanceof game.l5r5e.L5rBaseDie)
|
||||
); // ignore math symbols
|
||||
this.l5r5e.dicesTypes.l5r = this.dice.some((term) => term instanceof game.l5r5e.L5rBaseDie);
|
||||
summary.totalBonus = Math.max(0, summary.totalSuccess - this.l5r5e.difficulty);
|
||||
@@ -346,7 +346,6 @@ export class RollL5r5e extends Roll {
|
||||
messageData = foundry.utils.mergeObject(
|
||||
{
|
||||
user: game.user.id,
|
||||
type: CONST.CHAT_MESSAGE_TYPES.ROLL,
|
||||
content,
|
||||
sound: CONFIG.sounds.dice,
|
||||
speaker: {
|
||||
|
||||
@@ -705,29 +705,27 @@ export class HelpersL5r5e {
|
||||
* @return {(function(...[*]=): void)|*}
|
||||
*/
|
||||
static debounce(id, callback, timeout = 500, leading = false) {
|
||||
/* eslint-disable no-undef */
|
||||
if (!debounce.timeId) {
|
||||
debounce.timeId = {};
|
||||
if (!this.debounce.timeId) {
|
||||
this.debounce.timeId = {};
|
||||
}
|
||||
return (...args) => {
|
||||
if (leading) {
|
||||
// callback will be executed only at the first debounced-function call
|
||||
if (!debounce.timeId[id]) {
|
||||
if (!this.debounce.timeId[id]) {
|
||||
callback.apply(this, args);
|
||||
}
|
||||
clearTimeout(debounce.timeId[id]);
|
||||
debounce.timeId[id] = setTimeout(() => {
|
||||
debounce.timeId[id] = undefined;
|
||||
clearTimeout(this.debounce.timeId[id]);
|
||||
this.debounce.timeId[id] = setTimeout(() => {
|
||||
this.debounce.timeId[id] = undefined;
|
||||
}, timeout);
|
||||
} else {
|
||||
// callback will only be executed `delay` milliseconds after the last debounced-function call
|
||||
clearTimeout(debounce.timeId[id]);
|
||||
debounce.timeId[id] = setTimeout(() => {
|
||||
clearTimeout(this.debounce.timeId[id]);
|
||||
this.debounce.timeId[id] = setTimeout(() => {
|
||||
callback.apply(this, args);
|
||||
}, timeout);
|
||||
}
|
||||
};
|
||||
/* eslint-enable no-undef */
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -211,7 +211,7 @@ Hooks.once("init", async () => {
|
||||
const reverseBar = data.attribute === "fatigue" && game.settings.get(L5R5E.namespace, "token-reverseFatigueBar");
|
||||
|
||||
// Bar value
|
||||
const pct = Math.clamped(Number(data.value), 0, data.max) / data.max;
|
||||
const pct = Math.clamp(Number(data.value), 0, data.max) / data.max;
|
||||
|
||||
// Modify color
|
||||
let color = number === 0 ? [pct / 1.2, 1 - pct, 0] : [0.5 * pct, 0.7 * pct, 0.5 + pct / 2];
|
||||
|
||||
Reference in New Issue
Block a user