Login

V2 Syntax (WIP)

The v2 dice syntax is in the works.

Planned support for:

  • All v1 features
  • Full Testing Suite
    • this will make it safer to add new features
  • delayed evaluation
    • separate parsing from evaluation of the roll
    • this enables testing
    • this allows multiple randomness sources to be used
    • this allows configuration values to be used
    • we can avoid doing the "parsing" phase on every message and just do the roll
  • configuration context
    • no-sort as default
    • per-channel + per-guild settings
    • per-user: per-channel + per-guild settings
    • quirky dice options
      • arbitrary array of options
      • emoji
      • number aliasing (+/-/0 = 1/-1/0)
    • quirky randomness source options
      • weight the dice high
      • weight the dice low
      • "fair" (ensure no long-runs of high or low rolls)
    • built-in and user defined variables
      • active character sheet (set of variables)
      • evaluated aliases (so you calculate your CHA modifier based on your CHA score)
      • aliased rolls
    • built-in and user-defined functions
      • calculate min value for a roll min(roll)
      • calculate max value for a roll max(roll)
      • calculate expected value ev(roll)
      • aliases with parameters
  • new randomness source
    • switch to seed-able PRNG or CSPRNG instead of node's built-in. Node's built-in is fine but doesn't support seeds.
    • re-seed every few minutes with a new true random value
  • reported randomness
    • report on which values were selected for which rolls
    • (graphs on the website)
    • (reports per-user?)