Humblemonk / DiceMaiden

Dice bot for Discord
Apache License 2.0
125 stars 56 forks source link

Drop/Keep breaks with multiple dice types #103

Closed ThatGuyWhatsMadeofCheese closed 4 years ago

ThatGuyWhatsMadeofCheese commented 4 years ago

Describe the bug When attempting to roll different dice, and keep the highest, keep doesn't work. Same with drop.

To Reproduce !roll 1d8 + 1d10 k1 or !roll 1d6 + 1d4 d1 Expected behavior Should result in just the highest result, and not the results added together.

Screenshots If applicable, add screenshots to help explain your problem. image

Additional context Add any other context about the problem here. If resolved #15 will be one step closer to done.

Humblemonk commented 4 years ago

So this is working as intended. Lets break down one of your example rolls: 1d6+1d8 k1 1d6 = roll one 6 sided die and keep the result +1d8 = roll one 8 sided die and add it to the result of the d6 result k1 = keep 1 die from the 8 side die roll. Since there is only one die being rolled here, the bot will ignore the value.

Now if you did the following roll:

!roll 1d6+2d8 k1

You would get the following result:

[8:29 PM] Humblemonk: !roll 1d6+2d8 k1 [8:29 PM] dice maiden - dogfood: Humblemonk Roll: [1][6, 1] Result: 7

Since two dice were rolled for the d8, the keep command was not ignored and the highest die was chosen and kept.

Utilizing a math operator will separate the dice pool. The K command will not be able to check between these boundaries.