async def coinflip(self, ctx, *args): datautils.insertNewUser(self.users, ctx.author, False) u = self.users[ctx.author.id] if (str(args[0])[0].upper() == 'H' or str(args[0])[0].upper() == 'T'): canAfford = True if args[1] == 'max': bet = u.money elif u.money < int(args[1]): tosend = "you don't have enough money" canAfford = False else: bet = int(args[1]) if canAfford: coin = random.randint(0,1) response = ["heads", "tails"] tosend = "you bet $"+str(bet)+"\ncoin landed on " + response[coin] if (str(args[0])[0].upper() == 'H' and coin == 0) or (str(args[0])[0].upper() == 'T' and coin == 1): u.addMoney(bet) tosend += "\n**you won $" + str(bet) + "**" else: u.addMoney(-1*bet) tosend+="\nyou lost... heh..." else: tosend = "use $coinflip [h/t] [bet] ya f****n dingus" datautils.saveUserData(self.users) await ctx.send(embed=messageutils.makeEmbed(ctx, tosend))
async def buy(self, ctx, quant, *, name): datautils.insertNewUser(self.users, ctx.author, False) u = self.users[ctx.author.id] drugs = parseJSON("drugs") for drug in drugs: for d in drugs[drug]: if name.upper() == d['name'].upper(): if (quant == "max"): tobuy = u.money // int(d["price"]) else: tobuy = int(quant) if u.money >= tobuy * int(d["price"]) and tobuy > 0: u.addMoney(-tobuy * int(d["price"])) u.addDrug(drug, str(d["tier"]), tobuy) datautils.saveUserData(self.users) await ctx.send(embed=messageutils.makeEmbed( ctx, "you bought {:,}".format(tobuy) + " Gs for ${:,}".format(tobuy * int(d["price"])) + "\nyou now have {:,}".format(u.drugs[drug][str( d["tier"])]) + " Gs\nyou now have ${:,}".format(u.money))) else: await ctx.send(embed=messageutils.makeEmbed( ctx, "you can't afford that")) break
async def rap(self, ctx): datautils.insertNewUser(self.users, ctx.author, False) u = self.users[ctx.author.id] cd = self.cd(ctx, u.bestTierOfDrug('stims')) if (cd == None): u.addMoney(u.moneyPerShow) await ctx.send(embed=messageutils.makeEmbed( ctx, 'You rap really good.\ngained ${:,}'.format( u.moneyPerShow))) datautils.saveUserData(self.users) else: await ctx.send(cd)
async def produce(self, ctx): datautils.insertNewUser(self.users, ctx.author, False) u = self.users[ctx.author.id] cd = self.cd(ctx, u.bestTierOfDrug('stims')) if (cd == None): if u.hasDrug('weed'): best = u.bestTierOfDrug('weed') improve = random.randint(0, 100) banger = random.randint(0, 100) insane = random.randint(0, 100) total = 0 if (improve + best) >= 90: total += (best + 1) tosend = ("you smoke a G of " + getNameOfStrainFromTier(best) + "\nyou make a good song. +${:,}".format(total) + " per show") if (banger + best) >= 99: total += ((best + 1) * 7) tosend = ( "you smoke a G of " + getNameOfStrainFromTier(best) + "\nthat " + getNameOfStrainFromTier(best) + " hit just right and you make an absolute banger. +${:,}" .format(total) + " per show") if (insane + best) >= 200: total += (best * best) tosend = ( "you smoke a G of " + getNameOfStrainFromTier(best) + "\nyou make one of the greatest songs of all time off that " + getNameOfStrainFromTier(best) + ". +${:,}".format(total) + " per show") u.addDrug('weed', str(best), -1) if total == 0: tosend = ("you smoke a G of " + getNameOfStrainFromTier(best) + "\nyou don't make anything worthwhile") if (u.drugs['weed'][str(best)] == 0): tosend += ("\nyou ran out of " + getNameOfStrainFromTier(best) + ".") u.improveMusic(total) datautils.saveUserData(self.users) await ctx.send(embed=messageutils.makeEmbed(ctx, tosend)) elif not u.hasDrug('weed'): await ctx.send(embed=messageutils.makeEmbed( ctx, "you can't produce unless you have weed")) else: await ctx.send(cd)
def setup(bot): if not os.path.exists(datautils.USER_DATA_PATH): datautils.saveUserData({}) bot.add_cog(Gambling(bot))