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.
- 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)
- sign:
"<"
|">"
|">="
|"<="
|"="
|"!="
|"=="
- value:
number
Optional
failure:number
Optional
success:number
- sign: Sign
- value:
number
Optional
comment:string
Optional
compare:Compare
- dice:
string
Optional
modifier:Modifier
- result:
string
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
-
Optional
charName:boolean
Allow to force the user to choose a name for them characters -
Optional
critical:Critical
How the success/echec will be done -
Optional
damage:{ [name: string]: string }
Special dice for damage -
Optional
diceType:string
A die type in the notation supported by the bot. See documentation for syntaxe. -
Optional
statistics:Statistic
-
Optional
total:number
A 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
const
COMMENT_REGEX:RegExp
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} |
Replace the ++ +- -- by their proper value:
++
=+
+-
=-
--
=+
Name | Type | Description |
---|---|---|
dice |
string |
{string} |
Escape regex string
Name | Type | Description |
---|---|---|
string |
string |
{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} |
Replace the {{}} in the dice string and evaluate the interior if any
Name | Type | Description |
---|---|---|
dice |
string |
{string} |
Generate a random dice and remove the formula (+ evaluate it) Used for diceDamage only
Name | Type | Description |
---|---|---|
value |
string |
{string} |
template |
StatisticalTemplate |
{StatisticalTemplate} |
Name | Type | Description |
---|---|---|
dice |
string |
{string} |
template |
StatisticalTemplate |
{StatisticalTemplate} |
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} |
Evaluate one selected combinaison
Name | Type | Description |
---|---|---|
combinaison |
string |
{string} |
stats |
Object |
{[name: string]: string|number} |
Verify if the provided dice work with random value
Name | Type | Description |
---|---|---|
testDice |
string |
{string} |
stats? |
Object |
{[name: string]: number} |
Name | Type | Default value |
---|---|---|
total |
undefined | number |
100 |
max? |
number |
undefined |
min? |
number |
undefined |
Test all combinaison with generated random value
Name | Type |
---|---|
template |
StatisticalTemplate |
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 |