From 8aced20f95a8c79f0687f7a3f79ed80768f7dff6 Mon Sep 17 00:00:00 2001 From: Vlyan Date: Wed, 6 Jan 2021 20:10:24 +0100 Subject: [PATCH] Fix for no actor dice picker --- system/scripts/dice/dice-picker-dialog.js | 13 ++++++++----- system/scripts/helpers.js | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/system/scripts/dice/dice-picker-dialog.js b/system/scripts/dice/dice-picker-dialog.js index 75ffb74..ddb4f4b 100644 --- a/system/scripts/dice/dice-picker-dialog.js +++ b/system/scripts/dice/dice-picker-dialog.js @@ -13,7 +13,7 @@ export class DicePickerDialog extends FormApplication { */ object = { ring: { - id: null, + id: "void", value: 1, }, skill: { @@ -73,17 +73,19 @@ export class DicePickerDialog extends FormApplication { /** * Create dialog * - * ex: new game.l5r5e.DicePickerDialog({skillId: 'aesthetics', ringId: 'fire', actor: game.user.character}).render(); + * ex: new game.l5r5e.DicePickerDialog({skillId: 'aesthetics', ringId: 'water', actor: game.user.character}).render(true); * * Options : * actor A instance of actor (game.user.character, canvas.tokens.controlled[0].actor, ...) * actorId string (AbYgKrNwWeAxa9jT) + * actorName string (Isawa Aki) Careful this is case sensitive * ringId string (fire) * skillId string (design) + * skillCatId string (artisan) * difficulty number (0-9) * difficultyHidden boolean * - * @param options actor, actorId, ringId, skillId, skillCatId, difficulty, difficultyHidden + * @param options actor, actorId, ringId, actorName, skillId, skillCatId, difficulty, difficultyHidden */ constructor(options = {}) { super({}, options); @@ -92,6 +94,7 @@ export class DicePickerDialog extends FormApplication { [ options?.actor, game.actors.get(options?.actorId), + game.actors.getName(options?.actorName), canvas.tokens.controlled[0]?.actor, game.user.character, ].forEach((actor) => { @@ -135,7 +138,7 @@ export class DicePickerDialog extends FormApplication { return; } this._actor = actor; - if (this.object.ring.id === null) { + if (this.object.ring.id === "void") { this.ringId = this._actor.data.data.stance; this.object.ring.value = this._actor.data.data.rings[this.object.ring.id]; } @@ -276,7 +279,7 @@ export class DicePickerDialog extends FormApplication { html.find('input[name="approach"]').on("click", async (event) => { event.preventDefault(); event.stopPropagation(); - this.object.ring.id = event.target.dataset.ringid; + this.ringId = event.target.dataset.ringid; this.object.ring.value = parseInt(event.target.value) + (this.object.useVoidPoint ? 1 : 0); this.render(false); }); diff --git a/system/scripts/helpers.js b/system/scripts/helpers.js index 2a02886..8bb0714 100644 --- a/system/scripts/helpers.js +++ b/system/scripts/helpers.js @@ -11,7 +11,7 @@ export class HelpersL5r5e { return CONFIG.l5r5e.stances.map((e) => ({ id: e, label: game.i18n.localize(`l5r5e.rings.${e}`), - value: actor?.data?.data?.rings?.[e] || 0, + value: actor?.data?.data?.rings?.[e] || 1, })); }