ArtemGr / Sidekick

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

[Feature Request] Ordering/Filtering roll results #222

Open SUTempest opened 4 years ago

SUTempest commented 4 years ago

On the game I run and maintain on our community, we make heavy use of /r repeat (xdy, z, brief) for many things, most importantly attack rolls (one 2d6 per shot or swing).

Because of how accuracy works in our game, features that would save us a lot of time would be ordering or filtering the results.

A normal, non-ordered roll currently looks like this:

User:
/r repeat (2d6, 10, brief)

Sidekick:
@User:  repeat (2d6, 10, brief) = 7, 9, 8, 6, 5, 10, 2, 6, 7, 9

A mock-up of what I'd like ordering to look like:

User:
/r repeat (2d6, 10, brief, ordered)

Sidekick:
@User:  repeat (2d6, 10, brief, ordered) = 2, 5, 6, 6, 7, 7, 8, 9, 9, 10

This would allow me (and players in general) to have a far better idea of how many hits they've made with their particular weapon or attack, especially if there's many shots involved (the rule of one shot = one 2d6 does mean that we throw a LOT of dice over a typical session...)

If possible at all, filtering out certain values would be even better, as it would allow us to leave out what we consider to be misses.

Perhaps this could work by expressing a range, e.g. 3:6, or by using < > <= >= =.

Mock-ups of what I'd like filtering to look like:

User:
/r repeat (2d6, 10, brief, filter 3:6)

Sidekick:
@User:  repeat (2d6, 10, brief, filter 3:6) = 2, 7, 7, 8, 9, 9, 10
User:
/r repeat (2d6, 10, brief, filter <=8)

Sidekick:
@User:  repeat (2d6, 10, brief, filter <=8) = 9, 9, 10

I realize that my suggestions may not be terribly efficient, but they would make our jobs a lot easier.

infni commented 4 years ago

Yes. I also want this feature. I run the Whispering Vault game, who has very unique skill tallying system, I need to know how many of each die was rolled, as the sum of a single number can be your greatest roll.

The example you provided would be a great addition.

User:
/r repeat (1d6, 10, brief, ordered)

Sidekick:
@User:  repeat (1d6, 10, brief, ordered) = 1, 1, 2, 3, 4, 4, 5, 5, 5, 6

In this example, the roll total ends up being 15 (the highest total of similar dice). Ordering the dice can achieve this easiest.

EDIT: THe /r ova (10) feature meets my needs. = (6+6+5+5+4+4+4+4+2+1) = 16