User:Auro/DeltaBot (Meta, no ontology)
From Mazeworld
DeltaBot (beta name Latius' MzW Bot) is the name of the unofficial MazeWorld general purpose bot.
Following the demise of Sidekick on February 13, 2021, we needed a replacement dice bot. Unfortunately, none of the popular dice rollers available on Discord bot list websites could produce the level of functionality we needed. That is, until SpacePrius came up with what would become SnakeEyes.
However, in response to this, the user known as Auro (a veteran MzW player who had been playing on and off since the V2.5 days) decided that he too wanted to make his own dicebot. And, the very next day, he had produced and uploaded Latius' MzW Bot, the first alpha version of his bot.
While SnakeEyes would overshadow his work, Auro strove to make the bot do stuff which SnakeEyes couldn't currently do, and while it is coded in lua, he has taken steps to learn how to convert it to python and had offered to allow SnakeEyes and/or Tsuchinoko, the two official MzW bots which he calls DeltaBot the "little brother" of, to integrate the code he had made into them. He also works on adding other functions which would make the bot useful outside of MzW as well. The bot is being maintained and hosted by Auro (LatiusAuro#6170) as an alternative unofficial bot.
DeltaBot is built on three core values: Effeciency, to reduce the number of commands needed to be used by a GM; Practicality, to make sure that the commands have a good use, and the all-important Fun Factor. Because some times, you just want to have fun with a bot.
Adding DeltaBot to your server
As an unofficial bot, we do not recommend adding DeltaBot - and at the moment, DeltaBot is in a closed Beta, useable only on a select few servers. When DeltaBot becomes more open beta, you can use +invite to get the invite link.
Documentation
Information
- +help - Displays a list of commands. Putting a command after the help will display extra help about said command
- +success - Created to help make checking the number of successes from SnakeEyes much easier, this command accepts a string of true and false, hit and miss, yes and no and/or 1 and 0 values, and returns the number of successes from that string.
- +about - DeltaBot will introduce himself and tell you all about him.
- +invite - Get the invite link to DeltaBot so you can add him to your server.
Tsuchi Ported Commands
- +ore - Random ore type generator, generally used in the context of mines and mining.
- +ore-c - Generates low-rarity ore (cheap, common)
- +ore-r - Generates rare ore (rare, very rare)
- +wpn - Generates a random weapon, weighted based on rarity.
- +event-safe, +event-fast and +event-deep - Gets a random event for Safe/Fast/Deep route rooms.
Rolls
- +r xdy z - Rolls xdy, plus or minus z. Adding t to the end causes the bot to only show the total of the roll.
- +rr n xdy z - Repeat rolls. Rolls xdy, plus or minus z, n times and displays the results for each set of dice.
- +rdnd m x or +rd20 m x - Does an DnD skill test, rolling d20+m with a target of x.
- +rdnd m or +rd20 m - Rolls d20+m.
- +rdnd tx or +rd20 tx - Rolls a flat d20 with a target of x.
- +r% n z - Percentile rolls. Rollsnd% (where a d% is made of 1d10 + (1d10)*10, with 10s counting as 0s, and a result of 00 counting as 100) A target (z) can be provided, which will give the number of successes obtained (A success being a value which is less than or equal to the target)
- +r% tz - As above, but rolling a single percentile die with a target of t.
- +r% n>z or +r% >tz - As above, but with a success being greater than or equal to the target score instead.
- +atk n ft ir - Attack rolls. Rolls n number of 2d6, and then compares the results to the provided FT and IR values (which default to 6 and 2 if not provided) and then gives the number of crits, solid hits, inaccurate hits, misses and critical failures, as well as the attack roll string.
- +haggle l p m - Haggle Roll. l is the skill level of the character haggling, while p is the percentage they are trying to haggle for, and m is the bonus modifier from good roleplaying. If selling items, suffixing a s to the end will tell the bot that you're selling, otherwise, it will assume that you are buying. If the percentage is too high for the skill level, then the bot will refuse to roll and will inform the user of the cap in which they can haggle up to, otherwise, it will roll 2d6-m and compare it to the target for the percentage desired. If the roll is a success or critical success, the bot will inform you that the character got their discount/increase (on a critical, it will increase said value by 10%) as well as the SP gained from the success, while a critical failure will inform you that the other party hits the character by applying the percentage in a negative way.
- +craft s i - Crafting roll. s is the skill level of the character doing the crafting and i is the level of the item being crafted. If a "y", "yes" or "true" is provided, then the roll will add in the fact that you have a blueprint. This will take the base target of success based on the level, modifying it by the skill level and if the blueprint is included, and will either roll 1d100 and compare it to the target, or (if the success is guaranteed) will automatically pass with no need to roll. If it succeeds, it will also show the 1SP the player gains as a result.
- +hunt l x t - Butchering roll. l is the skill level of the character doing the butchering, while x is the (optional) meat worth of the target, and t is either a string for what tier of meat it is, or their equivalent tier number if the meat worth is provided. (delicacy = 2, luxury = 4, tainted = -1, illegal = -2. Anything else resolves to normal or 1) Adding "cooked" in the command or "f" at the end means the meat is cooked, and thus the -5% malus would be applied, but the bonus nutrition would be added so long as the meat is not tainted, while adding "price" or "worth" to the command or "p" at the end will give the worth of the meat in P$ - however, these will only apply if the meat worth is provided as if it's provided, it will print out a string like the following: [Food] Hunting - Raw game meat, 11 units - xxx - 3d25 ntri - Delicacy - 110P$ - Weight: 2.2 - allowing the GM to replace the xxx with the creature butchered for quick input into the character sheet.
- +mine l e f - Mining roll, exploration. l is the skill level of the character and f is the floor which they are on. This will roll a 1d100 and look up the result on the mining exploration table, doing any additional rolls as needed before giving the result.
- +mine l p type n m - Mining roll, Pick mining. l is the skill level of the character, type is either "m" for Metal, "g" for Gemstones or "s" for Serpentium, and n is how many times the character intends to mine for. This will roll n 1d20, comparing them to the target based on the skill level of the character, and will output how many metal chunks/gemstone chunks/pieces of Serpentium was mined out, as well as how much is in each chunk as well as their weight, and the overall weight if mining for metals or gemstones. m is the max number of chunks in the current area - if provided, and all chunks are mined before all of the intended mining rolls are done, the character will stop early. Any SP gained, as well as the ntri and wtr burned from the mining, will also be shown.
- +mine l d type n m - Mining roll, Drill mining. As above, but using a drill to mine. Apart from the adjustments to the target and the ntri and wtr burned from the mining, these two roll types are the same in how you use them.
- +mine l b type d m - Mining roll, Blast mining. As above, but using explosives to mine. Instead of providing the number of hits, instead, you provide d, the LDV modifier of the explosives you are going to use. This can only mine one blast at a time, but it will roll 1d8+d, divide that by the modifier determined by your skill level, rounding to the nearest whole number (and to a minimum of 1 and a maximum of m if it's provided) and expose that many chunks of ore, while also displaying the SP gained from the blast mining.
- +room - Generate a single random room
- +room-s, +room-f, +room-d and +room-u - As above but with it being a Safe/Fast/Deep/Unlimited UA dive, thereby adding in the events which go with the room.
- +doors - Generates the potential doors in the UA.
- +doors-s, +doors-f, +doors-d and +doors-u - As above but with it being a Safe/Fast/Deep/Unlimited UA dive, thereby adding in the events which go with the room.
- +event-unlim - Get a random Event for the unofficial 'unlimited' UA route.
- +dndstat - Creates a table of DnD stats using the 4d6k3 roll method, ordered from lowest to highest.
- +dndstat7 - As above, but roll seven dice pools and discard the lowest one.
For Fun
- +rumour - A variant of Tsuchinoko's &rumor, +rumour gives you a rumour which DeltaBot has heard, which may or may not be true.
- +8ball - A variant of Tsuchinoko's &asktsuchi, +8ball allows you to ask DeltaBot a yes/no question, and get a response from DeltaBot in return.
- +MzW - They say anything can happen in the Mazes, and using the MzW command could give you anything at all. Random musings from DeltaBot, misquoted quotes, calls for Hebi...