making the roll method nicer, now supports addition and splits on d

This commit is contained in:
Luke Robles 2020-06-20 15:42:18 -07:00
parent e4a9cb8378
commit 2137f1c159
2 changed files with 18 additions and 6 deletions

View File

@ -4,7 +4,7 @@ from random import randint
def roll_logic(sides): def roll_logic(sides):
return randint(1, sides) return randint(1, sides)
def roll(number_of_die, sides): def roll(number_of_die, sides, number_to_add=None):
results = list(tuple(roll_logic(int(sides)) for _ in range(int(number_of_die)))) results = list(tuple(roll_logic(int(sides)) for _ in range(int(number_of_die))))
# blue # blue
@ -21,9 +21,19 @@ def roll(number_of_die, sides):
embed = discord.Embed(description=None, color=embed_color, type="rich") embed = discord.Embed(description=None, color=embed_color, type="rich")
embed.set_author(name="Rolling %s %s sided die" % (number_of_die, sides)) embed.set_author(name="Rolling %s %s sided die" % (number_of_die, sides))
embed.add_field(name="**Total**", value=":game_die: %s" % results) embed.add_field(name='Rolls', value=results, inline=False)
embed.add_field(name="**Total**", value=sum(results)) if number_to_add:
embed.add_field(name="**Total**", value=":game_die: %s+%s = %s" % (sum(results), number_to_add, (sum(results) + number_to_add)), inline=False)
else:
embed.add_field(name="**Total**", value=":game_die: %s" % sum(results), inline=False)
return embed return embed
def parse_message(message): def parse_message(message):
return roll(message.split()[1], message.split()[2]) message = ' '.join(message.split()[1:])
if '+' in message:
try:
number_to_add = int(message.split('+')[-1])
return roll(message.split('d')[0], message.split('d')[1].split('+')[0], number_to_add)
except ValueError:
return "Could not add %s to the total roll"
return roll(message.split('d')[0], message.split('d')[1])

View File

@ -129,8 +129,10 @@ def get_help_message(method):
'Usage: !quake <player name>' 'Usage: !quake <player name>'
], ],
'roll': [ 'roll': [
'Rolls N number of Y sided die\n' 'Rolls N number of Y sided die\n',
'Usage: !roll 3 20' 'Usage: !roll 3d20\n',
'You can also add a modifier on the end with a +',
'Usage: !roll 2d20+5'
], ],
'smug': [ 'smug': [
'Returns the URL for smug anime girl' 'Returns the URL for smug anime girl'