Review comments:
- Error prefix on localization key - Different name for Roll dialog title - Remove obsolete todos - Add some defaults to make args optional - Change return types of promises and term generators
This commit is contained in:
parent
f406f5bd83
commit
b06396c141
3 changed files with 14 additions and 13 deletions
|
@ -158,10 +158,10 @@
|
||||||
"DS4.UnitKilometersAbbr": "km",
|
"DS4.UnitKilometersAbbr": "km",
|
||||||
"DS4.UnitCustom": "individuell",
|
"DS4.UnitCustom": "individuell",
|
||||||
"DS4.UnitCustomAbbr": " ",
|
"DS4.UnitCustomAbbr": " ",
|
||||||
"DS4.RollDialogDefaultTitle": "Probenwerte",
|
"DS4.RollDialogDefaultTitle": "Proben-Optionen",
|
||||||
"DS4.RollDialogOkButton": "Ok",
|
"DS4.RollDialogOkButton": "Ok",
|
||||||
"DS4.RollDialogCancelButton": "Abbrechen",
|
"DS4.RollDialogCancelButton": "Abbrechen",
|
||||||
"DS4.HtmlTypeError": "Typfehler: Erwartet wurde {exType}, tatsächlich erhalten wurde {realType}",
|
"DS4.ErrorUnexpectedHtmlType": "Typfehler: Erwartet wurde {exType}, tatsächlich erhalten wurde {realType}",
|
||||||
"DS4.RollDialogTargetLabel": "Probenwert",
|
"DS4.RollDialogTargetLabel": "Probenwert",
|
||||||
"DS4.RollDialogModifierLabel": "SL-Modifikator",
|
"DS4.RollDialogModifierLabel": "SL-Modifikator",
|
||||||
"DS4.RollDialogCoupLabel": "Immersieg bis",
|
"DS4.RollDialogCoupLabel": "Immersieg bis",
|
||||||
|
|
|
@ -161,7 +161,7 @@
|
||||||
"DS4.RollDialogDefaultTitle": "Roll Options",
|
"DS4.RollDialogDefaultTitle": "Roll Options",
|
||||||
"DS4.RollDialogOkButton": "Ok",
|
"DS4.RollDialogOkButton": "Ok",
|
||||||
"DS4.RollDialogCancelButton": "Cancel",
|
"DS4.RollDialogCancelButton": "Cancel",
|
||||||
"DS4.HtmlTypeError": "Type Error: Expected {exType}, got {realType}",
|
"DS4.ErrorUnexpectedHtmlType": "Type Error: Expected {exType}, got {realType}",
|
||||||
"DS4.RollDialogTargetLabel": "Check Target Number",
|
"DS4.RollDialogTargetLabel": "Check Target Number",
|
||||||
"DS4.RollDialogModifierLabel": "Game Master Modifier",
|
"DS4.RollDialogModifierLabel": "Game Master Modifier",
|
||||||
"DS4.RollDialogCoupLabel": "Coup to",
|
"DS4.RollDialogCoupLabel": "Coup to",
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
// TODO: Rename to something sane.
|
|
||||||
|
|
||||||
import { DS4 } from "../config";
|
import { DS4 } from "../config";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -35,7 +33,7 @@ class CheckFactory {
|
||||||
|
|
||||||
private checkOptions: DS4CheckFactoryOptions;
|
private checkOptions: DS4CheckFactoryOptions;
|
||||||
|
|
||||||
async execute(): Promise<void> {
|
async execute(): Promise<ChatMessage | any> {
|
||||||
const rollCls: typeof Roll = CONFIG.Dice.rolls[0];
|
const rollCls: typeof Roll = CONFIG.Dice.rolls[0];
|
||||||
|
|
||||||
const formula = [
|
const formula = [
|
||||||
|
@ -52,15 +50,15 @@ class CheckFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Term generators
|
// Term generators
|
||||||
createTargetValueTerm(): string {
|
createTargetValueTerm(): string | null {
|
||||||
if (this.checkTargetValue != null) {
|
if (this.checkTargetValue !== null) {
|
||||||
return "v" + (this.checkTargetValue + this.gmModifier);
|
return "v" + (this.checkTargetValue + this.gmModifier);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createCritTerm(): string {
|
createCritTerm(): string | null {
|
||||||
const minCritRequired = this.checkOptions.minCritFailure !== defaultCheckOptions.minCritFailure;
|
const minCritRequired = this.checkOptions.minCritFailure !== defaultCheckOptions.minCritFailure;
|
||||||
const maxCritRequired = this.checkOptions.maxCritSuccess !== defaultCheckOptions.maxCritSuccess;
|
const maxCritRequired = this.checkOptions.maxCritSuccess !== defaultCheckOptions.maxCritSuccess;
|
||||||
|
|
||||||
|
@ -71,7 +69,7 @@ class CheckFactory {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createSlayingDiceTerm(): string {
|
createSlayingDiceTerm(): string | null {
|
||||||
return this.checkOptions.useSlayingDice ? "x" : null;
|
return this.checkOptions.useSlayingDice ? "x" : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,7 +79,10 @@ class CheckFactory {
|
||||||
* @param targetValue {number} The Check Target Number ("CTN")
|
* @param targetValue {number} The Check Target Number ("CTN")
|
||||||
* @param options {Partial<DS4CheckFactoryOptions>} Options changing the behaviour of the roll and message.
|
* @param options {Partial<DS4CheckFactoryOptions>} Options changing the behaviour of the roll and message.
|
||||||
*/
|
*/
|
||||||
export async function createCheckRoll(targetValue: number, options: Partial<DS4CheckFactoryOptions>): Promise<void> {
|
export async function createCheckRoll(
|
||||||
|
targetValue: number,
|
||||||
|
options: Partial<DS4CheckFactoryOptions> = {},
|
||||||
|
): Promise<ChatMessage | any> {
|
||||||
// Ask for additional required data;
|
// Ask for additional required data;
|
||||||
const gmModifierData = await askGmModifier(targetValue, options);
|
const gmModifierData = await askGmModifier(targetValue, options);
|
||||||
|
|
||||||
|
@ -111,7 +112,7 @@ export async function createCheckRoll(targetValue: number, options: Partial<DS4C
|
||||||
*/
|
*/
|
||||||
async function askGmModifier(
|
async function askGmModifier(
|
||||||
targetValue: number,
|
targetValue: number,
|
||||||
options: Partial<DS4CheckFactoryOptions>,
|
options: Partial<DS4CheckFactoryOptions> = {},
|
||||||
{ template, title }: { template?: string; title?: string } = {},
|
{ template, title }: { template?: string; title?: string } = {},
|
||||||
): Promise<IntermediateGmModifierData> {
|
): Promise<IntermediateGmModifierData> {
|
||||||
// Render model interface and return value
|
// Render model interface and return value
|
||||||
|
@ -142,7 +143,7 @@ async function askGmModifier(
|
||||||
callback: (html: HTMLElement | JQuery) => {
|
callback: (html: HTMLElement | JQuery) => {
|
||||||
if (!("jquery" in html)) {
|
if (!("jquery" in html)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
game.i18n.format("DS4.HtmlTypeError", {
|
game.i18n.format("DS4.ErrorUnexpectedHtmlType", {
|
||||||
exType: "JQuery",
|
exType: "JQuery",
|
||||||
realType: "HTMLElement",
|
realType: "HTMLElement",
|
||||||
}),
|
}),
|
||||||
|
|
Loading…
Reference in a new issue