Internal_rootA reference to the Roll at the root of the evaluation tree.
The name of the configured function, or one in the Math environment, which should be applied to the term
Is this term intermediate, and should be evaluated first as part of the simplification process?
An object of additional options which describes and modifies the term.
The cached result of evaluating the method arguments
The cached Roll instances for each function argument
An array of string argument terms for the function
StaticFLAVOR_A regular expression which identifies term-level flavor text
StaticFLAVOR_A regular expression pattern which identifies optional term-level flavor text
StaticREGEXPA regular expression used to match a term of this type
StaticSERIALIZE_An array of additional attributes which should be retained when the term is serialized
An array of evaluated DiceTerm instances that should be bubbled up to the parent Roll
A string representation of the formula expression for this RollTerm, prior to evaluation.
Optional flavor text which modifies and describes this term.
A string representation of the formula, including optional flavor text.
The function this term represents.
Whether this term is entirely deterministic or contains some randomness.
A reference to the RollResolver app being used to externally resolve this term.
A string or numeric representation of the final output for this term, after evaluation.
Evaluate the term, processing its inputs and finalizing its total.
Optionaloptions: { allowStrings?: boolean; maximize?: boolean; minimize?: boolean } = {}Options which modify how the RollTerm is evaluated
OptionalallowStrings?: booleanIf true, string terms will not throw an error when evaluated.
Optionalmaximize?: booleanMaximize the result, obtaining the largest possible value.
Optionalminimize?: booleanMinimize the result, obtaining the smallest possible value.
Returns a Promise if the term is non-deterministic.
Serialize the RollTerm to a JSON string which allows it to be saved in the database or embedded in text. This method should return an object suitable for passing to the JSON.stringify function.
Protected_evaluateProtectedEvaluate this function when it contains any non-deterministic sub-terms.
Optionaloptions: object = {}Protected_evaluateProtectedEvaluate this function when it contains only deterministic sub-terms.
Optionaloptions: object = {}Static_fromDefine term-specific logic for how a de-serialized data object is restored as a functional RollTerm
The de-serialized term data
The re-constructed RollTerm object
StaticfromConstruct a RollTerm from a provided data object
Provided data from an un-serialized term
The constructed RollTerm
StaticfromJSONReconstruct a RollTerm instance from a provided JSON string
A serialized JSON representation of a DiceTerm
A reconstructed RollTerm from the provided JSON
StaticfromStaticisDetermine if evaluating a given RollTerm with certain evaluation options can be done so deterministically.
The term.
Optionaloptions: { maximize?: boolean; minimize?: boolean } = {}Options for evaluating the term.
Optionalmaximize?: booleanForce the result to be maximized.
Optionalminimize?: booleanForce the result to be minimized.
A type of RollTerm used to apply a function.