FIx creating DS4Check from data / results

This commit is contained in:
Johannes Loher 2021-03-13 19:34:05 +01:00
parent 0b98925aeb
commit e1d376057c

View file

@ -75,6 +75,15 @@ export class DS4Check extends DiceTerm {
return super.total; return super.total;
} }
/**
* @override
*/
evaluate({ minimize = false, maximize = false } = {}): this {
super.evaluate({ minimize, maximize });
this.evaluateResults();
return this;
}
/** /**
* @override * @override
*/ */
@ -95,12 +104,23 @@ export class DS4Check extends DiceTerm {
this.fumble = results[0].failure ?? false; this.fumble = results[0].failure ?? false;
} }
/**
* @override
*/
static fromResults(options: Partial<DS4CheckTermData>, results: DiceTerm.Result[]): DS4Check {
const term = new this(options);
term.results = results;
term.evaluateResults();
term._evaluated = true;
return term;
}
static readonly DEFAULT_CHECK_TARGET_NUMBER = 10; static readonly DEFAULT_CHECK_TARGET_NUMBER = 10;
static readonly DEFAULT_MAXIMUM_COUP_RESULT = 1; static readonly DEFAULT_MAXIMUM_COUP_RESULT = 1;
static readonly DEFAULT_MINIMUM_FUMBLE_RESULT = 20; static readonly DEFAULT_MINIMUM_FUMBLE_RESULT = 20;
static DENOMINATION = "s"; static DENOMINATION = "s";
static MODIFIERS = { static MODIFIERS = {
c: (): void => undefined, // Modifier is consumed in constructor for crit c: (): void => undefined, // Modifier is consumed in constructor for maximumCoupResult / minimumFumbleResult
v: "evaluateResults", v: (): void => undefined, // Modifier is consumed in constructor for checkTargetNumber
}; };
} }