Dicebot Command Reference
From DLWiki
NAME
The Lady - Universal Aid for Pretendy Funtime on IRC
VERSION
2.0.1g - ICARUS
CHANGELOG
- !roll_gurps [effective skill] - Rolls 3d6 against the given skill rating and tests for success/failure. Supports the modified critical success and failure ratings based on a high/low effective skill rating.
- !roll_qin [attribute] [ability] - Rolls a test for Qin: the Warring States based on its home-grown "yin/yang dice" mechanic. It prints the total roll, the result, and which aspect dominates (or critical success/failure in case of balance)
- !gen_oldschool [no options] - Does what it says on the tin: rolls a random redbox BD&D character. From a time when Dwarf was a class...
- !roll_dryh [pools] - Support for the Evil Hat RPG Don't Rest Your Head. This command takes a list of pools in the format of Xn, where X is an integer larger than 0, and n is one of [d,m,e,p] to denote the different dice types (discipline, madness, exhaustion and pain). So to roll your three discipline dice and 5 madness dice against the GM's pain pool of 4, the command would be: !roll_dryh 3d 5m 4p. The output displays success count per pool, the "winning" pool (of discipline, madness and exhaustion vs. pain), and the pool whose effect dominates the conflict.
- !anima_combat [attack rating (plus mods)] [defence rating (plus mods)] [defender's armour rating] - Automates the open-ended rolls and table lookups required for combat in Anima: Beyond Fantasy.
- !roll_marble [stat or skill] - Draws two marbles from the 'bag', fetches their point value based on colour, and adds them to the PC's skill rating to determine a final value. House system for the little indie RPG which couldn't Asylum. Added at Bassist159's request.
- Inactive timeout - The Lady is getting a lot of use on the Magicstar network, and unfortunately not everyone takes proper care of such a classy dame. From analyzing the logfiles, it appears that users tend to forget to dismiss her at the end of a game session. To help insure the bot's availability, I'm adding code to her which will allow her to autopart from any room which is either bereft of humans or which has not seen any activity in more than 1 hour. I'm also recompiling perl to increase the binary's max. thread count, which should allow her to service more rooms simultaneously.
TODO
- !dh_crit [location] [damage type] - Rolls on the critical hit charts for Dark Heresy
- !unmet_injury [no options] - Rolls a random Severe Injury complication for Unhallowed Metropolis
COMMANDS
Basic Usage
- To summon: /msg the_lady summon [channel name]
- To dismiss: /msg the_lady dismiss [channel name]
The Lady will autopart any room which has been idle (no message traffic) for more than 1 hour.
Generic Roller
- !roll; Syntax: !roll [dice command (standard dice syntax)]
- This is the most basic diceroller possible. It just accepts a string in standard dice syntax (e.g. 3d6, 1d10+3, 1d%, etc.) and returns both the total result and the value per die. Unless your system calls for some sort of stupid dice tricks, this is probably the roller you want.
- Note: it does not currently support arithmetic operations across multiple dice statements. (say, 1d4 + 2d8) If your system requires this kind of operation, see the Earthdawn or Serenity rollers.
White Wolf roller
- !roll_ww; Syntax: !roll_ww [pool] [tn] [reroll]
- Diceroller for White Wolf Games Studio's Storytell(er|ing) system. It takes three arguments (in order); the number of d10's to be rolled (the pool), the target number to meet or beat, and the threshold where dice are automatically rerolled. With the exception of the reroll threshold, these options take only integer values. If no arguments are given, the command returns its syntax instead.
- To better support Exalted, the string 'ex' may be passed as the reroll threshold to automatically double natural 10's rather than trigger a reroll.
Weapons of the Gods Roller
- !roll_wotg; Syntax: !roll_ww [# of dice]
- Takes a single argument, in the number of dice (d10's) to roll. The roller returns the individual battles, as well as the possible 'sets' (multiples of dice with the same value). In WotG, results are scored using the rolled value for the 1's digit and the size of the set as the 10's. So a player who rolled three 4's would receive a result of 34. Single dice, therefore, return results in the teens.
- Players will need to track their own River.
Legend of the 5 Rings Roller
- !roll_l5r; Syntax !roll_l5r [# to roll] [# to keep]
- Roller for the samurai action game Legend of the 5 Rings. Since L5R uses a "roll and keep" dicepool system, the roller requires two arguments: the pool size, and the number of dice to "keep".
- As implied, this command rolls a number of dice (the pool), but only sums the number specified by the keep value. To assist play, it returns both the best (highest) and worst (lowest) possible values.
- Since this roller was written for the latest edition of L5R, pools are rolled as sets of d10's
FUDGE/FATE Roller
- !roll_fudge; Syntax: !roll_fudge
- This command has no arguments. It just returns a 4dF (4 Fudge dice) roll, along with their total value.
- Fudge dice are special 6's with faces marked +, -, or 0. Each plus sign rolled adds 1 to the total, each minus subtracts 1, and 0's are null values: they don't alter the total. Accordingly, rolls in Fudge (or Fudge derivative games such as Spirit of the Century tend to trend near to 0, with most rolls being in the range of -2 to +2).
One-Roll Engine Roller
- !roll_ore; Syntax: !roll_ore [# of dice]
- The One-Roll Engine, as its name implies, attempts to compress most, if not all, the required input for a given action into a single roll of a d10 dice pool. Originally developed for Godlike, the system has been adapted to survival horror (Nemesis), heroic fantasy REIGN, and even a game about childen and their not-so-imaginary monstrous friends who love them very much (Monsters and Other Childish Things).
- Like Weapons of the Gods, the basic system revolves around finding matching sets in a rolled d10 pool. Unlike WotG, though, the results aren't tabulated into a final total. Instead, they're used to describe the 'area' covered by the roll, with the number rolled serving as the 'height,' and the size of the set the 'width.' Generally, the width of a set is illustrative of its speed (wider sets being faster), with the height used to determine the quality of effect. In combat, height also determines hit location, and width damage.
- Since players may attempt multiple actions at a penalty, this roller returns all possible sets with a width greater than two. (In ORE, singletons are not considered sets.)
- Special dice are not currently supported, as their restrictions and effects can vary by game.
Shadowrun (4th edition) Roller
- !roll_sr4; Syntax: !roll_sr4 [dice pool]
- Rolls a number of d6's and returns both the individual results and the number of successes (dice beating the fixed target number of 5).
- In accordance with Shadowrun 4th edition's new system, the roller keeps track of the number of dice which come up 1, and notifies the user of glitches (more than half the dice) or critical glitches (more than half the dice and no successes).
- New with this release, !roll_sr4 displays the standard result along with the possible results from spending "Edge" to make rolls of 6 open-ended.
Cthulhutech (Framewerk) Roller
- !roll_ctech; Syntax: !roll_ctech [base] [# of dice] [target number] ["hit" (to use hit locations, optional)
- Framewerk is a bit of an odd system to have to model in a bot. For starters, there are three different ways to calculate results: either the highest single die, the highest set of dice, or the highest run of contiguious values. (a 'straight,' in poker terms.)
- So, given the pool [5, 6, 6, 6, 7, 8, 9], a player could take either the 9 (high die), the trio of sixes (best set), or the span of 5-9 (best straight).
- If a solution containing multiple dice is chosen, they're added together, along with the character's "base" (their rating in the governing Attribute) to come up with the final result, which is compared to a variable Target Number. If the player beats the TN by 10 or more, it's considered a Critical Success. Likewise, if they fail and more than half their dice came up 1's, it's considered a Critical Failure.
- Vade Mecum (The Cthulhutech player's guide) added an additional layer of complexity: borrowing somewhat from the One Roll Engine, the highest die in a given set may optionally be used to determine hit location. These optional (but recommended) rules add a supplementary roll to determine any special effects achieved for hitting a given location. These rules are accessed in the roller by appending the word 'hit' onto the end of the command string.
3:16 Carnage Amongst the Stars Planet Generator
- !316_planet; Syntax: !316_planet
- A random planet generator for the space marine fragfest RPG 3:16 Carnage Amongst the Stars. It outputs a planet name, its biome type, and information about the xenoform scum what lives there.
- I'd write a character generator for the game, but PCs have two stats, which sum to 10: FA (or Fighting Ability) for killing things, and NFA (Non-Fighting Ability) for everything else. Task resolution is a simple roll-under test on 1d10 vs. one of these two stats.
- Now, why aren't you out there doing your part to cleanse the universe in the name of Terra?
Cthulhutech Healing Complication Generator
- !ctech_trauma; Syntax: !ctech_trauma [hit location name (optional)]
- Healing complications were another rule released for Cthulhutech in its supplement Vade Mecum, in order to provide a grittier experience for players unhappy with the fairly fast-and-loose healing rules provided in the core. These tables move the system away from the game's normal anime-inspired "knocked out but okay" aesthetic into the realm of shattered bones, lost limbs, and permanent scars. It reminds me a lot of the Complication rules in Unhallowed Metropolis, actually; however, I don't know if there's actually cross-pollination there, or if it's just a case of two different games creating the same spin on critical hit tables.
- As implemented here, the command wants a single argument: the name of the injured location (one of Head, Torso, Legs, or Arms). If the location name is unknown to it or missing, it will randomly roll a location for the user.
Savage Worlds Roller
- !roll_savage; Syntax
- !roll_savage [die] [target number (optional)] ['ace' (optional)]
- The roller for Savage Worlds rolls the supplied die along with a d6 "wild die" and takes the higher of the two results. If the optional argument 'ace' is added to the end of the command string, the roller will "explode" (reroll on max value) the player's die. If a target number is provided, it will also mark success or failure.
Deadland Poker Hand Generator
- !dl_draw; Syntax: !dl_draw [deck #] [# of cards to draw]
- Whenever the dicebot joins a channel, it allocates five poker decks (52 cards + 2 jokers) for use within that room. What this means in practical terms is that you can have up to five Hucksters in your Deadlands game, each with their own deck. (If you have more than five Hucksters in a single game, $deity help you.)
- Decks are numbered from 1 to 5, and are shuffled and tracked independent of each other. Instead of randomly generating card values, this command will keep track of unused cards and restrict itself to just that set. This means that you won't ever see the same card twice in a row - just to keep things extra fair.
- I've tried to make it as close to playing with actual cards as possible. And as an added feature, it automatically scores hands drawn in accordance with standard Poker rules.
- The command will automatically reshuffle if the deck is insufficient to cover the draw request, but it can be manually refreshed at any time through the !dl_shuffle [deck #] helper function. Likewise, !deck_status will show the number of cards remaining in each deck.
Savage Worlds Initiative Generator
- !sw_init; Syntax: !sw_init
- Savage Worlds determines initiative via a card-draw method. To model this, this generator returns a single card from a reserved deck id 0 (unique to each channel), along with the number of cards remaining.
- If a Joker is encountered, the deck is automatically reshuffled. However, if a manual shuffle is ever required, see the documentation for !dl_draw above.
Earthdawn Roller
- !roll_ed; Syntax: !roll_ed [Step # or dice formula]
- In Earthdawn, skills are rated in "step values," which correspond to complex dice formula via the "step table." For example, Step 9 is rolled as (1d8 + 1d6). This roller automatically translates Step numbers into their dice statements before rolling, or optionally accepts the raw dice formulae themselves.
- Bear in mind that this roller assumes exploding dice.
Serenity RPG Roller
- !roll_ser; Syntax: !roll_ser [dice formula] [target number (optional)]
- This command takes a dice formula (which may contain arithmatic operations across die types (e.g. 1d6 + 2d10)) and rolls it against an optional TN, using the rules laid out in the Serenity RPG to determine degree of success.
- Dice do not explode.
One-Roll Orphan Generator
- !gen_orphan; Syntax: !gen_orphan [# of dice (optional)]
- Generates a random orphan for the Monsters and Other Childish Things setting Dreadful Secrets of Candlewick Manor. Users may optionally specify the number of dice to use when generating the unfortunate child's creepy powers; otherwise, it defaults to 5 dice.
- Users will need to flesh out their wards by assigning 12 dice to Attributes.
Maid RPG Maid Generator
- !gen_maid; Syntax: !gen_maid
- Generates a random maid character for the Maid RPG, including powers, appearance and stats.
- There are no command options. Taste the shame.
Maid RPG Butler Generator
- !gen_butler; Syntax: !gen_butler
- A less shameful companion to the random maid generator (above). Generates a stalwart butler (manly tears!) rather than a maid.
Random Technobabble Generator
- !tech_babble; Syntax: !tech_babble
- A fun little toy: the random tech-babble table from the Serenity RPG, automated.
Dark Heresy Psyker Roller
- !dh_psyker; Syntax: !dh_psyker [Psyker Rating] [WP bonus] [Power Activation Threshold]
- Since psyker power rolls make for an exception-driven deviation from Dark Heresy's otherwise percentile-based system, I thought it would aid play to see it automated. This command rolls a number of d10's equal to the supplied psyker rating and adds them to the character's WP bonus. This is compared to the activation threshold in order to determine the roll's outcome.
- In a move sure to amuse, it also properly tracks the number of 9's rolled, adding a random phenomenon (or a warp manifestation, if the psyker is unlucky) for each one. These events can vary from whispers on the breeze to full-on daemonic possession of the psyker PC.
- In the grim darkness, etc etc.
Dark Heresy Character Generator
- !gen_dh; Syntax: !gen_dh
- Rolls a random Dark Heresy character.
- If output seems a little slow on this one, it's just due to the amount of data tripping the bot's flood protection. I'll patch it in the next release, but for now just be patient and don't spam the command. I still need to add sanctioning effects (which I completely forgot about), but at least it automatically adjusts stats based on Homeworld traits and Divination.
- And yes, this does incorporate the other origins detailed in the Inquisitor's Handbook. It also sanity checks the generated characters, to prevent abominations like male Sororitas.
GURPS Roller
- !roll_gurps; Syntax: !roll_gurps [effective skill]
- Rolls 3d6 against the given skill rating and tests for success/failure. Supports the modified critical success and failure ratings based on a high/low effective skill rating. The output also includes the degree of success/failure.
Qin: the Warring States Roller
- !roll_qin; Syntax: !roll_qin [attribute] [ability]
- Rolls a test for Qin: the Warring States based on its home-grown "yin/yang dice" mechanic. It prints the total roll, the result, and which aspect dominates (or critical success/failure in case of balance)
Oldschool D&D Character Generator
- !gen_oldschool; Syntax: !gen_oldschool
- This one does just what it says on the tin - it rolls a random character for Moldvay/Cook Basic D&D. Stats are 3d6, and it checks for prereqs (if any) before assigning a class.
- From back in the day when Dwarf was a class...
Don't Rest Your Head Roller
- !roll_dryh; Syntax: !roll_dryh [pools*]
- This roller provides support for the Evil Hat RPG Don't Rest Your Head. This command takes a list of pools in the format of Xn, where X is an integer larger than 0, and n is one of [d,m,e,p] to denote the different dice types (discipline, madness, exhaustion and pain). So to roll your three discipline dice and 5 madness dice against the GM's pain pool of 4, the command would be: !roll_dryh 3d 5m 4p. The output displays success count per pool, the "winning" pool (of discipline, madness and exhaustion vs. pain), and the pool whose effect dominates the conflict.
- Note that GMs will still need to track Hope and Despair coins manually.
Anima Combat Roller
- !roll_anima; Syntax: !anima_combat [attack rating (plus mods)] [defence rating (plus mods)] [defender's armour rating]
- Automates the open-ended rolls and table lookups required for combat in Anima: Beyond Fantasy. It rolls 1d100 exploding (with the explosion threshold incrementing by one on each reroll) for each of the attacker and defender, gets the difference in their values, then calculates the results using the same formulas from which the combat table was derived: if the attacker wins, it rounds the difference down to the next lowest multiple of 10, subtracts the defender's (armour rating * 10), and returns the new value as the percentile modifier to the attacker's weapon damage. If the defender wins, the absolute value of the difference is taken, which is rounded down to the next lowest multiple of 10, halved, and displayed as a bonus to the possible counter-attack. There are some interesting edge cases between -1 and 40, but that's essentially the maths behind the game's combat system.
- (Ex: Aaron is attacking a guard with his attack value of 120. The guard's defence is 60, and he's wearing leather armor (AT2). Aaron rolls 1d%, which explodes on 90 or better, and gets an 83. The GM rolls the same for the guard, only his explodes! She rolls a 93, then rerolls and gets a 72, for a final roll of a whopping 165! Added to their final attack values, Aaron's PC has a score of 203 vs. the guard's 225. The guard wins by 22, meaning that not only did Aaron miss, but he left himself open for a counterattack at a +10 bonus to the guard's attack rating (assuming the guard has any actions remaining this round).)
Asylum Roller
- !roll_marble; Syntax: !roll_marble [stat or skill]
- Draws two marbles from the 'bag', fetches their point value based on colour, and adds them to the PC's skill rating to determine a final value. House system for the little indie RPG which couldn't Asylum.
- To speed up combat, this roller also returns the hit location determined by the drawn marbles.
Omni System Roller
- !roll_omni; Syntax: !roll_omni [skill rating] [DoD (+-modifiers)]
- This implements the Omni system as seen in Talislanta and Hellas: Worlds of Sun and Stone.
- The basic mechanic is (Stat+Skill) (or (Stat+Stat)) minus a difficulty modifier, added to a 1d20 roll and compared to a standard success table.
Ubiquity System Roller
- !roll_hex; Syntax: !roll_hex [pool size]
- Rolls a pool of d2's and counts all even results as successes. This is the resolution mechanic used in Hollow Earth Expedition and Desolation.'
- Oddly enough, this also produces roughly the same success distribution as Exalted dice mechanic...
West End Games' D6 System Roller
- !roll_d6; Syntax: !roll_d6 [stat or skill rating] [cp spent (optional)]
- Rolls in accordance with the D6 system mechanic. One die is designated the 'wild die' and rolled separately. This die explodes on a 6, and on a 1 it removes the highest rated die from the 'normal' pool.
- Players may elect to spend character points (CP) in order to add additional wild dice to the roll. These purchased dice do not suffer from the rule of 1 above.
AUTHOR
Doktor Uhrwerk <noonblueapples@gmail.com>
LICENSE AND COPYRIGHT
Written by Doktor Uhrwerk (Michael Ostrokol) for #thefreedomstone, 2008, all rights reserved.
DISCLAIMER OF WARRANTY
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

