🗃️ Better modules and init files
This commit is contained in:
@ -677,113 +677,32 @@ def blackjackFinish(channel):
|
||||
data = json.load(f)
|
||||
|
||||
dealerValue = calcHandValue(data["blackjack games"][channel]["dealer hand"])
|
||||
reason = ""
|
||||
dealerBlackjack = data["blackjack games"][channel]["dealer blackjack"]
|
||||
dealerBusted = data["blackjack games"][channel]["dealer busted"]
|
||||
|
||||
for user in data["blackjack games"][channel]["user hands"]:
|
||||
winnings = -1 * data["blackjack games"][channel]["user hands"][user]["bet"]
|
||||
if data["blackjack games"][channel]["user hands"][user]["blackjack"] and data["blackjack games"][channel]["dealer blackjack"] == False:
|
||||
reason = "(blackjack)"
|
||||
winnings += math.floor(2.5 * data["blackjack games"][channel]["user hands"][user]["bet"])
|
||||
elif data["blackjack games"][channel]["dealer blackjack"]:
|
||||
reason += "(dealer blackjack)"
|
||||
elif data["blackjack games"][channel]["user hands"][user]["busted"]:
|
||||
reason = "(busted)"
|
||||
else:
|
||||
if data["blackjack games"][channel]["dealer busted"]:
|
||||
reason = "(dealer busted)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["hand"]) > dealerValue:
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["bet"]
|
||||
reason = "(highest value)"
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["hand"]) == dealerValue:
|
||||
reason = "(pushed)"
|
||||
winnings += data["blackjack games"][channel]["user hands"][user]["bet"]
|
||||
else:
|
||||
reason = "(highest value)"
|
||||
try:
|
||||
for user in data["blackjack games"][channel]["user hands"]:
|
||||
|
||||
|
||||
if data["blackjack games"][channel]["user hands"][user]["split"] > 0:
|
||||
winnings -= data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"]
|
||||
if data["blackjack games"][channel]["user hands"][user]["other hand"]["blackjack"] and data["blackjack games"][channel]["dealer blackjack"] == False:
|
||||
reason += "(blackjack)"
|
||||
winnings += math.floor(2.5 * data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"])
|
||||
elif data["blackjack games"][channel]["dealer blackjack"]:
|
||||
reason += "(dealer blackjack)"
|
||||
elif data["blackjack games"][channel]["user hands"][user]["other hand"]["busted"]:
|
||||
reason += "(busted)"
|
||||
else:
|
||||
if data["blackjack games"][channel]["dealer busted"]:
|
||||
reason += "(dealer busted)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["other hand"]["hand"]) > dealerValue:
|
||||
reason += "(highest value)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["other hand"]["hand"]) == dealerValue:
|
||||
reason += "(pushed)"
|
||||
winnings += data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"]
|
||||
try:
|
||||
winnings, netWinnings, reason = calcWinnings(data["blackjack games"][channel]["user hands"][user],dealerValue,True,dealerBlackjack,dealerBusted)
|
||||
except:
|
||||
logThis("Error calculating winnings for "+str(user)+" (error code 1312)")
|
||||
|
||||
if winnings < 0:
|
||||
if winnings == -1:
|
||||
finalWinnings += user+" lost "+str(-1 * winnings)+" GwendoBuck "+reason+"\n"
|
||||
else:
|
||||
reason += "(highest value)"
|
||||
|
||||
if data["blackjack games"][channel]["user hands"][user]["split"] > 1:
|
||||
winnings -= data["blackjack games"][channel]["user hands"][user]["third hand"]["bet"]
|
||||
if data["blackjack games"][channel]["user hands"][user]["third hand"]["blackjack"] and data["blackjack games"][channel]["dealer blackjack"] == False:
|
||||
reason += "(blackjack)"
|
||||
winnings += math.floor(2.5 * data["blackjack games"][channel]["user hands"][user]["third hand"]["bet"])
|
||||
elif data["blackjack games"][channel]["dealer blackjack"]:
|
||||
reason += "(dealer blackjack)"
|
||||
elif data["blackjack games"][channel]["user hands"][user]["third hand"]["busted"]:
|
||||
reason += "(busted)"
|
||||
else:
|
||||
if data["blackjack games"][channel]["dealer busted"]:
|
||||
reason += "(dealer busted)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["third hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["third hand"]["hand"]) > dealerValue:
|
||||
reason += "(highest value)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["third hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["third hand"]["hand"]) == dealerValue:
|
||||
reason += "(pushed)"
|
||||
winnings += data["blackjack games"][channel]["user hands"][user]["third hand"]["bet"]
|
||||
else:
|
||||
reason += "(highest value)"
|
||||
|
||||
if data["blackjack games"][channel]["user hands"][user]["split"] > 2:
|
||||
winnings -= data["blackjack games"][channel]["user hands"][user]["fourth hand"]["bet"]
|
||||
if data["blackjack games"][channel]["user hands"][user]["fourth hand"]["blackjack"] and data["blackjack games"][channel]["dealer blackjack"] == False:
|
||||
reason += "(blackjack)"
|
||||
winnings += math.floor(2.5 * data["blackjack games"][channel]["user hands"][user]["fourth hand"]["bet"])
|
||||
elif data["blackjack games"][channel]["dealer blackjack"]:
|
||||
reason += "(dealer blackjack)"
|
||||
elif data["blackjack games"][channel]["user hands"][user]["fourth hand"]["busted"]:
|
||||
reason += "(busted)"
|
||||
else:
|
||||
if data["blackjack games"][channel]["dealer busted"]:
|
||||
reason += "(dealer busted)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["fourth hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["fourth hand"]["hand"]) > dealerValue:
|
||||
reason += "(highest value)"
|
||||
winnings += 2 * data["blackjack games"][channel]["user hands"][user]["fourth hand"]["bet"]
|
||||
elif calcHandValue(data["blackjack games"][channel]["user hands"][user]["fourth hand"]["hand"]) == dealerValue:
|
||||
reason += "(pushed)"
|
||||
winnings += data["blackjack games"][channel]["user hands"][user]["fourth hand"]["bet"]
|
||||
else:
|
||||
reason += "(highest value)"
|
||||
|
||||
|
||||
|
||||
if winnings < 0:
|
||||
if winnings == -1:
|
||||
finalWinnings += user+" lost "+str(-1 * winnings)+" GwendoBuck "+reason+"\n"
|
||||
finalWinnings += user+" lost "+str(-1 * winnings)+" GwendoBucks "+reason+"\n"
|
||||
else:
|
||||
finalWinnings += user+" lost "+str(-1 * winnings)+" GwendoBucks "+reason+"\n"
|
||||
else:
|
||||
if winnings == 1:
|
||||
finalWinnings += user+" won "+str(winnings)+" GwendoBuck "+reason+"\n"
|
||||
else:
|
||||
finalWinnings += user+" won "+str(winnings)+" GwendoBucks "+reason+"\n"
|
||||
|
||||
netWinnings = winnings + data["blackjack games"][channel]["user hands"][user]["bet"] + data["blackjack games"][channel]["user hands"][user]["other hand"]["bet"]
|
||||
if winnings == 1:
|
||||
finalWinnings += user+" won "+str(winnings)+" GwendoBuck "+reason+"\n"
|
||||
else:
|
||||
finalWinnings += user+" won "+str(winnings)+" GwendoBucks "+reason+"\n"
|
||||
|
||||
money.addMoney(user,netWinnings)
|
||||
money.addMoney(user,netWinnings)
|
||||
|
||||
except:
|
||||
logThis("Error calculating winnings (error code 1311)")
|
||||
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
data = json.load(f)
|
||||
@ -794,3 +713,56 @@ def blackjackFinish(channel):
|
||||
json.dump(data,f,indent=4)
|
||||
|
||||
return finalWinnings
|
||||
|
||||
|
||||
def calcWinnings(hand, dealerValue, topLevel, dealerBlackjack, dealerBusted):
|
||||
logThis("Calculating winnings")
|
||||
reason = ""
|
||||
bet = hand["bet"]
|
||||
winnings = -1 * bet
|
||||
netWinnings = 0
|
||||
handValue = calcHandValue(hand["hand"])
|
||||
|
||||
if hand["blackjack"] and dealerBlackjack == False:
|
||||
reason += "(blackjack)"
|
||||
winnings += math.floor(2.5 * bet)
|
||||
netWinnings += math.floor(2.5 * bet)
|
||||
elif dealerBlackjack:
|
||||
reason += "(dealer blackjack)"
|
||||
elif hand["busted"]:
|
||||
reason += "(busted)"
|
||||
else:
|
||||
if dealerBusted:
|
||||
reason = "(dealer busted)"
|
||||
winnings += 2 * bet
|
||||
netWinnings += 2 * bet
|
||||
elif handValue > dealerValue:
|
||||
winnings += 2 * bet
|
||||
netWinnings += 2 * bet
|
||||
reason = "(highest value)"
|
||||
elif handValue == dealerValue:
|
||||
reason = "(pushed)"
|
||||
winnings += bet
|
||||
netWinnings += bet
|
||||
else:
|
||||
reason = "(highest value)"
|
||||
|
||||
|
||||
if topLevel:
|
||||
if hand["split"] >= 1:
|
||||
winningsTemp, netWinningsTemp, reasonTemp = calcWinnings(hand["other hand"],dealerValue,False,dealerBlackjack,dealerBusted)
|
||||
winnings += winningsTemp
|
||||
netWinnings += netWinningsTemp
|
||||
reason += reasonTemp
|
||||
if hand["split"] >= 2:
|
||||
winningsTemp, netWinningsTemp, reasonTemp = calcWinnings(hand["third hand"],dealerValue,False,dealerBlackjack,dealerBusted)
|
||||
winnings += winningsTemp
|
||||
netWinnings += netWinningsTemp
|
||||
reason += reasonTemp
|
||||
if hand["split"] >= 3:
|
||||
winningsTemp, netWinningsTemp, reasonTemp = calcWinnings(hand["fourth hand"],dealerValue,False,dealerBlackjack,dealerBusted)
|
||||
winnings += winningsTemp
|
||||
netWinnings += netWinningsTemp
|
||||
reason += reasonTemp
|
||||
|
||||
return winnings, netWinnings, reason
|
Reference in New Issue
Block a user