ArtemGr / Sidekick

Dice and LFG bot for Discord.
MIT License
250 stars 39 forks source link

[Feature Request] Negative Explosions #218

Open FatSpidy opened 4 years ago

FatSpidy commented 4 years ago

A large number of d10 systems, most notably for me: Mekton and my own system dfs (but with d12s), will explode infinitely or up to a number of times. However they explode both with the highest and lowest number. Adding the next die on the highest but subtracting the next die on the lowest. The high end explosion is already covered with ![value] but as far as I know the low end explosion is not. I would suggest just the simple addition of a hyphen (!-[value]) for a reductive explosion. I would imagine such an expression would thus look like: /r 2d10!10!-1

ArtemGr commented 4 years ago

Hey, @FatSpidy ! Have you tried /r 2d10!<2 ?

Adding the next die on the highest but subtracting the next die on the lowest.

Not sure I follow. We can pair program on it though, if that kind of activity is something you'd like to try.

FatSpidy commented 4 years ago

In these sorts of games the dice can explode in two directions. On a d10, for example, it will explode on both a 1 and a 10. However, if a 10 is rolled you gain +1d10 and if a 1 is rolled you instead gain -1d10. So for the syntax you would need both !>9 and !<2, but the !<2 result would need to be reductive, not additive.

edit: and in a game like mekton, the explosions are infinite in both directions but the Bot already does this well enough. So I would imagine it would just be a matter of copy/pasting the existing script, change it to subtract instead of add, and then make the new syntax indicator.

nagromnortara commented 4 years ago

This is actually a feature that is missing from almost all the dice rollers (bots, apps, roll20.net, etc.).

The term RoleMaster uses is open-ended dice (someone called it 1d100OE) and it has two parts to it.

  1. Open-ended up which means that 96-100 (so 5% probability) will be re-rolled and added to the sum. This can be achieved easily with exploding dice mechanics /r 1d100!>96+skill resulting e.g. (98+22)+15=135 or (96+100+4)+15=215
  2. Open-ended down (the one missing) is bit more tricky. The value 01-05 will be re-rolled and the new roll(s) (this can explode) will be subtracted from the value. So given your skill is again 15 then roll could look e.g. (4-60)+15=-41, (2-96-59)+15=-138 or (2-96-4)+15=-83.

I can give a hand on implementing this if you want, as I would love to have this available.

FatSpidy commented 4 years ago

(2-96-59)+15=-138 or (2-96-4)+15=-83.

I'll add on however, that in my particular case the systems I've played the addition/subtraction is tied to which value exploded rather than just simply exploding. So the quoted expression would look like this in such cases: (2-96+59)+15=50 or (2-96+4)+15=-90 . So perhaps there also would be need some sort of argument for differentiating those two cases.

nagromnortara commented 4 years ago

(2-96+59)+15=50 or (2-96+4)+15=-90

Hmm... this is interesting, which system uses this kind of calculation?