@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
10 months ago
7 months ago
10 months ago
10 months ago
10 months ago
7 months ago
7 months ago
8 months ago
7 months ago
6 months ago
7 months ago
8 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
1 year ago
12 months ago
7 months ago
12 months ago
12 months ago
7 months ago
12 months ago
12 months ago
10 months ago
10 months ago
12 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
1 year ago
1 year ago
1 year ago
12 months ago
12 months 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
2 years ago
2 years ago
2 years ago