PoolTerm

PoolTerm

A type of RollTerm which encloses a pool of multiple inner Rolls which are evaluated jointly.

A dice pool represents a set of Roll expressions which are collectively modified to compute an effective total across all Rolls in the pool. The final total for the pool is defined as the sum over kept rolls, relative to any success count or margin.

Constructor

new PoolTerm()

Example
// Keep the highest of the 3 roll expressions
let pool = new PoolTerm({
  rolls: ["4d6", "3d8 - 1", "2d10 + 3"],
  modifiers: ["kh"]
});
pool.evaluate();

Members

CLOSE_REGEXP :RegExp

A regular expression pattern used to identify the closing of a dice pool expression.

Type:

dice

Return an Array of each individual DiceTerm instances contained within the PoolTerm.

expression

isDeterministic

modifiers :Array.<string>

The string modifiers applied to resolve the pool

Type:

MODIFIERS :Object.<string, function()>

Define the modifiers that can be used for this particular DiceTerm type.

Type:
  • Object.<string, function()>

OPEN_REGEXP :RegExp

The regular expression pattern used to identify the opening of a dice pool expression.

Type:

results :Array.<DiceTermResult>

The array of dice pool results which have been rolled

Type:

rolls :Array.<Roll>

Each component term of a dice pool is evaluated as a Roll instance

Type:

SERIALIZE_ATTRIBUTES

terms :Array.<string>

The original provided terms to the Dice Pool

Type:

total

values :Array.<number>

Return an array of rolled values which are still active within the PoolTerm

Type:

Methods

(static) _fromData()

(static) fromExpression(formula, optionsopt) → {PoolTerm|null}

Given a string formula, create and return an evaluated PoolTerm object

Parameters:
Name Type Attributes Description
formula string

The string formula to parse

options object <optional>

Additional options applied to the PoolTerm

Returns:

The evaluated PoolTerm object or null if the formula is invalid

Type
PoolTerm | null

(static) fromRolls(rolls) → {RollTerm}

Create a PoolTerm by providing an array of existing Roll objects

Parameters:
Name Type Description
rolls Array.<Roll>

An array of Roll objects from which to create the pool

Returns:

The constructed PoolTerm comprised of the provided rolls

Type
RollTerm

(async) _evaluate()

_evaluateModifier()

See:
  • DiceTerm#_evaluateModifier

Use the same logic as for the DiceTerm to avoid duplication

_evaluateModifiers()

See:
  • DiceTerm#_evaluateModifiers

Use the same logic as for the DiceTerm to avoid duplication

_evaluateSync()

alter(…args) → {PoolTerm}

Alter the DiceTerm by adding or multiplying the number of dice which are rolled

Parameters:
Name Type Attributes Description
args Array.<any> <repeatable>

Arguments passed to each contained Roll#alter method.

Returns:

The altered pool

Type
PoolTerm

countFailures(modifier)

Count the number of failed results which occurred in a given result set. Failures are counted relative to some target, or relative to the lowest possible value if no target is given. Applying a count-failures modifier to the results re-casts all results to 1 (failure) or 0 (non-failure)

6d6cf Count the number of dice which rolled a 1 as failures 6d6cf<=3 Count the number of dice which rolled less than 3 as failures 6d6cf>4 Count the number of dice which rolled greater than 4 as failures

Parameters:
Name Type Description
modifier string

The matched modifier query

countSuccess(modifier)

Count the number of successful results which occurred in the pool. Successes are counted relative to some target, or relative to the maximum possible value if no target is given. Applying a count-success modifier to the results re-casts all results to 1 (success) or 0 (failure)

20d20cs Count the number of dice which rolled a 20 20d20cs>10 Count the number of dice which rolled higher than 10 20d20cs<10 Count the number of dice which rolled less than 10

Parameters:
Name Type Description
modifier string

The matched modifier query

drop(modifier)

Keep a certain number of highest or lowest dice rolls from the result set.

{1d6,1d8,1d10,1d12}dl3 Drop the 3 worst results in the pool {1d12,6}dh Drop the highest result in the pool

Parameters:
Name Type Description
modifier string

The matched modifier query

keep(modifier)

Keep a certain number of highest or lowest dice rolls from the result set.

{1d6,1d8,1d10,1d12}kh2 Keep the 2 best rolls from the pool {1d12,6}kl Keep the lowest result in the pool

Parameters:
Name Type Description
modifier string

The matched modifier query

toJSON()