Giter VIP home page Giter VIP logo

dicemaiden's People

Contributors

b-rex avatar boredcity avatar chrisbloom7 avatar criticalfault avatar humblemonk avatar khneori avatar lank891 avatar mbirky avatar mechjacktv avatar moliver91 avatar nnoodle avatar oxr463 avatar scottlafetra avatar studio315b avatar thatguywhatsmadeofcheese avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dicemaiden's Issues

D20 +/- Boons & Banes - Shadow of the Demon Lord

In the game Shadow of the Demon Lord, you modify your d20 roll with Boons or Banes (Boons add, Banes subtract). Essentially you roll multiple Boons or Banes (never both, as they cancel each other out). Only the highest Boon or Bane is used, so it would be something like:

Roll w/2 Boons: 1d20 + (2d6 k1), example 18, (6, 1), result = 24

Roll w/2 Banes: 1d20 - (2d6 k1), example 18, (6, 1), result = 12

Except that the syntax doesn't function like that nor does it use parens.

Is this something that can be built in? It works in reverse with the Boons/Banes in front of the roll, but then you can end up with negative numbers even if d20 well exceeds Bane minus roll.

Support for 1D66 with two D6 dice.

Im GMing a game which sometimes requires 1D66 rolls. It means that you roll 2D6 and pick the tens from first dice and single digits from the second. The roll range is 11-66.

Currently I can just roll 2d6 and see the separate results but it would be cool to this supported.

REQUEST: Add Negative Explode

HI! It'd also be useful for games like Cyberpunk Red and The Witcher to "substract on explode"

Normal explode
In cyberpunk red if you roll a 20 you reroll and add to the previous result so 1d10 e10

Negative explode
but you also reroll on a 1 and substract the new dice from the previous result. Kind of 1d10 -e1

A full Cyberkpunk Red roll would be !roll 1d10 e10 -e1

Thanks!

REQUEST: Drop highest value

In some games when rolling with disadvantage there is a need for dropping the highest single or multiple values. Can it be added to the bot to be able to drop the highest value or x number of the highest values?

Thanks!!

roll purge does not seem to work

Hi,
roll purge x does not seem to work. When attempting to purge an amount of messages within valid range, bot does neither purge the amount of messages, nor reply that user is not authorized. I tried using a non-valid amount, the expected reply appears correctly ('Amount must be between 2-100').
There is something going on with that authorization check.

EDIT: apparently channel.prune(amount) is not defined in discordrb

REQUEST: Support for Tunnels and Trolls DARO/TARO

A feature to consider:
The game system Tunnels and Trolls has a thing similar to exploding dice, but slightly different. It's doubles and triples of the same value rolled get added and rolled over.

If possible, would be a nice feature to add.

Request: Custom Board game dice

Hi, Love your work and I am requesting some special interpreted dice results for specific Board Games or RPGs

First, the dice roll for 2d20 RPG system used in Conan.
The standard roll is 2 to 5 d20s, easily done already.
Then there is damage dice which are 6 sided and resolved as follows
Roll Result
1 1 success
2 2 successes
3 nothing
4 nothing
5 1 success plus special
6 1 success plus special

You can roll any number of damage dice and count up total successes and specials.


Then there is the Hellboy Board Game dice.
When you roll dice for Hellboy you roll 4 six sided dice, one of these is an effect die and the other 3 dice are colored from worst to best - Yellow, Orange, Red then Black.
So you roll the Effect dice and any combination of colors that depend on the game, if you could choose which 3 colors that would be amazing.

The result of the dice pool roll is you count up how many dots total.

The results are as follows
Effect Dice
Roll Result
1 Catastrophe (ignores highest rolled dice)
2 One Dot
3 Two Dots
4 Reroll (reroll any amount of colored dice)
5 Double a dice result
6 Wildcard - choose any result usually double or two dots

Yellow Dice
Roll Result
1 nothing
2 nothing
3 nothing
4 One Dot
5 One Dot
6 One Dot

Orange Dice
Roll Result
1 nothing
2 nothing
3 One Dot
4 One Dot
5 Two Dots
6 Two Dots

Red Dice
Roll Result
1 nothing
2 One Dot
3 One Dot
4 Two Dots
5 Two Dots
6 Three Dots

Black Dice
Roll Result
1 One Dot
2 Two Dots
3 Two Dots
4 Three Dots
5 Three Dots
6 Four Dots

Divert Output to other Channel

Hi!

Love the dice roller, I have been looking for an alternative to online RPG platform rollers for some time and make heavy use of Discord.

I do have a request though, do you guys think it would be possible to program the bot to divert the output via a flag in the command to a different text channel on the server?

Thanks for your consideration guys!

bot disallows d2

nonchip: !roll 20d2
[BOT]Dice Maiden: Please roll a dice value 3 or greater

probably because of this, but while "disallow < d2" (like you said) would've made sense, "disallow <= d2" (like you did instead) doesn't. coins are a thing, and systems want me to toss them.

Add roll options to specify "less than or equal to" target numbers and critical roll conditions.

It would be helpful for many games that use "Low roll is good" logic to be able to specify a target number under which the dice roll becomes a success.

Likewise, being able to provide criteria for critical successes/failures would be useful as well.

E.g. In Star Trek Adventures (from Modiphius) one adds the attribute and discipline being used in a check, and that becomes the target number for a d20 roll. If the player can apply a focus to the roll, the critical range starts at the relevant discipline rating rather than being 1. Likewise for failures - the GM can expand the critical failure roll by spending threat.

E.g. Eclipse Phase has a similar mechanic of "roll below" but in that case, there's also a mechanic for superior successes and failures. Any success on a d100 below the threshold number that is a multiple of 11 (e.g. 11, 22, 33, 44, etc) is a strong success. If the target number is above 33, then a successful roll above 33 provides a superior success. If the target number is above 66 and a successful roll is above 66, then that represents two superior successes. The inverse works for failures.

I know you're not going to be able to implement dice mechanics for every system, but the "below than" condition would be useful, as would a simple "critical success"/"critical fail" threshold.

Thanks

REQUEST: 10s count for 2

Some systems like Exalted have it so that 10s count for 2 successes rather than 1, rather than having them explode. Would be nice to be able to specify that a 10 counts for 2 successes, or indeed that any specific side should count for a specified number of successes rather than just 1.

Warhammer (WFRP4) support

I would like to request the following features:

  • Be able to specify what numbers are critical rolls either by providing an array of numbers or, having separate modes per system that one can toggle in between. For example, in WFRP4, when rolling the same number on both dice (22, 88, etc) it is a critical roll.
  • Be able to set a target number and have it announce a success when the number is not surpassed (<=).
  • Be able to ask for success calculations (if <= target, roll/10 as integer division successes, else if >target (100-roll)/10 as integer division failures)

I would be willing to contribute and code these features myself if pull requests are accepted.

Secret Rolls for GM

I don't know whether or not this can be accomplished, or exists already, however searches, thus far, do not reveal the ability for the GM/DM to make a SECRET roll, not displayed to the players.

Ideally, it would be nice for the GM to be able to make a secret roll within DiceMaiden.

Thank you,
~ Allen

REQUEST: Brave New World-style Rolls

This may be possible with the current language, but I'm unsure how to do it. From the sourcebook, the rolls are defined as
"In Brave New World, we read the dice in a particular way that you might not be used to. In lots of games, you roll a bunch of dice and add all those results up together to get a final total. Not so in Brave New World.
'Instead, you roll all the dice and then pick the highest number you get. That's your result. You might say to yourself that, with that kind of a method of dice reading, a 6 is the highest result you can get. After all, that's the highest you can roll on a single die, right?
'It's not so. Dice rolls in Brave New World are what we call "open-ended." This means that if you roll a 6 on any of your dice--the highest you can get on a regular, six-sided die--you can pick up that die, roll it again, and add it to what you've already got. If you get another 6, you can roll the die again and keep going until you don't roll another 6.
'The best part is that if you get more than one 6 at a time, you can pick up each of those dice and reroll them all. Keep track of each of those open-ended rolls separately. When you're done rolling, the single die with the highest open-ended roll gives you your final result."

Different dice must be able to have a separate explode threshold

This is an issue for all RPGs, which need exploding dices, if the highest dice result is is rolled

Example of the Problem:


!roll 2d6 e6 + 1d4 e4

BOT Dice Maiden:
Incorrect format


Expected Result, e.g.:


!roll 2d6 e6 + 1d4 e4

BOT Dice Maiden:
[6,4,3] [4,1]


Keep lowest value

Hi! Great job on this bot, planning on using it for my sessions :)

My request is, given that you have the k command to keep the highest values rolled in a set of dice, how about keeping the lowest ones? This would work great for disadvantage rolling in 5e.

Botch tag for Dicepools

We use the bot for World of Darkness aka Vampire the Masquerade. IN that game 1's subtract from successes (while 10's explode). I would like to be able to add botches into the macro

ie !10d10 t6 b1 to cause any 1's to subtract from successes. Perhaps this already exists and I missed it.

REQUEST: Extended rolls to a target number

In several systems there are mechanics for extended rolls to reach a certain target threshold. E.g. in WoD you have to get X number of successes over several rolls to determine how long something takes. It would be neat to have a function where Dice Maiden repeats a !roll command and provides a condensed summary of the roll results.

It currently leads to this:

Screenshot 2020-04-16 at 16 28 37

"0" in !unsort result

As written in the quoted example, one of the rolls is always 0 when using !unsort, and the sum is wrong (try rolling: !roll 2d20 ! unsort):

[3:17 PM] Humblemonk: !roll 10d20 ! unsort
[3:17 PM] BOTDice Maiden: Humblemonk Roll: [9, 11, 10, 14, 17, 16, 1, 2, 0, 6] Result: 105 Reason: unsort

Originally posted by @Humblemonk in #14 (comment)

REQUEST: Rerolls

Adding reroll as a feature to automatically reroll the last roll the user has made, example:

!roll d8 e8
[3] Result: 3

!roll reroll
[8, 3] Result: 11 (reroll of: d8 e8)

This way the !roll reroll command could be kept in the clipboard for ease of use if different dice rolls are made each time. Even simpler would be !reroll if that's possible.

Use @ or nicknames when addressing bot caller.

My server makes heavy use of nicknames, so when a player calls the bot to roll for them, the message usually doesn't match what others see to be the user's name. I request that the bot @mentions the user so the right name is used or uses their nickname if they have one if you're worried about pinging people too much.

example:

<nickname>
!roll 2d6
Dice Maiden
<username> Roll: [4, 4] Result: 8

Provide an option to only ever reroll a single dice once.

Some gaming systems, for example Warhammer 40K, have rules that only allow a single die to be rerolled once.

When using the r option, Dice Maiden will happily reroll the dice until the value is greater than the reroll threshold. This breaks the rule in the gaming systems that only allow one reroll per dice.

I was thinking maybe an option such as r1 could be added to only reroll a single die once and thereby keep within the rules for those systems.

I think the same could be done with the e option as well. Eg, the DAKKA! DAKKA! DAKKA! rule in WH40K says that any rolls of a 6 generate an extra shot, but 6s on those generated shots cannot themselves generate another shot.

I hope this makes sense!

WoD Botches

Eventually it would be nice to have DM say something if you get a Botch in WoD. (no successes, and at least one "1") Putting this here so I don't forget about it after I take care of more pressing things.

Maybe unintended behaviour in r2 (r#)

Using !roll 2d4 r3 will result in dice that come up 1, 2 or 3 being rerolled infinitely. I think a most useful usecase would be to reroll them once (e.g. for Great Weapon Fighting style in 5e).

Is what is currently happening any different from just rolling a dice with less sides and then adding a modifier? What I mean is that, currently:

!roll 2d6 r2 == !roll 2d4 +4

This is similar to #24 but different in that I actually claim the current behaviour to be wrong.

Request: add a !messageroll or !mroll

I think it would be handy to allow users to use !mroll or !messageroll to be able to provide a message in front of their roll like:

!mroll <Leroy is rolling to seduce the Orc> 1d20

!roll 1d1e1

Completely broke the bot. I understand that this makes an infinite loop. I did it for the meme. But even after kicking and re adding dice maiden to my server we can't use any dice maiden features

Discord Dice-Maiden bot, no longer working?

She is no longer rolling. We have tried kicking her and bringing her back. Reloading Discord. And even multiple people rolling her !roll help. Nothing is happening. Any advice? She was the perfect bot for our online post stories.

Keeps going offline

The Dice Maiden bot often appears offline and when this occurs the commands no longer work.

The e option does not work

The 'e' extension to !roll does not seem to do anything, I am assuming by explode you meant ignore. If I am wrong about that, can you describe what it is for in a different fashion?

Hero System 5e Damage/Effect Rolls

Would you be able to add HS5e support?

It would include the following:

Normal Damage: (Suggested Syntax "!roll normal Xd6")
Roll X Number of d6. The sum value is "Stun", "Body" is calculated on each dice : if it has a value of 1, +0 Body, a value of 2 - 5 is +1 Body, a value of 6 is +2 Body.

  • !roll Normal 3d6, (6, 5, 1) would be 12 Stun (6+5+1), and 3 Body (+2, +1, +0)
  • !roll Normal 3d6, (6, 6, 6) would be 18 Stun (6+6+6), and 6 Body (+2, +2, +2)
  • !roll Normal 3d6, (1, 2, 3) would be 6 Stun (6+6+6), and 2 Body (+0, +1, +1)
    Output should be in the format of: '[name] has rolled Y Body and Z Stun'

Killing Damage: (Suggested Syntax "!roll killing Xd6 (smY)")
Roll X Number of d6. The sum value is "Body", "Stun" is calculated by taking the Body Rolled and multiplying it by d6-1 (to a minimum of 1) (with a potential to manually add 1 or 2 Stun Multiplier by command).

  • !roll killing 3d6 (6, 5, 1) would be 12 Body, and it would then multiply that 12, by d6-1 (eg 3, for 36 Stun).
  • !roll Killing 3d6 sm1 (6, 5, 1) would be 12 Body, and it would then multiply that 12, by d6 (eg 4, for 48 Stun).
  • !roll Killing 3d6 sm2 (6, 5, 1) would be 12 Body, and it would then multiply that 12, by d6+1 (eg 5, for 60 Stun).
    Output should be in the format of: '[name] has rolled Y Body and Z Stun'

To Hit Roll: (suggested Syntax: '!roll OCV X')
This command would roll 3d6 and perform the following calculation: (11+ provided OCV Value 'X') - 3d6 roll.

  • !roll OCV 7 would be 18 (11+7) - 3d6 (5, 4, 2 = 11) = 7
  • !roll OCV 3 would be 14 (11+3) - 3d6 (1, 2, 1 = 4) = 10
    Output should be in the format of '[name] has hit DCV 'Y'

Alias Support

This is probably something I'll work on next weekend, but I wanted to make an issue for it for tracking purposes. I think simply having an alias/regex map which was passed over the non-comment section of the input before the roll was made would be nice for more complex systems. For example:
Fate: #dF -> #d6 t5 f2
World of Darkness: #WoD? -> #d10 t? f1

Negative Permutations

I'd love for the bot to be able to !roll # - XdY, e.g !roll 25 - 3d6, to give me a result of 25 minus the result of three six sided dice. I know there's not a lot of systems that do that, but I'm using one of those few now!

Right now I can approximate it with !roll 3d6 - 25 and then invert it, but it doesn't feel as intuitive.

Wrath and Glory Exalted Icons

Would it be possible to allow a second number to count as 2+ successes? for example, in wrath and glory, you roll Xd6, any over 4 gives you 1 success, any 6s give you 2 successes. Maybe add it in as something like (x)p6, where x is how many successes it gives on what number (or higher). If it's possible, you'd be an even bigger hero than you already are for making this. Thanks :)

REQUEST: Add an alias "!roll dx" to "!roll 1dx" if possible

Hey! This is an amazing bot you made! Is it possible to add an alias command that when you type "!roll dx" make the bot execute "!roll 1dx" ? (e.g. "!roll d6" . "!roll 1d6" will still work though). If you think that this is gonna cause trouble or slowdown ignore this request. This is more to improve ease of use.

Thanks!

Request: Respond to edited messages

Current behaviour is that when a dice roll (valid or otherwise) is edited, DM does not respond.

It would be nice if when an invalid expression is edited to be valid, DM could recognize the edit, and change its Incorrect format report to be the result of the now corrected line.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.