Aller au contenu principal

Notations des dés

Le bot utilise la bibliothèque de dice roller1 pour les jets de dés, et supporte la syntaxe de ce dernier. Il existe cependant quelques différences car Dicelette veut être plus flexible et indiquer les résultats des jets de dés de manière plus lisible.

Différence avec Dice Roller

Syntaxe étendue pour les commentaires

Dicelette étend la syntaxe de Dice Roller en s'inspirant de celle de Dice Parser :

  • L'utilisation de # commentaire en plus de la syntaxe de base pour les commentaires.
  • La possibilité d'utiliser [commentaire] pour commenter un jet de dés partagé, ce qui permet de donner un contexte à chaque ligne de résultat.

Les comparateurs

Par défaut, en présence d'un signe de comparaison (>, <, =, etc.), le bot considérera le total et la valeur comparée (tout en faisant un jet et/ou calcul si nécessaire) et indiquera si le jet est un échec ou un succès :

Succès1d20[20] = [20] > 10

Cependant, certains systèmes nécessitent de compter le nombre de jet au dessus (ou en dessous) d'une valeur, plutôt que de comparer le résultat total. Afin de pouvoir maintenir la compatibilité entre Dicelette et Dice Roller, le jet doit se trouver entre accolades {}, tel que : {3d12>20}.

{3d12>20} ⟶ {[11, 9, 7]} = [0]

Dans ces cas particuliers, le bot n'affichera pas le texte de succès, échec, ou critique, et en fait de même lors de l'utilisation des target failure.

remarque
  • {1d3}>20 donnera le même résultat que 1d3>20
  • Mais pas {1d3,1d6}>20, qui conserve la syntaxe par défaut de Dice Roller. Pour obtenir la comparaison entre le total et une valeur, il faut utiliser 1d3+1d6>20.
TL;DR
  • Si vous souhaitez compter le nombre de dés qui passe une comparaison, il faut mettre le dé et le comparateur entre accolades {}.
  • Si vous souhaitez utiliser les targets failures, il faut conserver la syntaxe de Dice Roller.

Expressions Mathématiques avec MathJS

Le bot utilise la bibliothèque mathjs pour évaluer les expressions mathématiques. Vous pouvez utiliser des expressions mathématiques complexes lorsqu'elles sont entre {{ et }}.

Il est possible d'utiliser, selon les commandes :

  • $ : Symbolise la valeur de la statistique utilisée.
  • Le nom d'une statistique (qui sera remplacée par sa valeur).
  • Des combinaisons de dés (comme 1d6).
  • {exp} : Cette syntaxe permet d'insérer directement une expression dans le dé, en reprenant la partie calculée de la commande. Il est possible d'indiquer une valeur par défaut en utilisant la syntaxe {exp||default} (comme {exp||2}). Dans le cas contraire, la valeur par défaut sera 1.

Les expressions sont généralement utilisées dans :

  • seuil_reussite : Seuil de réussite pour les jets de dés pour la commande /dbroll.
  • expression : Pour les commandes /calc, /dbroll et /dbd.

Exemples d'Expressions Mathématiques

  • 1d6 + {{ceil($ / 2)}}
  • 1d6 > {{ceil($ / 2)}}

Jets Uniques Partagés (Réutilisation de Résultats)

Il est possible d'utiliser la syntaxe dé;&+x;µ*y pour lancer un seul dé et appliquer différentes formules sur ce même dé, de façon à afficher le résultat de chaque formule. Le & symbolise le résultat du dé.

attention

Vous devez obligatoirement ne pas avoir d'espace avant et après la séparation entre les formules, sinon le bot considérera la suite comme des commentaires.

Exemple
/roll 1d20;&+5;&*2

Affichera comme résultat :

  ※ `1d20` ⟶ `[10]` = ` 10 `  
◈ `[1d20]+5` ⟶ `[10]+5` = ` 15 `
◈ `[1d20]×2` ⟶ `[10]×2` = ` 20 `
astuce

Il est possible d'utiliser des dés dans les formules, mais seul le premier dé sera sauvegardé et réutilisé.

1d20;&+1d4;&*2
  ※ `1d20` ⟶ `[7]` = ` 7 `  
◈ `[1d20]+1d4` ⟶ `7+[1]` = ` 8 `
◈ `[1d20]×2` ⟶ `[7]×2` = ` 14 `

Pour commenter entre chaque jet, il faut utiliser la syntaxe [commentaire]. Un commentaire global devra utiliser la syntaxe # commentaire à la fin des dés.

1d20;&-2[perte pv]

1d20[2] = 2
perte pv[1d20]-2[2]-2 = 0

Enfin, il est possible de cacher le premier dé avec la syntaxe (dé) :

(1d20);&>100;&+2

Échec[1d20]>100[12]>100 = 12<100
[1d20]+2[12]+2 = 14

Il n'est pas possible d'utiliser les dés en masse dans cette syntaxe.

Lancers en Masse (Bulk Rolls)

Le bot prend également en charge la notation x#(dés) inspiré par rollem pour les lancers "en masse" (bulk roll).

4#2d10

2d10[2, 7] = [9]
2d10[2, 8] = [10]
2d10[4, 3] = [7]
2d10[8, 9] = [17]

Footnotes

  1. Dice Roller lui-même utilise random-js pour la génération aléatoire, et non pas math.random qui est du pseudo-aléatoire. Il n'est donc pas possible de tricher sur les résultats des dés (à moins d'être un cryptomancien ou de voir l'avenir … Ou les deux.).