✨ PEP in utils
This commit is contained in:
72
gwendolyn/funcs/star_wars_funcs/star_wars_destiny.py
Normal file
72
gwendolyn/funcs/star_wars_funcs/star_wars_destiny.py
Normal file
@ -0,0 +1,72 @@
|
||||
class StarWarsDestiny():
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
|
||||
def destinyNew(self, num : int):
|
||||
self.bot.log("Creating a new destiny pool with "+str(num)+" players")
|
||||
roll, diceResults = self.bot.star_wars.roll.roll(0,0,0,0,0,0,num)
|
||||
roll = "".join(sorted(roll))
|
||||
|
||||
with open("gwendolyn/resources/star_wars/destinyPoints.txt","wt") as f:
|
||||
f.write(roll)
|
||||
|
||||
return "Rolled for Destiny Points and got:\n"+self.bot.star_wars.roll.diceResultToEmoji(diceResults)+"\n"+self.bot.star_wars.roll.resultToEmoji(roll)
|
||||
|
||||
def destinyUse(self, user : str):
|
||||
with open("gwendolyn/resources/star_wars/destinyPoints.txt","rt") as f:
|
||||
points = f.read()
|
||||
|
||||
if user == "Nikolaj":
|
||||
self.bot.log("Trying to use a dark side destiny point")
|
||||
if 'B' in points:
|
||||
points = points.replace("B","L",1)
|
||||
points = "".join(sorted(points))
|
||||
with open("gwendolyn/resources/star_wars/destinyPoints.txt","wt") as f:
|
||||
f.write(points)
|
||||
self.bot.log("Did it")
|
||||
return "Used a dark side destiny point. Destiny pool is now:\n"+self.bot.star_wars.roll.resultToEmoji(points)
|
||||
else:
|
||||
self.bot.log("There were no dark side destiny points")
|
||||
return "No dark side destiny points"
|
||||
else:
|
||||
self.bot.log("Trying to use a light side destiny point")
|
||||
if 'L' in points:
|
||||
points = points.replace("L","B",1)
|
||||
points = "".join(sorted(points))
|
||||
with open("gwendolyn/resources/star_wars/destinyPoints.txt","wt") as f:
|
||||
f.write(points)
|
||||
self.bot.log("Did it")
|
||||
return "Used a light side destiny point. Destiny pool is now:\n"+self.bot.star_wars.roll.resultToEmoji(points)
|
||||
else:
|
||||
self.bot.log("There were no dark side destiny points")
|
||||
return "No light side destiny points"
|
||||
|
||||
async def parseDestiny(self, ctx, cmd : str):
|
||||
user = f"#{ctx.author.id}"
|
||||
if cmd != "":
|
||||
while cmd[0] == ' ':
|
||||
cmd = cmd[1:]
|
||||
if cmd == "":
|
||||
break
|
||||
|
||||
if cmd == "":
|
||||
self.bot.log("Retrieving destiny pool info")
|
||||
with open("gwendolyn/resources/star_wars/destinyPoints.txt","rt") as f:
|
||||
sendMessage = self.bot.star_wars.roll.resultToEmoji(f.read())
|
||||
else:
|
||||
commands = cmd.upper().split(" ")
|
||||
if commands[0] == "N":
|
||||
if len(commands) > 1:
|
||||
sendMessage = self.destinyNew(int(commands[1]))
|
||||
else:
|
||||
sendMessage = "You need to give an amount of players (error code 921)"
|
||||
elif commands[0] == "U":
|
||||
sendMessage = self.destinyUse(user)
|
||||
else:
|
||||
sendMessage = "I didn't quite understand that (error code 922)"
|
||||
|
||||
messageList = sendMessage.split("\n")
|
||||
await ctx.send(messageList[0])
|
||||
if len(messageList) > 1:
|
||||
for messageItem in messageList[1:]:
|
||||
await ctx.channel.send(messageItem)
|
Reference in New Issue
Block a user