1651 lines
69 KiB
Python
1651 lines
69 KiB
Python
import datetime,random,math
|
||
from collections import Counter
|
||
import colors,log,variables
|
||
|
||
def dupes(mass=True,nonmass=True,characters=True,specials=True):
|
||
dupeslist = []
|
||
previouscard = ""
|
||
for card in colors.cardlist:
|
||
try:
|
||
if card["colour"] != "sig" and card ["colour"] != "limited":
|
||
if card["name"] == previouscard["name"]:
|
||
dupe = {}
|
||
dupe["name"] = card["name"]
|
||
if len(card["mass"]) > 0:
|
||
if mass:
|
||
dupe["mass"] = card["mass"]
|
||
if card["colour"] == "special":
|
||
if specials:
|
||
dupeslist.append(dupe)
|
||
else:
|
||
if characters:
|
||
dupeslist.append(dupe)
|
||
else:
|
||
if nonmass:
|
||
if card["colour"] == "special":
|
||
if specials:
|
||
dupeslist.append(dupe)
|
||
else:
|
||
if characters:
|
||
dupeslist.append(dupe)
|
||
except:
|
||
pass
|
||
previouscard = card
|
||
return dupeslist
|
||
|
||
def activitydupes():
|
||
print(dupes(False,True,True,False))
|
||
|
||
def riku():
|
||
print("Specials")
|
||
print(dupes(True,False,False,True))
|
||
print("Characters")
|
||
print(dupes(True,False,True,False))
|
||
|
||
def nextportfolio(monochrome=False):
|
||
goodtogo = True
|
||
useddecks = {}
|
||
already = 0
|
||
if monochrome:
|
||
for portfolio in colors.portfolios:
|
||
if portfolio["type"] == "monochrome":
|
||
already += 1
|
||
useddecks.update(portfolio["decks"])
|
||
else:
|
||
for portfolio in colors.portfolios:
|
||
if portfolio["type"] == "palette":
|
||
already += 1
|
||
useddecks.update(portfolio["decks"])
|
||
potentials = []
|
||
for deck in colors.decklist:
|
||
if deck["mastered"]:
|
||
if deck["colour"] != "special" and deck["colour"] != "limited":
|
||
potential = True
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
potential = False
|
||
if potential:
|
||
potentials.append(deck)
|
||
potentials = sorted(potentials, key=lambda d: d["mastered"])
|
||
if monochrome:
|
||
reddecks = []
|
||
orangedecks = []
|
||
yellowdecks = []
|
||
greendecks = []
|
||
bluedecks = []
|
||
purpledecks = []
|
||
browndecks = []
|
||
greydecks = []
|
||
for deck in potentials:
|
||
if deck["colour"] == "red":
|
||
reddecks.append(deck)
|
||
elif deck["colour"] == "orange":
|
||
orangedecks.append(deck)
|
||
elif deck["colour"] == "yellow":
|
||
yellowdecks.append(deck)
|
||
elif deck["colour"] == "green":
|
||
greendecks.append(deck)
|
||
elif deck["colour"] == "blue":
|
||
bluedecks.append(deck)
|
||
elif deck["colour"] == "purple":
|
||
purpledecks.append(deck)
|
||
elif deck["colour"] == "brown":
|
||
browndecks.append(deck)
|
||
elif deck["colour"] == "gray":
|
||
greydecks.append(deck)
|
||
longestvalue = len(reddecks)
|
||
nextportcolour = "red"
|
||
if len(orangedecks) > longestvalue:
|
||
nextportcolour = "orange"
|
||
if len(yellowdecks) > longestvalue:
|
||
nextportcolour = "yellow"
|
||
if len(greendecks) > longestvalue:
|
||
nextportcolour = "green"
|
||
if len(bluedecks) > longestvalue:
|
||
nextportcolour = "blue"
|
||
if len(purpledecks) > longestvalue:
|
||
nextportcolour = "purple"
|
||
if len(browndecks) > longestvalue:
|
||
nextportcolour = "brown"
|
||
if len(greydecks) > longestvalue:
|
||
nextportcolour = "grey"
|
||
firstthree = []
|
||
if nextportcolour == "red":
|
||
try:
|
||
firstthree.append(reddecks[0]["name"])
|
||
firstthree.append(reddecks[1]["name"])
|
||
firstthree.append(reddecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "orange":
|
||
try:
|
||
firstthree.append(orangedecks[0]["name"])
|
||
firstthree.append(orangedecks[1]["name"])
|
||
firstthree.append(orangedecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "yellow":
|
||
try:
|
||
firstthree.append(yellowdecks[0]["name"])
|
||
firstthree.append(yellowdecks[1]["name"])
|
||
firstthree.append(yellowdecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "green":
|
||
try:
|
||
firstthree.append(greendecks[0]["name"])
|
||
firstthree.append(greendecks[1]["name"])
|
||
firstthree.append(greendecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "blue":
|
||
try:
|
||
firstthree.append(bluedecks[0]["name"])
|
||
firstthree.append(bluedecks[1]["name"])
|
||
firstthree.append(bluedecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "purple":
|
||
try:
|
||
firstthree.append(purpledecks[0]["name"])
|
||
firstthree.append(purpledecks[1]["name"])
|
||
firstthree.append(purpledecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "brown":
|
||
try:
|
||
firstthree.append(browndecks[0]["name"])
|
||
firstthree.append(browndecks[1]["name"])
|
||
firstthree.append(browndecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
elif nextportcolour == "grey":
|
||
try:
|
||
firstthree.append(greydecks[0]["name"])
|
||
firstthree.append(greydecks[1]["name"])
|
||
firstthree.append(greydecks[2]["name"])
|
||
except:
|
||
goodtogo = False
|
||
if goodtogo:
|
||
secondfive = []
|
||
nearingdecks = sorted(colors.decklist, key=lambda d: d["count"],reverse=True)
|
||
slots = 5
|
||
for deck in nearingdecks:
|
||
if slots > 0:
|
||
try:
|
||
if not deck["mastered"]:
|
||
if nextportcolour == "grey":
|
||
if deck["colour"] == "gray":
|
||
secondfive.append(deck["name"])
|
||
slots -= 1
|
||
else:
|
||
if deck["colour"] == nextportcolour:
|
||
secondfive.append(deck["name"])
|
||
slots -= 1
|
||
except:
|
||
goodtogo = False
|
||
if goodtogo:
|
||
alleight = sorted(firstthree + secondfive)
|
||
else:
|
||
thereddeck = False
|
||
redmastered = False
|
||
theorangedeck = False
|
||
orangemastered = False
|
||
theyellowdeck = False
|
||
yellowmastered = False
|
||
thegreendeck = False
|
||
greenmastered = False
|
||
thebluedeck = False
|
||
bluemastered = False
|
||
thepurpledeck = False
|
||
purplemastered = False
|
||
thebrowndeck = False
|
||
brownmastered = False
|
||
thegreydeck = False
|
||
greymastered = False
|
||
sorteddecks = 0
|
||
for deck in potentials:
|
||
if sorteddecks < 3:
|
||
if deck["colour"] == "red" and thereddeck == False:
|
||
thereddeck = deck["name"]
|
||
redmastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "orange" and theorangedeck == False:
|
||
theorangedeck = deck["name"]
|
||
orangemastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "yellow" and theyellowdeck == False:
|
||
theyellowdeck = deck["name"]
|
||
yellowmastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "green" and thegreendeck == False:
|
||
thegreendeck = deck["name"]
|
||
greenmastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "blue" and thebluedeck == False:
|
||
thebluedeck = deck["name"]
|
||
bluemastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "purple" and thepurpledeck == False:
|
||
thepurpledeck = deck["name"]
|
||
purplemastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "brown" and thebrowndeck == False:
|
||
thebrowndeck = deck["name"]
|
||
brownmastered = True
|
||
sorteddecks += 1
|
||
elif deck["colour"] == "gray" and thegreydeck == False:
|
||
thegreydeck = deck["name"]
|
||
greymastered = True
|
||
sorteddecks += 1
|
||
nearingdecks = sorted(colors.decklist, key=lambda d: d["count"],reverse=True)
|
||
if thereddeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thereddeck == False:
|
||
if deck["colour"] == "red":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thereddeck = deck["name"]
|
||
if theorangedeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if theorangedeck == False:
|
||
if deck["colour"] == "orange":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
theorangedeck = deck["name"]
|
||
if theyellowdeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if theyellowdeck == False:
|
||
if deck["colour"] == "yellow":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
theyellowdeck = deck["name"]
|
||
if thegreendeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thegreendeck == False:
|
||
if deck["colour"] == "green":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thegreendeck = deck["name"]
|
||
if thebluedeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thebluedeck == False:
|
||
if deck["colour"] == "blue":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thebluedeck = deck["name"]
|
||
if thepurpledeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thepurpledeck == False:
|
||
if deck["colour"] == "purple":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thepurpledeck = deck["name"]
|
||
if thebrowndeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thebrowndeck == False:
|
||
if deck["colour"] == "brown":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thebrowndeck = deck["name"]
|
||
if thegreydeck == False:
|
||
for deck in nearingdecks:
|
||
if not deck["mastered"]:
|
||
if thegreydeck == False:
|
||
if deck["colour"] == "gray":
|
||
used = False
|
||
for key, value in useddecks.items():
|
||
if deck["name"] == key.replace(" ",""):
|
||
used = True
|
||
if used == False:
|
||
thegreydeck = deck["name"]
|
||
alleight = []
|
||
alleight.append(thereddeck)
|
||
alleight.append(theorangedeck)
|
||
alleight.append(theyellowdeck)
|
||
alleight.append(thegreendeck)
|
||
alleight.append(thebluedeck)
|
||
alleight.append(thepurpledeck)
|
||
alleight.append(thebrowndeck)
|
||
alleight.append(thegreydeck)
|
||
if goodtogo:
|
||
portcomment = "♥ <b>Your Name:</b> " + variables.name + "\n♥ <b>Card post:</b> " + variables.url + "\n♥ <b>"
|
||
if monochrome:
|
||
portcomment += "Monochrome"
|
||
else:
|
||
portcomment += "Palette"
|
||
portcomment += " Portfolio #:</b> " + str(already + 1) + "\n"
|
||
if monochrome:
|
||
portcomment += "♥ <b>Monochrome Color:</b> "
|
||
if nextportcolour == "grey":
|
||
if variables.british:
|
||
portcomment += "grey"
|
||
else:
|
||
portcomment += "gray"
|
||
else:
|
||
portcomment += nextportcolour
|
||
portcomment += "\n♥ <b>1st deck:</b> " + alleight[0]
|
||
if alleight[0] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>2nd deck:</b> " + alleight[1]
|
||
if alleight[1] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>3rd deck:</b> " + alleight[2]
|
||
if alleight[2] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>4th deck:</b> " + alleight[3]
|
||
if alleight[3] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>5th deck:</b> " + alleight[4]
|
||
if alleight[4] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>6th deck:</b> " + alleight[5]
|
||
if alleight[5] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>7th deck:</b> " + alleight[6]
|
||
if alleight[6] in firstthree:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>8th deck:</b> " + alleight[7]
|
||
if alleight[7] in firstthree:
|
||
portcomment += " (mastered)"
|
||
else:
|
||
try:
|
||
portcomment += "♥ <b>Red deck:</b> " + thereddeck
|
||
if redmastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Orange deck:</b> " + theorangedeck
|
||
if orangemastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Yellow deck:</b> " + theyellowdeck
|
||
if yellowmastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Green deck:</b> " + thegreendeck
|
||
if greenmastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Blue deck:</b> " + thebluedeck
|
||
if bluemastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Purple deck:</b> " + thepurpledeck
|
||
if purplemastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Brown deck:</b> " + thebrowndeck
|
||
if brownmastered:
|
||
portcomment += " (mastered)"
|
||
portcomment += "\n♥ <b>Gray deck:</b> " + thegreydeck
|
||
if greymastered:
|
||
portcomment += " (mastered)"
|
||
except:
|
||
goodtogo = False
|
||
if goodtogo:
|
||
print(portcomment)
|
||
porturl = input("\nPaste the comment URL here: ")
|
||
print("\n{\"event\":\"portfolio\",\"date\":datetime.datetime(" + datetime.datetime.now().strftime("%Y,%-m,%-d") + "),\"url\":\"" + porturl + "\",\"decks\":[\"" + alleight[0] + "\",\"" + alleight[1] + "\",\"" + alleight[2] + "\",\"" + alleight[3] + "\",\"" + alleight[4] + "\",\"" + alleight[5] + "\",\"" + alleight[6] + "\",\"" + alleight[7] + "\"]}")
|
||
else:
|
||
print("Master some more decks first")
|
||
|
||
def switchit():
|
||
wantedbypriority = sorted(colors.wantedlist, key=lambda d: d["priority"])
|
||
redtrade = []
|
||
orangetrade = []
|
||
yellowtrade = []
|
||
greentrade = []
|
||
bluetrade = []
|
||
purpletrade = []
|
||
browntrade = []
|
||
greytrade = []
|
||
for card in colors.cardlist:
|
||
if card["priority"] == 4:
|
||
if card["colour"] == "red":
|
||
redtrade.append(card["name"])
|
||
elif card["colour"] == "orange":
|
||
orangetrade.append(card["name"])
|
||
elif card["colour"] == "yellow":
|
||
yellowtrade.append(card["name"])
|
||
elif card["colour"] == "green":
|
||
greentrade.append(card["name"])
|
||
elif card["colour"] == "blue":
|
||
bluetrade.append(card["name"])
|
||
elif card["colour"] == "purple":
|
||
purpletrade.append(card["name"])
|
||
elif card["colour"] == "brown":
|
||
browntrade.append(card["name"])
|
||
elif card["colour"] == "gray":
|
||
greytrade.append(card["name"])
|
||
wantednames = []
|
||
for card in wantedbypriority:
|
||
wantednames.append(card["name"])
|
||
wantall = []
|
||
tradeall = []
|
||
reds = input("Paste red pile here: ").split(", ")
|
||
oranges = input("Paste orange pile here: ").split(", ")
|
||
yellows = input("Paste yellow pile here: ").split(", ")
|
||
greens = input("Paste green pile here: ").split(", ")
|
||
blues = input("Paste blue pile here: ").split(", ")
|
||
purples = input("Paste purple pile here: ").split(", ")
|
||
browns = input("Paste brown pile here: ").split(", ")
|
||
greys = input("Paste grey pile here: ").split(", ")
|
||
chaos = input("Paste chaos pile here: ").split(", ")
|
||
taken = input("Cards to remove: ").split(", ")
|
||
for card in taken:
|
||
if card in reds:
|
||
reds.remove(card)
|
||
elif card in oranges:
|
||
oranges.remove(card)
|
||
elif card in yellows:
|
||
yellows.remove(card)
|
||
elif card in greens:
|
||
greens.remove(card)
|
||
elif card in blues:
|
||
blues.remove(card)
|
||
elif card in purples:
|
||
purples.remove(card)
|
||
elif card in browns:
|
||
browns.remove(card)
|
||
elif card in greys:
|
||
greys.remove(card)
|
||
elif card in chaos:
|
||
chaos.remove(card)
|
||
wantreds = []
|
||
for card in reds:
|
||
if card in wantednames:
|
||
wantreds.append(card)
|
||
if len(wantreds) > 5:
|
||
wantreds = wantreds[:5]
|
||
if len(wantreds) > len(redtrade):
|
||
wantreds = wantreds[:len(redtrade)]
|
||
if len(wantreds) > 0:
|
||
wantall.extend(wantreds)
|
||
traderedscount = len(wantreds)
|
||
tradereds = []
|
||
tradereds.extend(random.sample(redtrade,len(wantreds)))
|
||
tradeall.extend(tradereds)
|
||
wantoranges = []
|
||
for card in oranges:
|
||
if card in wantednames:
|
||
wantoranges.append(card)
|
||
if len(wantoranges) > 5:
|
||
wantoranges = wantoranges[:5]
|
||
if len(wantoranges) > len(orangetrade):
|
||
wantoranges = wantoranges[:len(orangetrade)]
|
||
if len(wantoranges) > 0:
|
||
wantall.extend(wantoranges)
|
||
tradeorangescount = len(wantoranges)
|
||
tradeoranges = []
|
||
tradeoranges.extend(random.sample(orangetrade,len(wantoranges)))
|
||
tradeall.extend(tradeoranges)
|
||
wantyellows = []
|
||
for card in yellows:
|
||
if card in wantednames:
|
||
wantyellows.append(card)
|
||
if len(wantyellows) > 5:
|
||
wantyellows = wantyellows[:5]
|
||
if len(wantyellows) > len(yellowtrade):
|
||
wantyellows = wantyellows[:len(yellowtrade)]
|
||
if len(wantyellows) > 0:
|
||
wantall.extend(wantyellows)
|
||
tradeyellowscount = len(wantyellows)
|
||
tradeyellows = []
|
||
tradeyellows.extend(random.sample(yellowtrade,len(wantyellows)))
|
||
tradeall.extend(tradeyellows)
|
||
wantgreens = []
|
||
for card in greens:
|
||
if card in wantednames:
|
||
wantgreens.append(card)
|
||
if len(wantgreens) > 5:
|
||
wantgreens = wantgreens[:5]
|
||
if len(wantgreens) > len(greentrade):
|
||
wantgreens = wantgreens[:len(greentrade)]
|
||
if len(wantgreens) > 0:
|
||
wantall.extend(wantgreens)
|
||
tradegreenscount = len(wantgreens)
|
||
tradegreens = []
|
||
tradegreens.extend(random.sample(greentrade,len(wantgreens)))
|
||
tradeall.extend(tradegreens)
|
||
wantblues = []
|
||
for card in blues:
|
||
if card in wantednames:
|
||
wantblues.append(card)
|
||
if len(wantblues) > 5:
|
||
wantblues = wantblues[:5]
|
||
if len(wantblues) > len(bluetrade):
|
||
wantblues = wantblues[:len(bluetrade)]
|
||
if len(wantblues) > 0:
|
||
wantall.extend(wantblues)
|
||
tradebluescount = len(wantblues)
|
||
tradeblues = []
|
||
tradeblues.extend(random.sample(bluetrade,len(wantblues)))
|
||
tradeall.extend(tradeblues)
|
||
wantpurples = []
|
||
for card in purples:
|
||
if card in wantednames:
|
||
wantpurples.append(card)
|
||
if len(wantpurples) > 5:
|
||
wantpurples = wantpurples[:5]
|
||
if len(wantpurples) > len(purpletrade):
|
||
wantpurples = wantpurples[:len(purpletrade)]
|
||
if len(wantpurples) > 0:
|
||
wantall.extend(wantpurples)
|
||
tradepurplescount = len(wantpurples)
|
||
tradepurples = []
|
||
tradepurples.extend(random.sample(purpletrade,len(wantpurples)))
|
||
tradeall.extend(tradepurples)
|
||
wantbrowns = []
|
||
for card in browns:
|
||
if card in wantednames:
|
||
wantbrowns.append(card)
|
||
if len(wantbrowns) > 5:
|
||
wantbrowns = wantbrowns[:5]
|
||
if len(wantbrowns) > len(browntrade):
|
||
wantbrowns = wantbrowns[:len(browntrade)]
|
||
if len(wantbrowns) > 0:
|
||
wantall.extend(wantbrowns)
|
||
tradebrownscount = len(wantbrowns)
|
||
tradebrowns = []
|
||
tradebrowns.extend(random.sample(browntrade,len(wantbrowns)))
|
||
tradeall.extend(tradebrowns)
|
||
wantgreys = []
|
||
for card in greys:
|
||
if card in wantednames:
|
||
wantgreys.append(card)
|
||
if len(wantgreys) > 5:
|
||
wantgreys = wantgreys[:5]
|
||
if len(wantgreys) > len(greytrade):
|
||
wantgreys = wantgreys[:len(greytrade)]
|
||
if len(wantgreys) > 0:
|
||
wantall.extend(wantgreys)
|
||
tradegreyscount = len(wantgreys)
|
||
tradegreys = []
|
||
tradegreys.extend(random.sample(greytrade,len(wantgreys)))
|
||
tradeall.extend(tradegreys)
|
||
wantchaos = []
|
||
for card in chaos:
|
||
if card in wantednames:
|
||
wantchaos.append(card)
|
||
if len(wantchaos) > 5:
|
||
wantchaos = wantchaos[:5]
|
||
if len(wantchaos) > 0:
|
||
wantall.extend(wantchaos)
|
||
tradechaos = input("Provide " + str(len(wantchaos)) + " cards for the chaos pile (for " + ", ".join(wantchaos) + "): ").split(", ")
|
||
tradeall.extend(tradechaos)
|
||
print("\n")
|
||
if len(tradeall) > 0:
|
||
if len(wantreds) > 0:
|
||
print("red: " + ", ".join(tradereds) + " for " + ", ".join(wantreds))
|
||
if len(wantoranges) > 0:
|
||
print("orange: " + ", ".join(tradeoranges) + " for " + ", ".join(wantoranges))
|
||
if len(wantyellows) > 0:
|
||
print("yellow: " + ", ".join(tradeyellows) + " for " + ", ".join(wantyellows))
|
||
if len(wantgreens) > 0:
|
||
print("green: " + ", ".join(tradegreens) + " for " + ", ".join(wantgreens))
|
||
if len(wantblues) > 0:
|
||
print("blue: " + ", ".join(tradeblues) + " for " + ", ".join(wantblues))
|
||
if len(wantpurples) > 0:
|
||
print("purple: " + ", ".join(tradepurples) + " for " + ", ".join(wantpurples))
|
||
if len(wantbrowns) > 0:
|
||
print("brown: " + ", ".join(tradebrowns) + " for " + ", ".join(wantbrowns))
|
||
if len(wantgreys) > 0:
|
||
if variables.british:
|
||
print("grey: " + ", ".join(tradegreys) + " for " + ", ".join(wantgreys))
|
||
else:
|
||
print("gray: " + ", ".join(tradegreys) + " for " + ", ".join(wantgreys))
|
||
if len(wantchaos) > 0:
|
||
print("chaos: " + ", ".join(tradechaos) + " for " + ", ".join(wantchaos))
|
||
images = ""
|
||
for card in tradeall:
|
||
images += "<img src=\"https://colors-tcg.eu/cards/" + card + ".gif\">"
|
||
print("\n" + images + "\n")
|
||
switchround = input("Round number: ")
|
||
switchcomment = input("Comment URL: ")
|
||
print("\n{\"event\":\"switch it up " + switchround + "\",\"date\":datetime.datetime(" + datetime.datetime.now().strftime("%Y,%-m,%-d") + "),\"url\":\"" + switchcomment + "\",\"pend\":[\"" + "\",\"".join(wantall) + "\"],\"lost\":[\"" + "\",\"".join(tradeall) + "\"]}")
|
||
else:
|
||
print("No cards found")
|
||
|
||
def fish():
|
||
fishdecks = input("Paste list of decks here: ").split(", ")
|
||
fishfound = []
|
||
for card in colors.cardlist:
|
||
for deck in fishdecks:
|
||
if card["name"][:-2] == deck:
|
||
fishfound.append(card)
|
||
break
|
||
fishrefined = []
|
||
previouscard = ""
|
||
for card in fishfound:
|
||
try:
|
||
if card["name"][:-2] != previouscard["name"][:-2]:
|
||
fishrefined.append(card)
|
||
except:
|
||
fishrefined.append(card)
|
||
previouscard = card
|
||
fishmastered = []
|
||
fishhp = []
|
||
fishmp = []
|
||
fishlp = []
|
||
fishmass = []
|
||
fishtrade = []
|
||
for card in fishrefined:
|
||
if card["priority"] == 1:
|
||
for deck in colors.decklist:
|
||
if deck["name"] == card["name"][:-2]:
|
||
if deck["mastered"]:
|
||
fishmastered.append(card)
|
||
else:
|
||
fishhp.append(card)
|
||
elif card["priority"] == 2:
|
||
if card["mass"]:
|
||
for deck in colors.decklist:
|
||
if deck["name"] == card["name"][:-2]:
|
||
if deck["mass"]:
|
||
fishmp.append(card)
|
||
else:
|
||
fishmass.append(card)
|
||
else:
|
||
fishmp.append(card)
|
||
elif card["priority"] == 3:
|
||
fishlp.append(card)
|
||
else:
|
||
fishtrade.append(card)
|
||
locations = []
|
||
if len(fishmastered) > 0:
|
||
locations.append("mastered")
|
||
if len(fishhp) > 0:
|
||
locations.append("collecting/high priority")
|
||
if len(fishmp) > 0:
|
||
locations.append("collecting/medium priority")
|
||
if len(fishlp) > 0:
|
||
locations.append("collecting/low priority")
|
||
if len(fishmass) > 0:
|
||
for card in fishmass:
|
||
locations.append("mass collecting/" + card["mass"][0])
|
||
if len(fishtrade) > 0:
|
||
locations.append("trading")
|
||
locations = list(dict.fromkeys(locations))
|
||
cardnames = []
|
||
for card in fishrefined:
|
||
cardnames.append(card["name"])
|
||
if len(fishrefined) > 0:
|
||
print("\nTrade post: " + variables.url + "\nNumber of matches: " + str(len(fishrefined)) + "\nCard name(s): " + ", ".join(cardnames) + "\nWhere cards are located: " + ", ".join(locations) + "\nCards:")
|
||
images = ""
|
||
for card in fishrefined:
|
||
images += "<img src=\"https://colors-tcg.eu/cards/" + card["name"] + ".gif\">"
|
||
print(images)
|
||
else:
|
||
print("No cards found")
|
||
|
||
def studio():
|
||
tradedupes = []
|
||
tradedupesreserve = []
|
||
tradenormal = []
|
||
tradespecial = []
|
||
for card in colors.cardlist:
|
||
if card["priority"] == 4:
|
||
if card["colour"] != "sig" and card["colour"] != "limited":
|
||
if card["dupe"]:
|
||
if len(card["mass"]) == 0:
|
||
tradedupes.append(card["name"])
|
||
else:
|
||
tradedupesreserve.append(card["name"])
|
||
else:
|
||
if card["colour"] == "special":
|
||
tradespecial.append(card["name"])
|
||
else:
|
||
tradenormal.append(card["name"])
|
||
dupeslimit = 10
|
||
newlimit = 20
|
||
sigslimit = 10
|
||
choicelimit = 16
|
||
speciallimit = 10
|
||
for event in log.log:
|
||
if event["date"].year == datetime.datetime.now().year and event["date"].month == datetime.datetime.now().month:
|
||
if event["event"] == "art studio":
|
||
try:
|
||
dupeslimit -= event["exchange"]["dupes"]
|
||
except:
|
||
pass
|
||
try:
|
||
newlimit -= event["exchange"]["new"]
|
||
except:
|
||
pass
|
||
try:
|
||
sigslimit -= event["exchange"]["sigs"]
|
||
except:
|
||
pass
|
||
try:
|
||
choicelimit -= event["exchange"]["choice"]
|
||
except:
|
||
pass
|
||
try:
|
||
speciallimit -= event["exchange"]["special"]
|
||
except:
|
||
pass
|
||
dupesalready = dupeslimit
|
||
newalready = newlimit
|
||
sigsalready = sigslimit
|
||
choicealready = choicelimit
|
||
specialalready = speciallimit
|
||
if dupeslimit > len(tradedupes):
|
||
tradedupes.extend(tradedupesreserve)
|
||
if dupeslimit > len(tradedupes):
|
||
dupeslimit = len(tradedupes)
|
||
if dupeslimit > 0:
|
||
dupeswant = int(input("How many randoms for doubles? (" + str(dupeslimit) + " remaining) "))
|
||
else:
|
||
dupeswant = 0
|
||
if newlimit * 2 > len(tradenormal):
|
||
newlimit = math.floor(len(tradenormal)/2)
|
||
if newlimit > 0:
|
||
newwant = int(input("How many new release cards? (" + str(newlimit) + " remaining) "))
|
||
else:
|
||
newwant = 0
|
||
if sigslimit * 3 + newwant * 2 > len(tradenormal):
|
||
sigslimit = math.floor((len(tradenormal) - (newwant * 2))/3)
|
||
if sigslimit > 0:
|
||
sigswant = int(input("How many signatures? (" + str(sigslimit) + " remaining) "))
|
||
else:
|
||
sigswant = 0
|
||
if choicelimit * 3 + sigswant * 3 + newwant * 2 > len(tradenormal):
|
||
choicelimit = math.floor((len(tradenormal) - ((newwant * 2) + (sigswant * 3)))/3)
|
||
if choicelimit > 0:
|
||
choicewant = int(input("How many choice character cards? (" + str(choicelimit) + " remaining) "))
|
||
else:
|
||
choicewant = 0
|
||
if speciallimit * 3 > len(tradespecial):
|
||
speciallimit = math.floor(len(tradespecial)/3)
|
||
if speciallimit > 0:
|
||
specialwant = int(input("How many choice special cards? (" + str(speciallimit) + " remaining) "))
|
||
else:
|
||
specialwant = 0
|
||
neededdupes = dupeswant
|
||
needednormal = 2 * newwant + 3 * sigswant + 3 * choicewant
|
||
neededspecial = 3 * specialwant
|
||
give = []
|
||
if neededdupes > 0:
|
||
give.extend(random.sample(tradedupes,neededdupes))
|
||
if needednormal > 0:
|
||
give.extend(random.sample(tradenormal,needednormal))
|
||
if neededspecial > 0:
|
||
give.extend(random.sample(tradespecial,neededspecial))
|
||
if choicewant > 0:
|
||
choicelist = input(str(choicewant) + " choice character cards: ").split(", ")
|
||
if specialwant > 0:
|
||
speciallist = input(str(specialwant) + " choice special cards: ").split(", ")
|
||
allwants = []
|
||
if dupeswant > 1:
|
||
allwants.append(str(dupeswant) + " random cards")
|
||
elif dupeswant == 1:
|
||
allwants.append(str(dupeswant) + " random card")
|
||
if newwant > 1:
|
||
allwants.append(str(newwant) + " new release cards")
|
||
elif newwant == 1:
|
||
allwants.append(str(newwant) + " new release card")
|
||
if sigswant > 0:
|
||
allwants.append(str(sigswant) + " x sig_" + variables.name.lower())
|
||
if choicewant > 0:
|
||
allwants.extend(choicelist)
|
||
if specialwant > 0:
|
||
allwants.extend(speciallist)
|
||
if len(allwants) > 0:
|
||
print("\n<b>What are you exchanging for?</b>: " + ", ".join(allwants) + "\n<b>Cards you are exchanging</b>:\n<img src=\"https://colors-tcg.eu/cards/" + ".gif\"><img src=\"https://colors-tcg.eu/cards/".join(give) + ".gif\">\n<b>Card names</b>: " + ", ".join(give) + "\n<b>Art Studio use for the current month</b>: random cards: " + str(10 - dupesalready + dupeswant) + "/10; new release cards: " + str(20 - newalready + newwant) + "/20; signatures: " + str(10 - sigsalready + sigswant) + "/10; character cards: " + str(16 - choicealready + choicewant) + "/16; special cards: " + str(10 - specialalready + specialwant) + "/10\n")
|
||
studiourl = input("Paste in comment URL: ")
|
||
studiostring = "{\"event\":\"art studio\",\"date\":datetime.datetime(" + datetime.datetime.now().strftime("%Y,%-m,%-d") + "),\"url\":\"" + studiourl + "\",\"lost\":[\"" + "\",\"".join(give) + "\"],"
|
||
allchoice = []
|
||
try:
|
||
allchoice.extend(choicelist)
|
||
except:
|
||
pass
|
||
try:
|
||
allchoice.extend(speciallist)
|
||
except:
|
||
pass
|
||
if len(allchoice) > 0:
|
||
studiostring += "\"pend\":[\"" + "\",\"".join(allchoice) + "\"],"
|
||
studiostring += "\"exchange\":{\"dupes\":" + str(dupeswant) + ",\"new\":" + str(newwant) + ",\"sigs\":" + str(sigswant) + ",\"choice\":" + str(choicewant) + ",\"special\":" + str(specialwant) + "}}"
|
||
print("\n" + studiostring)
|
||
else:
|
||
print("Nothing requested")
|
||
|
||
def randoms(specials=False):
|
||
totalrandoms = int(input("How many? "))
|
||
pool = []
|
||
for card in colors.cardlist:
|
||
if card["priority"] == 4 and card["dupe"] == False and card["colour"] != "sig" and card["colour"] != "limited":
|
||
if specials:
|
||
pool.append(card["name"])
|
||
else:
|
||
if card["colour"] != "special":
|
||
pool.append(card["name"])
|
||
try:
|
||
chosen = sorted(random.sample(pool,totalrandoms))
|
||
print(", ".join(chosen))
|
||
except ValueError:
|
||
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))
|
||
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
|
||
tradecommon = list((Counter(colors.tradeout) & Counter(colors.tradein)).elements())
|
||
sketch = len(tradecommon)
|
||
if sketch > 0:
|
||
sketchdifference = int(sketch / 20) - colors.redeemedsketch
|
||
else:
|
||
sketchdifference = 0
|
||
if len(requestcards) == 0 and sketchdifference < 1:
|
||
print("Nothing to request")
|
||
else:
|
||
shopstring = "\n<b>Name:</b> " + variables.name + "\n<b>Card Post:</b> " + variables.url + "\n"
|
||
if len(requestcards) > 0:
|
||
shopstring += "<b>Choice Cards:</b> " + ", ".join(requestcards) + "\n"
|
||
if sketchdifference > 0:
|
||
shopstring += "<b>Number of Sketchpads:</b> " + str(sketchdifference) + "\n<b>Sketchpad Prize:</b> prize " + str(variables.sketchprize) + "\n"
|
||
if len(requestcards) > 0:
|
||
shopstring += "<b>Crayons:</b> "
|
||
if redspend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon1.gif\"> x " + str(redspend)
|
||
if orangespend + yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if orangespend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon2.gif\"> x " + str(orangespend)
|
||
if yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if yellowspend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon3.gif\"> x " + str(yellowspend)
|
||
if greenspend + bluespend + purplespend + brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if greenspend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon4.gif\"> x " + str(greenspend)
|
||
if bluespend + purplespend + brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if bluespend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon5.gif\"> x " + str(bluespend)
|
||
if purplespend + brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if purplespend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon6.gif\"> x " + str(purplespend)
|
||
if brownspend + greyspend > 0:
|
||
shopstring += ", "
|
||
if brownspend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon7.gif\"> x " + str(brownspend)
|
||
if greyspend > 0:
|
||
shopstring += ", "
|
||
if greyspend > 0:
|
||
shopstring += "<img src=\"" + variables.url + "/assets/crayons/crayon8.gif\"> x " + str(greyspend)
|
||
shopstring += "\n"
|
||
if sketchdifference > 0:
|
||
shopstring += "<b>Sketchpads:</b>\n<img src=\"" + variables.url + "/assets/sketch/20.gif\"> x " + str(sketchdifference)
|
||
print(shopstring)
|
||
shopurl = input("\nPaste in comment URL: ")
|
||
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:
|
||
shoplog += ","
|
||
if orangespend > 0:
|
||
shoplog += "\"orange\":-" + str(orangespend)
|
||
if yellowspend + greenspend + bluespend + purplespend + brownspend + greyspend > 0:
|
||
shoplog += ","
|
||
if yellowspend > 0:
|
||
shoplog += "\"yellow\":-" + str(yellowspend)
|
||
if greenspend + bluespend + purplespend + brownspend + greyspend > 0:
|
||
shoplog += ","
|
||
if greenspend > 0:
|
||
shoplog += "\"green\":-" + str(greenspend)
|
||
if bluespend + purplespend + brownspend + greyspend > 0:
|
||
shoplog += ","
|
||
if bluespend > 0:
|
||
shoplog += "\"blue\":-" + str(bluespend)
|
||
if purplespend + brownspend + greyspend > 0:
|
||
shoplog += ","
|
||
if purplespend > 0:
|
||
shoplog += "\"purple\":-" + str(purplespend)
|
||
if brownspend + greyspend > 0:
|
||
shoplog += ","
|
||
if brownspend > 0:
|
||
shoplog += "\"brown\":-" + str(brownspend)
|
||
if greyspend > 0:
|
||
shoplog += ","
|
||
if greyspend > 0:
|
||
shoplog += "\"gray\":-" + str(greyspend)
|
||
shoplog += "}"
|
||
if sketchdifference > 0:
|
||
if len(requestcards) > 0:
|
||
shoplog += ","
|
||
shoplog += "\"sketch\":-" + str(sketchdifference)
|
||
shoplog += "}"
|
||
print(shoplog)
|
||
|
||
if __name__ == "__main__":
|
||
while True:
|
||
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 Go Fish comment","Generate art shop request","Generate art studio request","Get a list of random cards from tradepile (excluding specials)","Get a list of random cards from tradepile (including specials)"]
|
||
for optionName in options:
|
||
index = index + 1
|
||
indexValidList.extend([options.index(optionName)])
|
||
print(str(index) + ") " + optionName)
|
||
inputValid = False
|
||
while not inputValid:
|
||
inputRaw = input("Option: ")
|
||
inputNo = int(inputRaw) - 1
|
||
if inputNo > -1 and inputNo < len(indexValidList):
|
||
selected = indexValidList[inputNo]
|
||
inputValid = True
|
||
break
|
||
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":
|
||
riku()
|
||
elif chosen == "Generate next palette portfolio":
|
||
nextportfolio()
|
||
elif chosen == "Generate next monochrome portfolio":
|
||
nextportfolio(True)
|
||
elif chosen == "Generate Switch It Up request":
|
||
switchit()
|
||
elif chosen == "Generate Go Fish comment":
|
||
fish()
|
||
elif chosen == "Generate art studio request":
|
||
studio()
|
||
elif chosen == "Get a list of random cards from tradepile (excluding specials)":
|
||
randoms()
|
||
elif chosen == "Get a list of random cards from tradepile (including specials)":
|
||
randoms(True)
|
||
elif chosen == "Generate art shop request":
|
||
artshop()
|
||
print("\n")
|
||
input("Press Enter to continue or Ctrl-C to exit")
|