@dicelette/core v1.16.0
@Core
The core module for Dicelette, contains :
- The dice function (that parse the string into a Dice Parser and send the result in a good message) ;
- The verification of the template
The two are used in the bot and documentation.
Type alias
- Sign:
"+" | "-" | "*" | "/" | "%" | "^" | "**"; - Statistic :
{ [name: string]: { combinaison?: string; max?: number; min?: number; } }:- name:
string: The name of the statistic - combinaison:
string: A combinaison between multiple/other statistic, formula... (ex:constitution+2). Can't coexist with min & max. - max:
number: The maximum value of the statistic - min:
number: The minimum value of the statistic
- name:
Interface (index.d.ts)
Compare
- sign:
"<"|">"|">="|"<="|"="|"!="|"==" - value:
number
Critical
Optionalfailure:numberOptionalsuccess:number
Modifier
- sign: Sign
- value:
number
Resultat
Optionalcomment:stringOptionalcompare:Compare- dice:
string Optionalmodifier:Modifier- result:
string
Statistical Template
Example
diceType: "1d20+{{$}}>=20"The dice throw will be 1d20 + statistique that must be less than 20
diceType: "1d20<=$"The dice throw will be 1d20 that must be less than the statistic
Properties
OptionalcharName:booleanAllow to force the user to choose a name for them charactersOptionalcritical:CriticalHow the success/echec will be doneOptionaldamage:{ [name: string]: string }Special dice for damageOptionaldiceType:stringA die type in the notation supported by the bot. See documentation for syntaxe.Optionalstatistics:StatisticOptionaltotal:numberA total can be set, it allows to calculate the total value of a future register member If the sum of the value > total, the bot will send a message to the user to inform him that the total is exceeded and an error will be thrown Note: Statistic that have a formula will be ignored from the total
Modules
Dice
Variables
constCOMMENT_REGEX:RegExp
Functions
calculator(sign, value, total): number
Evaluate a formula and replace "^" by "**" if any
| Name | Type |
|---|---|
sign | Sign |
value | number |
total | number |
roll(dice): Resultat | undefined
Parse the string provided and turn it as a readable dice for dice parser
| Name | Type | Description |
|---|---|---|
dice | string | {string} |
Utils
cleanedDice(dice): string
Replace the ++ +- -- by their proper value:
++=++-=---=+
| Name | Type | Description |
|---|---|---|
dice | string | {string} |
escapeRegex(string): string
Escape regex string
| Name | Type | Description |
|---|---|---|
string | string | {string} |
generateStatsDice(originalDice, stats?): string
Replace the stat name by their value using stat and after evaluate any formula using replaceFormulaInDice
| Name | Type | Description |
|---|---|---|
originalDice | string | {dice} |
stats? | Object | {name: string: number} |
replaceFormulaInDice(dice, stats): string
Replace the {{}} in the dice string and evaluate the interior if any
| Name | Type | Description |
|---|---|---|
dice | string | {string} |
Verify Template
diceRandomParse(value, template): string
Generate a random dice and remove the formula (+ evaluate it) Used for diceDamage only
| Name | Type | Description |
|---|---|---|
value | string | {string} |
template | StatisticalTemplate | {StatisticalTemplate} |
diceTypeRandomParse(dice, template): string
| Name | Type | Description |
|---|---|---|
dice | string | {string} |
template | StatisticalTemplate | {StatisticalTemplate} |
evalCombinaison(combinaison, stats): Object
Random the combinaison and evaluate it to check if everything is valid
| Name | Type | Description |
|---|---|---|
combinaison | Object | {name: string: string} |
stats | Object | {name: string: string|number} |
evalOneCombinaison(combinaison, stats): any
Evaluate one selected combinaison
| Name | Type | Description |
|---|---|---|
combinaison | string | {string} |
stats | Object | {name: string: string|number} |
evalStatsDice(testDice, stats?): string
Verify if the provided dice work with random value
| Name | Type | Description |
|---|---|---|
testDice | string | {string} |
stats? | Object | {name: string: number} |
generateRandomStat(total?, max?, min?): number
| Name | Type | Default value |
|---|---|---|
total | undefined | number | 100 |
max? | number | undefined |
min? | number | undefined |
testCombinaison(template): void
Test all combinaison with generated random value
| Name | Type |
|---|---|
template | StatisticalTemplate |
testDamageRoll(template): void
Test each damage roll from the template.damage
| Name | Type |
|---|---|
template | StatisticalTemplate |
verifyTemplateValue(template): StatisticalTemplate
Parse the provided JSON and verify each field to check if everything could work when rolling
| Name | Type |
|---|---|
template | any |
7 months ago
9 months ago
7 months ago
9 months ago
9 months ago
9 months ago
7 months ago
6 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
11 months ago
6 months ago
11 months ago
11 months ago
7 months ago
11 months ago
11 months ago
9 months ago
9 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago