Using Random Lee
Random Lee is a Google Wave robot - an automated participant in a wave - that rolls dice for a number of well-known roleplaying games. To add Random Lee Twenty to your wave, add the address randomleetwenty@appspot.com to your contacts list. Random Lee will appear in your contacts, and can be added to a wave like any other participant.
When you type dice codes from the selection below into a blip in the wave, Random Lee will interpret them and update the blip with the result of the roll.
If you have questions, suggestions, or comments, you can post them in the Wave, or email them to rltwenty@gmail.com. I prefer comments in the dedicated wave; the email is only checked every few days.
Privacy and Other Concerns
As a participant in a wave, Random Lee is aware of other participants in the same wave, and aware of the content of each submitted blip, which it reads in order to find and act upon dice expressions contained within.
As part of the debugging features available through Google App Engine, Random Lee can keep debugging logs that contain the blip content as well as the submitting participant and a number of other details about the submitted blip (time, date, structure, and so forth). These logs are useful for the developer to isolate problems, but they also mean that the developer has access to the posted content and the participant information associated with that content from any wave in which Random Lee is a participant. Currently, Random Lee is configured only to log information that causes an error that halts the program itself. During development of new features, however, more detailed logging is active.
Note that Random Lee is a participant in the wave, so it only sees the information that any other participant could see. If you wish to keep something private, you can create a private reply within the wave, and so long as you don't invite Random Lee to it, the content of that private reply wavelet is hidden.
However, if you are not comfortable with any content of your wave being readable by Random Lee's developer, please do not invite Random Lee into your wave (or remove it posthaste!).
Important Rules Up Front!
- Don't put a colon after your expression - the presence of a colon tells Random Lee not to reroll that expression (this makes it possible to go back and edit your blip without having your dice rolls rerolled). It works in much the same way as putting a roll in quotes does.
- Don't put any spaces in your dice expressions
- By default, there is no anti-cheating functionality. However, if you pair this bot with Watexy, it will replace roll results with a Watexy-generated image. Note that you can only put one roll in a blip if you're using Watexy - currently, Watexy does not handle text positions quite right.
General Dice Codes
NOTE: You must put a value in front of the "d" - even if you're only rolling 1 die.
- Standard roll: XdY+M or XdY-M or some combination thereof (X dice, Y sides, M modifier). Example: 1d20+1d6+9
- Dice Pool Roll Over Target Number: XdYsT (X dice with Y sides, versus target T. Example: 6d6s4
- Exploding Success Rolls: XdYseT will explode individual dice pool dice, summing the exploding roll and comparing the final value to the target number T. For other success type rolls, see the Game-Specific Expression, below. Example: 6d6se8
- Dice Pool Roll Under Target Number: XdYsuT (X dice with Y sides, rolling equal or less than T). Example, 6d6su4.
- Roll-and-keep or roll-and-drop: XdYkN+M, or XdYdN+M. Example 5d10k3 or 4d6d1+3
Game-Specific Expressions
One of the areas that Random Lee shines in is support of game-specific dice rolling - in addition to the relatively generic rolls discussed above, Random Lee also provides codes and rolls dice according to the specific rules of several games. The list below shows the current games supported directly by Random Lee.
- Arrowflight: XdYsaT - similar to the success pool above, this will roll and calculate the results using Arrowflight dice rules.
- Ars Magica: 1dA. This rolls a 1d10 according to the Ars Magica dice system.
- Burning Wheel: XdYswT (where X is the number of dice to roll, Y is the number of sides on each die, and T is the target number). This will roll the pool of dice, and each die that results in its maximum value will be rerolled, and that new roll will be compared to the target number. The array of rolls and the total successes are shown. Example: 6d6sw4 or 6d10sw7.
- Earthdawn (3rd Edition): StepX, where X is the step number. This will determine the correct dice for that step and roll them (accounting for exploding dice by default).
- Exalted: XdYsxT. Similar to the Success dice roll, except that any die roll that results in the maximum value for the die counts as 2 successes. Example: 18d10sx7
- Fudge/FATE: XdF+M or XdF-M (where X is the number of Fudge dice to roll, and M is a modifier). Example: 5dF-2
- Hero Dice: Xdh to roll normal Hero Dice (dice size is fixed at d6); returns the Stun and Body results. Use Xdhh to roll for half-damage results.
- Legend of the Five Rings: (and other exploding roll-and-keep): XdYkeN. Rolls X dice of size Y, exploding individual results and keeping the highest N dice.
- One-Roll Engine: Xdo (where X is the size of the dice pool); example 7do.
- Expert Dice: XdoeN, where N is the value of the expert die. You can roll multiple expert dice by adding more numbers. For example, 5doe7 rolls 5 dice, and adds one expert die set to 7. 5doe73 rolls 5 dice, and adds an expert die set to 7, and one set to 3.
- Hard Dice: XdohN, where N is the number of hard dice.
- Note: Hard and Expert dice can be combined; if you roll both, always put the expert dice first.
- Penetrating Dice: XdYp+M to roll dice using the "penetrating" die method. The highest single result is returned.
- The Shadow of Yesterday: XdFlN+M or XdFhN+M - roll a pool of dF's, and keep the highest/lowest N dice.
- Ubiquity Dice: Xdu+M, where X is the number of dice being rolled.
- World of Darkness:
- New WoD: XdYswT (X dice, Y sides, and T target number). Example, 7d10sw8. This defaults to 10-again; to adjust the roll-again value, you can set it using the syntax XdYswTrN (where "rN" means "reroll on N"). To change the previous example to 8-again, use the code 7d10sw8r8.
- Old WoD: XdYsoT (X dice, Y sides, and T target number). This keeps tracks of 1's rolled, and will report botches if appropriate.
Roll Options
Exploding Dice: Standard rolls only
Appending "e" to a dice code (for instance, 1d6e) makes the roll explode.
Reroll (or "brutal") Dice: Standard rolls only
Appending "r" and a number will reroll the die if it results in that number or less. For example, 1d8r2 will reroll the die if it results in a 2 or 1. Note: exploding and rerolls cannot be combined.
Target Numbers: Standard, Roll & Keep, Roll & Drop
You can provide a target number after the roll, e.g. 1d20+9>=17 will roll 1d20+9, and if the result is greater than 17, it will also indicate "Success" or "Failure". The available comparisons are:
- (expression)>N
: the result of the expression is greater than N
- (expression)>=N
: the result of the expression is greater than or equal to N
- (expression)<N
: the result of the expression is less than N
- (expression)<=N
: the result of the expression is less than or equal to N
- (expression)=N
: the result of the expression is equal to N
- (expression)!N
: the result of the expression is not N
Verbose Mode (Standard, Keep/Drop, Hero, Penetrating, Earthdawn)
Prefixing a with "v" will output the results in "verbose" mode - that is, along with the die roll total, you will also see a breakdown of each individual die. This works with exploding and reroll dice as well (in which case, the exploding dice breakdown will show each individual roll made with that die, in order). Note that most other die roll types are fairly verbose already, and the "verbose" options are being expanded to include new dice rolls as requests come in for more detail.
Custom Success/Failure Strings (Standard, Keep/Drop rolls only)
When rolling a "standard" roll with a target number - e.g. 1d20+12>=20 - you can provide custom success and failure strings. The format for doing so is:
(expression)<=!>N[Success string|Failure string]
For example:
1d20+9>=20[Hit!|Miss!]
Note: if you put a dice roll in your output string, precede it with an underscore - e.g., _1d10+4 - or it will be rolled and added to your total.