From 18e0ad1dfb40f7834a59147da5c5da1cf5eb342a Mon Sep 17 00:00:00 2001 From: Mez Date: Fri, 1 Aug 2025 20:08:28 +0100 Subject: [PATCH] Base art shop function on real wantlist --- tools.py | 849 +++++++++---------------------------------------------- 1 file changed, 140 insertions(+), 709 deletions(-) diff --git a/tools.py b/tools.py index dc777e7..d33b9ae 100644 --- a/tools.py +++ b/tools.py @@ -416,7 +416,7 @@ def switchit(): browntrade = [] greytrade = [] for card in colors.cardlist: - if card["priority"] == 4: + if card["priority"] == 4 and card["dupe"] == False: if card["colour"] == "red": redtrade.append(card["name"]) elif card["colour"] == "orange": @@ -698,7 +698,7 @@ def studio(): tradenormal = [] tradespecial = [] for card in colors.cardlist: - if card["priority"] == 4: + if card["priority"] == 4 and card["dupe"] == False: if card["colour"] != "sig" and card["colour"] != "limited": if card["dupe"]: if len(card["mass"]) == 0: @@ -841,673 +841,104 @@ def randoms(specials=False): print("Too many cards requested") def artshop(): - hpred = [] - mpred = [] - lpred = [] - hporange = [] - mporange = [] - lporange = [] - hpyellow = [] - mpyellow = [] - lpyellow = [] - hpgreen = [] - mpgreen = [] - lpgreen = [] - hpblue = [] - mpblue = [] - lpblue = [] - hppurple = [] - mppurple = [] - lppurple = [] - hpbrown = [] - mpbrown = [] - lpbrown = [] - hpgrey = [] - mpgrey = [] - lpgrey = [] - for deck in colors.decklist: - if not deck["mastered"]: - if deck["colour"] == "red": - if deck["priority"] == 1: - hpred.append(deck) - elif deck["priority"] == 2: - mpred.append(deck) - elif deck["priority"] == 3: - lpred.append(deck) - elif deck["colour"] == "orange": - if deck["priority"] == 1: - hporange.append(deck) - elif deck["priority"] == 2: - mporange.append(deck) - elif deck["priority"] == 3: - lporange.append(deck) - elif deck["colour"] == "yellow": - if deck["priority"] == 1: - hpyellow.append(deck) - elif deck["priority"] == 2: - mpyellow.append(deck) - elif deck["priority"] == 3: - lpyellow.append(deck) - elif deck["colour"] == "green": - if deck["priority"] == 1: - hpgreen.append(deck) - elif deck["priority"] == 2: - mpgreen.append(deck) - elif deck["priority"] == 3: - lpgreen.append(deck) - elif deck["colour"] == "blue": - if deck["priority"] == 1: - hpblue.append(deck) - elif deck["priority"] == 2: - mpblue.append(deck) - elif deck["priority"] == 3: - lpblue.append(deck) - elif deck["colour"] == "purple": - if deck["priority"] == 1: - hppurple.append(deck) - elif deck["priority"] == 2: - mppurple.append(deck) - elif deck["priority"] == 3: - lppurple.append(deck) - elif deck["colour"] == "brown": - if deck["priority"] == 1: - hpbrown.append(deck) - elif deck["priority"] == 2: - mpbrown.append(deck) - elif deck["priority"] == 3: - lpbrown.append(deck) - elif deck["colour"] == "gray": - if deck["priority"] == 1: - hpgrey.append(deck) - elif deck["priority"] == 2: - mpgrey.append(deck) - elif deck["priority"] == 3: - lpgrey.append(deck) wantred = [] - wantred.extend(sorted(hpred, key=lambda d: d["count"],reverse=True)) - wantred.extend(sorted(mpred, key=lambda d: d["count"],reverse=True)) - wantred.extend(sorted(lpred, key=lambda d: d["count"],reverse=True)) wantorange = [] - wantorange.extend(sorted(hporange, key=lambda d: d["count"],reverse=True)) - wantorange.extend(sorted(mporange, key=lambda d: d["count"],reverse=True)) - wantorange.extend(sorted(lporange, key=lambda d: d["count"],reverse=True)) wantyellow = [] - wantyellow.extend(sorted(hpyellow, key=lambda d: d["count"],reverse=True)) - wantyellow.extend(sorted(mpyellow, key=lambda d: d["count"],reverse=True)) - wantyellow.extend(sorted(lpyellow, key=lambda d: d["count"],reverse=True)) wantgreen = [] - wantgreen.extend(sorted(hpgreen, key=lambda d: d["count"],reverse=True)) - wantgreen.extend(sorted(mpgreen, key=lambda d: d["count"],reverse=True)) - wantgreen.extend(sorted(lpgreen, key=lambda d: d["count"],reverse=True)) wantblue = [] - wantblue.extend(sorted(hpblue, key=lambda d: d["count"],reverse=True)) - wantblue.extend(sorted(mpblue, key=lambda d: d["count"],reverse=True)) - wantblue.extend(sorted(lpblue, key=lambda d: d["count"],reverse=True)) wantpurple = [] - wantpurple.extend(sorted(hppurple, key=lambda d: d["count"],reverse=True)) - wantpurple.extend(sorted(mppurple, key=lambda d: d["count"],reverse=True)) - wantpurple.extend(sorted(lppurple, key=lambda d: d["count"],reverse=True)) wantbrown = [] - wantbrown.extend(sorted(hpbrown, key=lambda d: d["count"],reverse=True)) - wantbrown.extend(sorted(mpbrown, key=lambda d: d["count"],reverse=True)) - wantbrown.extend(sorted(lpbrown, key=lambda d: d["count"],reverse=True)) wantgrey = [] - wantgrey.extend(sorted(hpgrey, key=lambda d: d["count"],reverse=True)) - wantgrey.extend(sorted(mpgrey, key=lambda d: d["count"],reverse=True)) - wantgrey.extend(sorted(lpgrey, key=lambda d: d["count"],reverse=True)) + for card in colors.wantedlist: + if card["colour"] == "red": + wantred.append(card) + elif card["colour"] == "orange": + wantorange.append(card) + elif card["colour"] == "yellow": + wantyellow.append(card) + elif card["colour"] == "green": + wantgreen.append(card) + elif card["colour"] == "blue": + wantblue.append(card) + elif card["colour"] == "purple": + wantpurple.append(card) + elif card["colour"] == "brown": + wantbrown.append(card) + elif card["colour"] == "gray": + wantgrey.append(card) requestcards = [] - redleft = colors.crayred - redspend = 0 - requestred = True - for deck in wantred: - if requestred == True: - if redleft >= 20 - deck["count"]: - if not deck["01"]: - redspend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - redspend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - redspend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - redspend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - redspend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - redspend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - redspend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - redspend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - redspend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - redspend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - redspend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - redspend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - redspend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - redspend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - redspend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - redspend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - redspend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - redspend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - redspend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - redspend += 1 - requestcards.append(deck["name"] + "20") - redleft -= redspend - else: - requestred = False - orangeleft = colors.crayorange - orangespend = 0 - requestorange = True - for deck in wantorange: - if requestorange == True: - if orangeleft >= 20 - deck["count"]: - if not deck["01"]: - orangespend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - orangespend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - orangespend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - orangespend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - orangespend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - orangespend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - orangespend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - orangespend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - orangespend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - orangespend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - orangespend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - orangespend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - orangespend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - orangespend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - orangespend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - orangespend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - orangespend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - orangespend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - orangespend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - orangespend += 1 - requestcards.append(deck["name"] + "20") - orangeleft -= orangespend - else: - requestorange = False - yellowleft = colors.crayyellow - yellowspend = 0 - requestyellow = True - for deck in wantyellow: - if requestyellow == True: - if yellowleft >= 20 - deck["count"]: - if not deck["01"]: - yellowspend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - yellowspend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - yellowspend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - yellowspend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - yellowspend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - yellowspend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - yellowspend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - yellowspend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - yellowspend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - yellowspend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - yellowspend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - yellowspend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - yellowspend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - yellowspend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - yellowspend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - yellowspend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - yellowspend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - yellowspend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - yellowspend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - yellowspend += 1 - requestcards.append(deck["name"] + "20") - yellowleft -= yellowspend - else: - requestyellow = False - greenleft = colors.craygreen - greenspend = 0 - requestgreen = True - for deck in wantgreen: - if requestgreen == True: - if greenleft >= 20 - deck["count"]: - if not deck["01"]: - greenspend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - greenspend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - greenspend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - greenspend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - greenspend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - greenspend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - greenspend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - greenspend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - greenspend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - greenspend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - greenspend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - greenspend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - greenspend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - greenspend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - greenspend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - greenspend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - greenspend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - greenspend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - greenspend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - greenspend += 1 - requestcards.append(deck["name"] + "20") - greenleft -= greenspend - else: - requestgreen = False - blueleft = colors.crayblue - bluespend = 0 - requestblue = True - for deck in wantblue: - if requestblue == True: - if blueleft >= 20 - deck["count"]: - if not deck["01"]: - bluespend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - bluespend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - bluespend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - bluespend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - bluespend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - bluespend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - bluespend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - bluespend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - bluespend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - bluespend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - bluespend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - bluespend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - bluespend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - bluespend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - bluespend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - bluespend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - bluespend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - bluespend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - bluespend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - bluespend += 1 - requestcards.append(deck["name"] + "20") - blueleft -= bluespend - else: - requestblue = False - purpleleft = colors.craypurple - purplespend = 0 - requestpurple = True - for deck in wantpurple: - if requestpurple == True: - if purpleleft >= 20 - deck["count"]: - if not deck["01"]: - purplespend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - purplespend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - purplespend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - purplespend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - purplespend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - purplespend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - purplespend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - purplespend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - purplespend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - purplespend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - purplespend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - purplespend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - purplespend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - purplespend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - purplespend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - purplespend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - purplespend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - purplespend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - purplespend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - purplespend += 1 - requestcards.append(deck["name"] + "20") - purpleleft -= purplespend - else: - requestpurple = False - brownleft = colors.craybrown - brownspend = 0 - requestbrown = True - for deck in wantbrown: - if requestbrown == True: - if brownleft >= 20 - deck["count"]: - if not deck["01"]: - brownspend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - brownspend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - brownspend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - brownspend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - brownspend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - brownspend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - brownspend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - brownspend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - brownspend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - brownspend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - brownspend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - brownspend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - brownspend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - brownspend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - brownspend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - brownspend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - brownspend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - brownspend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - brownspend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - brownspend += 1 - requestcards.append(deck["name"] + "20") - brownleft -= brownspend - else: - requestbrown = False - greyleft = colors.craygrey - greyspend = 0 - requestgrey = True - for deck in wantgrey: - if requestgrey == True: - if greyleft >= 20 - deck["count"]: - if not deck["01"]: - greyspend += 1 - requestcards.append(deck["name"] + "01") - if not deck["02"]: - greyspend += 1 - requestcards.append(deck["name"] + "02") - if not deck["03"]: - greyspend += 1 - requestcards.append(deck["name"] + "03") - if not deck["04"]: - greyspend += 1 - requestcards.append(deck["name"] + "04") - if not deck["05"]: - greyspend += 1 - requestcards.append(deck["name"] + "05") - if not deck["06"]: - greyspend += 1 - requestcards.append(deck["name"] + "06") - if not deck["07"]: - greyspend += 1 - requestcards.append(deck["name"] + "07") - if not deck["08"]: - greyspend += 1 - requestcards.append(deck["name"] + "08") - if not deck["09"]: - greyspend += 1 - requestcards.append(deck["name"] + "09") - if not deck["10"]: - greyspend += 1 - requestcards.append(deck["name"] + "10") - if not deck["11"]: - greyspend += 1 - requestcards.append(deck["name"] + "11") - if not deck["12"]: - greyspend += 1 - requestcards.append(deck["name"] + "12") - if not deck["13"]: - greyspend += 1 - requestcards.append(deck["name"] + "13") - if not deck["14"]: - greyspend += 1 - requestcards.append(deck["name"] + "14") - if not deck["15"]: - greyspend += 1 - requestcards.append(deck["name"] + "15") - if not deck["16"]: - greyspend += 1 - requestcards.append(deck["name"] + "16") - if not deck["17"]: - greyspend += 1 - requestcards.append(deck["name"] + "17") - if not deck["18"]: - greyspend += 1 - requestcards.append(deck["name"] + "18") - if not deck["19"]: - greyspend += 1 - requestcards.append(deck["name"] + "19") - if not deck["20"]: - greyspend += 1 - requestcards.append(deck["name"] + "20") - greyleft -= greyspend - else: - requestgrey = False + potentialred = [] + requestred = [] + potentialred.extend(wantred[:colors.crayred]) + for card in potentialred: + if card["name"][:-2] != wantred[colors.crayred]["name"][:-2]: + requestred.append(card) + if len(requestred) > 0: + for card in requestred: + requestcards.append(card["name"]) + potentialorange = [] + requestorange = [] + potentialorange.extend(wantorange[:colors.crayorange]) + for card in potentialorange: + if card["name"][:-2] != wantorange[colors.crayorange]["name"][:-2]: + requestorange.append(card) + if len(requestorange) > 0: + for card in requestorange: + requestcards.append(card["name"]) + potentialyellow = [] + requestyellow = [] + potentialyellow.extend(wantyellow[:colors.crayyellow]) + for card in potentialyellow: + if card["name"][:-2] != wantyellow[colors.crayyellow]["name"][:-2]: + requestyellow.append(card) + if len(requestyellow) > 0: + for card in requestyellow: + requestcards.append(card["name"]) + potentialgreen = [] + requestgreen = [] + potentialgreen.extend(wantgreen[:colors.craygreen]) + for card in potentialgreen: + if card["name"][:-2] != wantgreen[colors.craygreen]["name"][:-2]: + requestgreen.append(card) + if len(requestgreen) > 0: + for card in requestgreen: + requestcards.append(card["name"]) + potentialblue = [] + requestblue = [] + potentialblue.extend(wantblue[:colors.crayblue]) + for card in potentialblue: + if card["name"][:-2] != wantblue[colors.crayblue]["name"][:-2]: + requestblue.append(card) + if len(requestblue) > 0: + for card in requestblue: + requestcards.append(card["name"]) + potentialpurple = [] + requestpurple = [] + potentialpurple.extend(wantpurple[:colors.craypurple]) + for card in potentialpurple: + if card["name"][:-2] != wantpurple[colors.craypurple]["name"][:-2]: + requestpurple.append(card) + if len(requestpurple) > 0: + for card in requestpurple: + requestcards.append(card["name"]) + potentialbrown = [] + requestbrown = [] + potentialbrown.extend(wantbrown[:colors.craybrown]) + for card in potentialbrown: + if card["name"][:-2] != wantbrown[colors.craybrown]["name"][:-2]: + requestbrown.append(card) + if len(requestbrown) > 0: + for card in requestbrown: + requestcards.append(card["name"]) + potentialgrey = [] + requestgrey = [] + potentialgrey.extend(wantgrey[:colors.craygrey]) + for card in potentialgrey: + if card["name"][:-2] != wantgrey[colors.craygrey]["name"][:-2]: + requestgrey.append(card) + if len(requestgrey) > 0: + for card in requestgrey: + requestcards.append(card["name"]) tradecommon = list((Counter(colors.tradeout) & Counter(colors.tradein)).elements()) sketch = len(tradecommon) if sketch > 0: @@ -1524,36 +955,36 @@ def artshop(): shopstring += "Number of Sketchpads: " + str(sketchdifference) + "\nSketchpad Prize: prize " + str(variables.sketchprize) + "\n" if len(requestcards) > 0: shopstring += "Crayons: " - if redspend > 0: - shopstring += " x " + str(redspend) - if orangespend + yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestred) > 0: + shopstring += " x " + str(len(requestred)) + if len(requestorange) + len(requestyellow) + len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if orangespend > 0: - shopstring += " x " + str(orangespend) - if yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestorange) > 0: + shopstring += " x " + str(len(requestorange)) + if len(requestyellow) + len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if yellowspend > 0: - shopstring += " x " + str(yellowspend) - if greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestyellow) > 0: + shopstring += " x " + str(len(requestyellow)) + if len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if greenspend > 0: - shopstring += " x " + str(greenspend) - if bluespend + purplespend + brownspend + greyspend > 0: + if len(requestgreen) > 0: + shopstring += " x " + str(len(requestgreen)) + if len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if bluespend > 0: - shopstring += " x " + str(bluespend) - if purplespend + brownspend + greyspend > 0: + if len(requestblue) > 0: + shopstring += " x " + str(len(requestblue)) + if len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if purplespend > 0: - shopstring += " x " + str(purplespend) - if brownspend + greyspend > 0: + if len(requestpurple) > 0: + shopstring += " x " + str(len(requestpurple)) + if len(requestbrown) + len(requestgrey) > 0: shopstring += ", " - if brownspend > 0: - shopstring += " x " + str(brownspend) - if greyspend > 0: + if len(requestbrown) > 0: + shopstring += " x " + str(len(requestbrown)) + if len(requestgrey) > 0: shopstring += ", " - if greyspend > 0: - shopstring += " x " + str(greyspend) + if len(requestgrey) > 0: + shopstring += " x " + str(len(requestgrey)) shopstring += "\n" if sketchdifference > 0: shopstring += "Sketchpads:\n x " + str(sketchdifference) @@ -1562,36 +993,36 @@ def artshop(): shoplog = "\n{\"event\":\"art shop\",\"date\":datetime.datetime(" + datetime.datetime.now().strftime("%Y,%-m,%-d") + "),\"url\":\"" + shopurl + "\"" if len(requestcards) > 0: shoplog += ",\"pend\":[\"" + "\",\"".join(requestcards) + "\"],\"crayons\":{" - if redspend > 0: - shoplog += "\"red\":-" + str(redspend) - if orangespend + yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestred) > 0: + shoplog += "\"red\":-" + str(len(requestred)) + if len(requestorange) + len(requestyellow) + len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if orangespend > 0: - shoplog += "\"orange\":-" + str(orangespend) - if yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestorange) > 0: + shoplog += "\"orange\":-" + str(len(requestorange)) + if len(requestyellow) + len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if yellowspend > 0: - shoplog += "\"yellow\":-" + str(yellowspend) - if greenspend + bluespend + purplespend + brownspend + greyspend > 0: + if len(requestyellow) > 0: + shoplog += "\"yellow\":-" + str(len(requestyellow)) + if len(requestgreen) + len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if greenspend > 0: - shoplog += "\"green\":-" + str(greenspend) - if bluespend + purplespend + brownspend + greyspend > 0: + if len(requestgreen) > 0: + shoplog += "\"green\":-" + str(len(requestgreen)) + if len(requestblue) + len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if bluespend > 0: - shoplog += "\"blue\":-" + str(bluespend) - if purplespend + brownspend + greyspend > 0: + if len(requestblue) > 0: + shoplog += "\"blue\":-" + str(len(requestblue)) + if len(requestpurple) + len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if purplespend > 0: - shoplog += "\"purple\":-" + str(purplespend) - if brownspend + greyspend > 0: + if len(requestpurple) > 0: + shoplog += "\"purple\":-" + str(len(requestpurple)) + if len(requestbrown) + len(requestgrey) > 0: shoplog += "," - if brownspend > 0: - shoplog += "\"brown\":-" + str(brownspend) - if greyspend > 0: + if len(requestbrown) > 0: + shoplog += "\"brown\":-" + str(len(requestbrown)) + if len(requestgrey) > 0: shoplog += "," - if greyspend > 0: - shoplog += "\"gray\":-" + str(greyspend) + if len(requestgrey) > 0: + shoplog += "\"gray\":-" + str(len(requestgrey)) shoplog += "}" if sketchdifference > 0: shoplog += ",\"sketch\":-" + str(sketchdifference) @@ -1863,7 +1294,7 @@ def maketrade(): found = True if randoms: for card in colors.cardlist: - if card["priority"] == 4: + if card["priority"] == 4 and card["dupe"] == False: if card not in theirwantlist: if card["colour"] == "special": randomsp.append(card["name"]) @@ -2153,7 +1584,7 @@ if __name__ == "__main__": index = 0 # adapted from https://stackoverflow.com/a/64536882 indexValidList = [] print("Choose from the list:") - options = ["Get a list of potential cards to trade in for Riku’s Favors","Generate next palette portfolio","Generate next monochrome portfolio","Generate Switch It Up request","Generate Swap Station request","Generate Go Fish comment","Generate Release Roulette comment","Generate art shop request","Generate art studio request","Check a trade offer","Propose a trade","Get a list of random cards from tradepile (excluding specials)","Get a list of random cards from tradepile (including specials)","Check a card in the collection","Check details of a deck","See decks mastered today","See some statistics about the collection"] + options = ["Generate next palette portfolio","Generate next monochrome portfolio","Generate Switch It Up request","Generate Swap Station request","Generate Go Fish comment","Generate Release Roulette comment","Generate Riku’s Favors comment","Generate art shop request","Generate art studio request","Check a trade offer","Propose a trade","Get a list of random cards from tradepile (excluding specials)","Get a list of random cards from tradepile (including specials)","Check a card in the collection","Check details of a deck","See decks mastered today","See some statistics about the collection"] for optionName in options: index = index + 1 indexValidList.extend([options.index(optionName)]) @@ -2169,7 +1600,7 @@ if __name__ == "__main__": else: print("Select a number from the list") chosen = options[selected] - if chosen == "Get a list of potential cards to trade in for Riku’s Favors": + if chosen == "Generate Riku’s Favors comment": newriku() elif chosen == "Generate next palette portfolio": nextportfolio()