treetrnk / rollem-telegram-bot

🎲 An RPG dice rolling bot for Telegram.
https://telegram.me/rollembot
GNU Lesser General Public License v3.0
36 stars 19 forks source link

Selective results notation is not incorporated #26

Open TomasMFranco opened 5 years ago

TomasMFranco commented 5 years ago

There is currently no way to do advantage or disadvantage automatically (AFAIK), so incorporating a notation of AdX(kY) -> keeps the top Y rolls and AdX(klY)-> keeps the bottom Y rolls or something like that would be a great addition, for simplicity using H and L rather than K and KL is also an option.

WIKI: https://en.wikipedia.org/wiki/Dice_notation

Some games extend the standard notation to AdX(kY)+B where, in addition to the above, Y is the number of dice kept ("k") from the roll. Whether the dice omitted are the highest, lowest, or the player's choice depends on the game in question. 7th Sea and Legend of the Five Rings use only 10-sided dice, with notation of the form 8k6, meaning "Roll eight ten-sided dice, keep the highest six, and sum them." Although using a Roll and keep system, Cortex Plus games all use roll all the dice of different sizes and keep two (normally the two best) although a Plot Point may be spent to keep an additional dice, and some abilities let you keep a third automatically.

An alternative notation used by the OpenRoleplaying.org die roller allows the use of a plus or minus followed by "L" or "H" instead of the modifier B, to denote dropping or re-adding the lowest or highest roll on a single die, as in 4d6−L, which means roll 4 times a 6-sided dice and drop the lowest value,respectively.[11]

treetrnk commented 3 years ago

I just added this in with commit e60a497. I implemented it a little differently, opting for the L and H version, but there is no dash separating them from the dice notation since I already have the dash interpreted as a minus sign. So now, to roll with advantage, you would roll /r 2d20H and disadvantage would be /r 2d20L.

I realize this doesn't cover all of the games you mentioned, but I am doing this in my free time and I believe this change will be beneficial for the greatest number of users. Plus, you can do all of the things you mentioned manually since all of the rolls are listed in the output. I may choose to change how this works or improve the "keep" system in the future, but this is what I have for now. Anyone else is welcome to contribute as well. Hope that helps!

TomasMFranco commented 3 years ago

Thanks

On Fri, Mar 12, 2021, 8:28 AM Houston Hare @.***> wrote:

I just added this in with commit 63452ba https://github.com/treetrnk/rollem-telegram-bot/commit/63452bab404d8bc1b9f97d6904ddb643f1fe8319. I implemented it a little differently, opting for the L and H version, but there is no dash separating them from the dice notation since I already have the dash interpreted as a minus sign. So now, to roll with advantage, you would roll 2d20h and disadvantage would be 2d20l.

I realize this doesn't cover all of the games you mentioned, but I am doing this in my free time and I believe this change will be beneficial for the greatest number of users. I may choose to change how this works or improve the "keep" system in the future, but this is what I have for now. Anyone else is welcome to contribute changes as well. Hope that helps!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/treetrnk/rollem-telegram-bot/issues/26#issuecomment-797601488, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH3ITIBKMTPBSYVBQ7SKW4TTDIXIDANCNFSM4I3I2HNQ .

ogalisteo commented 3 years ago

Hi, I recently joined gitHub while I found yout bot looking for Savage Words rolls, and I find the L and H options very interesting, but cannot use it with simultaneously different type of dice rolls; I mean, a typical SW roll is: d8! (Trait dice; it could be d4, d6, d8, 10 or d12) and d6! (Savage dice) -both can explode- but keep only higher. is there a way I haven't see to roll different dice with H option, or isnt supported yet? thank you for your time,

DzyubSpirit commented 1 year ago

I believe Savage World rolls with different dice are not implemented. I think the simplest syntax would be d8!+d6!-L -> I can look into implementing it