Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- from tkinter import *
- from itertools import combinations
- from itertools import chain
- class God():
- def __init__(self,name,baseAS,levelASBonus,health,mana,attackDamage,powerToAttackDamageMulti):
- self.name = name
- self.baseAS = baseAS
- self.levelASBonus = levelASBonus
- self.health = health
- self.mana = mana
- self.attackDamage = attackDamage
- self.powerToAttackDamageMulti = powerToAttackDamageMulti
- charybdis = God("Charybdis", 0.95, 0.32, 1980, 980, 90, 1)
- medusa = God("Medusa", 0.95, 0.28, 2010, 900, 90, 1)
- izanami = God("Izanami", 0.95, 0.34, 1990, 910, 84, 1)
- heim = God("Heimdallr", 0.96, 0.3, 2080, 910, 92, 1)
- amc = God("Ah Muzen Cab", 0.95, 0.34, 1910, 1030, 82, 1)
- danza = God("Danzaburou", 1, 0.28, 2020, 990, 92, 1)
- cupid = God("Cupid", 0.95, 0.36, 1885, 1010, 81, 1)
- chernobog = God("Chernobog", 0.95, 0.34, 2050, 980, 88, 1)
- skadi = God("Skadi", 0.95, 0.32, 2030, 920, 85, 1)
- artemis = God("Artemis", 0.95, 0.34, 1950, 885, 85, 1)
- anhur = God("Anhur", 0.9, 0.34, 2020, 920, 90, 1)
- apollo = God("Apollo", 0.95, 0.34, 1990, 1025, 92, 1)
- cernunnos = God("Cernunnos", 1, 0.28, 2080, 960, 87, 1)
- hachiman = God("Hachiman", 1, 0.26, 1995, 950, 86, 1)
- xbalanque = God("Xbalanque", 0.95, 0.3, 1955, 960, 90, 1)
- jing = God("Jing Wei", 1, 0.28, 2005, 925, 92, 1)
- rama = God("Rama", 0.95, 0.34, 1980, 885, 90, 1)
- class Item():
- def __init__ (self,name,power,flatPen,percentPen,attackSpeed,critChance,lifesteal,cdr,mana,health,basicAttackDamage,gold):
- self.name = name
- self.power = power
- self.flatPen = flatPen
- self.percentPen = percentPen
- self.attackSpeed = attackSpeed
- self.critChance = critChance
- self.lifesteal = lifesteal
- self.cdr = cdr
- self.mana = mana
- self.health = health
- self.basicAttackDamage = basicAttackDamage
- self.gold = gold
- exe = Item("The Executioner",40,0,0,0.2,0,0,0,0,0,0,2200)
- qins = Item("Qin's Sais",40,0,0,0.2,0,0,0,0,0,0,2600)
- asi = Item("Asi",25,15,0,0.25,0,0.15,0,0,0,0,2550)
- titansBane = Item("Titan's Bane",45,0,0.2,0,0,0,0,0,0,0,2550)
- beatstick = Item("Brawler's Beatstick",50,15,0,0,0,0,0,0,0,0,2350)
- jotunnsWrath = Item("Jotunn's Wrath",40,10,0,0,0,0,0.2,150,0,0,2200)
- crusher = Item("Crusher",40,15,0,0.1,0,0,0,0,0,0,2400)
- trans = Item("Transcendance",40,0,0,0.2,0,0,0.1,1050,0,0,2600)
- hydras = Item("Hydra's Lament",40,0,0.1,0,0,0.1,0,0,0,0,2150)
- heartseeker = Item("Heartseeker",65,0,0.1,0,0,0,0,200,0,0,2900)
- dominance = Item("Dominance",55,0,0.1,0,0,0,0,200,0,0,2500)
- deathbringer = Item("Deathbringer",50,0,0,0,0.3,0,0,0,0,0,2900)
- rage = Item("Rage",35,0,0,0,0.45,0,0,0,0,0,2500)
- soulEater = Item("Soul Eater",40,0,0.1,0,0,0.15,0.1,0,0,0,2100)
- devos = Item("Devourer's Gauntlet",70,0,0,0,0,0.29,0,0,0,0,2300)
- bloodforge = Item("Bloodforge",75,0,0,0,0,0.15,0,0,0,0,2750)
- frostbound = Item("Frostbound Hammer",35,0,0,0,0,0,0,0,250,0,2300)
- runeforge = Item("Runeforged Hammer",45,0,0,0,0,0,0,0,250,0,2400)
- sledge = Item("Sledge",40,0,0,0,0,0,0,150,250,0,2300)
- blackthorn = Item("Blackthorn Hammer",30,0,0,0,0,0,0.1,200,400,0,2300)
- runic = Item("Runic Shield",35,0,0,0,0,0,0,0,150,0,2150)
- ancile = Item("Ancile",40,0,0,0,0,0,0.1,0,0,0,2250)
- cadShield = Item("Caduceus Shield",25,0,0,0,0,0,0,0,100,0,2500)
- ichaival = Item("Ichaival",35,0,0,0.3,0,0,0,0,0,0,2450)
- silverbranch = Item("Silverbranch Bow",30,0,0.2,0.3,0,0,0,0,0,0,2400)
- atalantas = Item("Atalanta's Bow",30,0,0,0.2,0.2,0.1,0,0,0,0,2350)
- windDemon = Item("Wind Demon",25,0,0.1,0.25,0.2,0,0,0,0,0,2500)
- shadowsteel = Item("Shadowsteel Shuriken",40,0,0,0.2,0.2,0,0,0,0,0,2400)
- failnot = Item("Failnot",40,0,0.1,0.1,0.2,0,0.2,0,0,0,2650)
- obow = Item("Odysseus' Bow",0,0,0,0.3,0,0,0,0,0,0,2100)
- rangdas = Item("Rangda's Mask",70,0,0,0,0,0,0,0,0,0,2500)
- goldenBlade = Item("Golden Blade",35,0,0,0.2,0,0,0,0,0,0,2000)
- scs = Item("Stone Cutting Sword",50,0,0,0,0,0,0,0,0,0,2200)
- hastenedKatana = Item("Hastened Katana",25,0,0,0.15,0,0,0,0,0,0,2450)
- serrated = Item("Serrated Edge",30,0,0.2,0,0,0.1,0,0,0,0,2650)
- berserkersShield = Item("Berserker's Shield",30,0,0,0.25,0,0,0,0,0,0,2400)
- jotunnsVigor = Item("Jotunn's Vigor",40,10,0,0,0,0,0.2,150,0,0,2800)
- jotunnsFerocity = Item("Jotunn's Ferocity",40,10,0,0,0,0,0.2,150,0,0,2800)
- envenomedDeathbringer = Item("Envenomed Deathbringer",50,0,0,0,0.3,0,0,0,0,0,3500)
- maliciousDeathbringer = Item("Malicious Deathbringer",50,0,0,0,0.3,0,0,0,0,0,3500)
- huntersCowl = Item("Hunter's Cowl",60,0,0,0.35,0,0.15,0,0,0,0,2200)
- deathsEmbrace = Item("Death's Embrace",65,0,0,0,0,0,0,0,200,0,2150)
- deathsTemper = Item("Death's Temper",50,0,0,0.3,0,0,0,0,100,0,2150)
- ornateArrow = Item("Ornate Arrow",0,0,0,0.35,0.25,0,0,0,150,60,2150)
- diamondArrow = Item("Diamond Arrow",0,0,0,0.6,0,0,0,0,100,80,2150)
- empty = Item("Empty",0,0,0,0,0,0,0,0,0,0,0)
- physicalItems = [exe,qins,asi,titansBane,beatstick,jotunnsWrath,jotunnsVigor,jotunnsFerocity,crusher,trans,hydras,heartseeker,dominance,deathbringer,envenomedDeathbringer,maliciousDeathbringer,rage,soulEater,devos,bloodforge,frostbound,runeforge,sledge,blackthorn,runic,cadShield,ancile,ichaival,atalantas,silverbranch,obow,failnot,windDemon,shadowsteel,berserkersShield,goldenBlade,scs,hastenedKatana,serrated,rangdas,empty]
- physicalStarters = [huntersCowl,deathsEmbrace,deathsTemper,ornateArrow,diamondArrow,empty]
- physicalItemsNames = []
- for i in physicalItems:
- physicalItemsNames.append(i.name)
- physicalItemsNames.append(" ")
- physicalStarterNames = []
- for i in physicalStarters:
- physicalStarterNames.append(i.name)
- physicalStarterNames.append(" ")
- def CalculateDamage():
- physicalItems = [exe,qins,asi,titansBane,beatstick,jotunnsWrath,jotunnsVigor,jotunnsFerocity,crusher,trans,hydras,heartseeker,dominance,deathbringer,envenomedDeathbringer,maliciousDeathbringer,rage,soulEater,devos,bloodforge,frostbound,runeforge,sledge,blackthorn,runic,cadShield,ancile,ichaival,atalantas,silverbranch,obow,failnot,windDemon,shadowsteel,berserkersShield,goldenBlade,scs,hastenedKatana,serrated,rangdas,empty]
- requiredItems = []
- if(starterVariable.get()!=" "):
- for i in physicalStarters:
- if i.name == starterVariable.get():
- requiredItems.append(i)
- if(requiredItems1Variable.get()!=" "):
- for i in physicalItems:
- if i.name == requiredItems1Variable.get():
- requiredItems.append(i)
- if i.name != "Empty":
- physicalItems.remove(i)
- if(requiredItems2Variable.get()!=" "):
- for i in physicalItems:
- if i.name == requiredItems2Variable.get():
- requiredItems.append(i)
- if i.name != "Empty":
- physicalItems.remove(i)
- if(requiredItems3Variable.get()!=" "):
- for i in physicalItems:
- if i.name == requiredItems3Variable.get():
- requiredItems.append(i)
- if i.name != "Empty":
- physicalItems.remove(i)
- if(requiredItems4Variable.get()!=" "):
- for i in physicalItems:
- if i.name == requiredItems4Variable.get():
- requiredItems.append(i)
- if i.name != "Empty":
- physicalItems.remove(i)
- if(requiredItems5Variable.get()!=" "):
- for i in physicalItems:
- if i.name == requiredItems5Variable.get():
- requiredItems.append(i)
- if i.name != "Empty":
- physicalItems.remove(i)
- allbuilds =combinations(physicalItems, 6 - len(requiredItems))
- buildSorterBuilds = ["blank","blank"]
- buildSorterDamage = [0,9999999999]
- for k in allbuilds:
- build = requiredItems + list(k)
- power = 0
- AS = medusa.baseAS + (medusa.baseAS * medusa.levelASBonus)
- health = medusa.health
- mana = medusa.mana
- cdr = 0
- lifesteal = 0
- flatPen = 0
- percentPen = 0
- totalGold = 0
- critChance = 0
- basicAttackDamage = 0
- globalMulti = 1
- transBool = False
- silverbranchBool = False
- obowBool = False
- obowStacks = 1
- katanasBool = True
- critBonus = 0.75
- temperMulti = 1
- jotunns = 0
- deathbringers = 0
- ichBool = False
- ichStacks = 0
- qinsBool = False
- target1Prots = float(target1ProtsEntry.get())
- target2Prots = float(target2ProtsEntry.get())
- exeBool = False
- exeStacks = 0
- ferocityBool = False
- ferocityStacks = 0
- dominancePen = 0
- for i in build:
- AS = AS + (medusa.baseAS * i.attackSpeed)
- power = power + i.power
- critChance = critChance + i.critChance
- health = health + i.health
- mana = mana + i.mana
- cdr = cdr + i.cdr
- lifesteal = lifesteal + i.lifesteal
- flatPen = flatPen + i.flatPen
- percentPen = percentPen + i.percentPen
- basicAttackDamage = basicAttackDamage + i.basicAttackDamage
- totalGold = totalGold + i.gold
- if i.name == "Transcendance":
- transBool = True
- elif i.name == "Rangda's Mask" and rangdasPassiveVariable.get():
- globalMulti += 0.15
- elif i.name == "Runeforged Hammer" and runeforgePassiveVariable.get():
- globalMulti += 0.2
- elif i.name == "Silverbranch Bow":
- silverbranchBool = True
- elif i.name == "Odysseus' Bow":
- obowBool = True
- elif i.name == "Ichaival":
- ichBool = True
- elif i.name == "The Executioner":
- exeBool = True
- elif i.name == "Deathbringer" or i.name == "Envenomed Deathbringer" or i.name == "Malicious Deathbringer":
- critBonus = critBonus + 0.3
- elif i.name == "Dominance":
- dominancePen = 0.15
- elif i.name == "Death's Temper":
- temperMulti = 1.35
- elif i.name == "Qin's Sais":
- qinsBool = True
- elif i.name == "Jotunn's Ferocity" and ferocityPassiveVariable.get():
- ferocityBool = True
- elif katanasEnabledVariable.get() == False:
- if i.name == "Golden Blade" or i.name == "Stone Cutting Sword" or i.name == "Hastened Katana" or i.name == "Serrated Edge":
- katanasBool = False
- if i.name == "Jotunn's Wrath" or i.name == "Jotunn's Ferocity" or i.name == "Jotunn's Vigor":
- jotunns += 1
- if i.name == "Deathbringer" or i.name == "Envenomed Deathbringer" or i.name == "Malicious Deathbringer":
- deathbringers += 1
- if percentPen > 0.4:
- percentPen = 0.4
- if flatPen > 50:
- flatPen = 50
- if cdr > 0.4:
- cdr = 0.4
- if lifesteal > 1:
- lifesteal = 1
- if lifesteal >= float(minimumLifeStealEntry.get()) and cdr >=float(minimumCDREntry.get()) and katanasBool and jotunns <= 1 and deathbringers <= 1:
- if transBool:
- power = power + (mana * 0.03)
- if AS > 2.5 and silverbranchBool:
- power = power + (AS - 2.5) / 0.01
- timeToBeSpentAttacking = float(timeSpentAttackingEntry.get())
- timeSpentAttacking = 0
- target1Damage = 0
- target2Damage = 0
- while timeSpentAttacking < timeToBeSpentAttacking:
- if AS < 2.5:
- timeSpentAttacking = timeSpentAttacking + (1/AS)
- else:
- timeSpentAttacking = timeSpentAttacking + (1/2.5)
- target1Damage = target1Damage + (((1+(critBonus*critChance))*(temperMulti)*(medusa.attackDamage + basicAttackDamage + power)) * min((100/(100 + ((target1Prots * (1-(percentPen + dominancePen))) - flatPen))),1)*globalMulti)
- target2Damage = target2Damage + (((1+(critBonus*critChance))*(temperMulti)*(medusa.attackDamage + basicAttackDamage + power)) * min((100/(100 + ((target2Prots * (1-(percentPen + dominancePen))) - flatPen))),1)*globalMulti)
- if obowStacks == 3:
- target1Damage = target1Damage = target1Damage + ((15+((0.6)*(medusa.attackDamage + basicAttackDamage + power))) * min((100/(100 + ((target1Prots * (1-(percentPen))) - flatPen))),1)*globalMulti)
- target2Damage = target2Damage = target2Damage + ((15+((0.6)*(medusa.attackDamage + basicAttackDamage + power))) * min((100/(100 + ((target2Prots * (1-(percentPen))) - flatPen))),1)*globalMulti)
- obowStacks = 1
- elif (obowBool == True):
- obowStacks = obowStacks + 1
- if (ichBool == True and ichStacks !=3):
- power = power + 10
- ichStacks = ichStacks + 1
- if (ferocityBool == True and ferocityStacks !=10):
- globalMulti = globalMulti + 0.02
- ferocityStacks = ferocityStacks + 1
- if exeBool == True and exeStacks == 0:
- exeProtShred1 = target1Prots * 0.07
- exeProtShred2 = target2Prots * 0.07
- target1Prots = target1Prots - exeProtShred1
- target2Prots = target2Prots - exeProtShred2
- exeStacks = exeStacks + 1
- elif exeBool == True and exeStacks != 4:
- target1Prots = target1Prots - exeProtShred1
- target2Prots = target2Prots - exeProtShred2
- exeStacks = exeStacks + 1
- if qinsBool:
- qinsPercent1 = ((2/750)*float(target1HealthEntry.get())) - (7/3)
- if qinsPercent1 < 3:
- qinsPercent1 = 3
- if qinsPercent1 > 5:
- qinsPercent1 = 5
- qinsPercent2 = ((2/750)*float(target2HealthEntry.get())) - (7/3)
- if qinsPercent2 < 3:
- qinsPercent2 = 3
- if qinsPercent2 > 5:
- qinsPercent2 = 5
- target1Damage = target1Damage + ((float(target1HealthEntry.get())*(qinsPercent1/100))* min((100/(100 + ((target2Prots * (1-(percentPen + dominancePen))) - flatPen))),1)*globalMulti)
- target2Damage = target2Damage + ((float(target2HealthEntry.get())*(qinsPercent2/100))* min((100/(100 + ((target2Prots * (1-(percentPen + dominancePen))) - flatPen))),1)*globalMulti)
- target1Damage = target1Damage / timeSpentAttacking
- target2Damage = target2Damage / timeSpentAttacking
- if target1Damage >= float(minimumTarget1DamageEntry.get()) and target2Damage >= float(minimumTarget2DamageEntry.get()):
- if target1SortVariable.get():
- string = ""
- for i in build:
- string = string + i.name + ", "
- string = string + "\nTarget 1 DPS: " + str(round(target1Damage,2)) + " Target 2 DPS: " + str(round(target2Damage,2))+"\n"
- if len(buildSorterBuilds) == 2:
- buildSorterBuilds.insert(1,string)
- buildSorterDamage.insert(1,target1Damage)
- else:
- i = round(len(buildSorterBuilds)/2) - 1
- loop = True
- while(loop):
- if(target1Damage < buildSorterDamage[i-1]):
- i -= 1
- elif(target1Damage > buildSorterDamage[i]):
- i += 1
- else:
- loop = False
- buildSorterBuilds.insert(i,string)
- buildSorterDamage.insert(i,target1Damage)
- if len(buildSorterBuilds) > float(buildLimitForSorterEntry.get()) + 2:
- del buildSorterBuilds[1]
- del buildSorterDamage[1]
- elif target2SortVariable.get():
- string = ""
- for i in build:
- string = string + i.name + ", "
- string = string + "\nTarget 1 DPS: " + str(round(target1Damage,2)) + " Target 2 DPS: " + str(round(target2Damage,2))+"\n"
- if len(buildSorterBuilds) == 2:
- buildSorterBuilds.insert(1,string)
- buildSorterDamage.insert(1,target2Damage)
- else:
- i = round(len(buildSorterBuilds)/2) - 1
- loop = True
- while(loop):
- if(target2Damage < buildSorterDamage[i-1]):
- i -= 1
- elif(target2Damage > buildSorterDamage[i]):
- i += 1
- else:
- loop = False
- buildSorterBuilds.insert(i,string)
- buildSorterDamage.insert(i,target2Damage)
- if len(buildSorterBuilds) > float(buildLimitForSorterEntry.get()) + 2:
- del buildSorterBuilds[1]
- del buildSorterDamage[1]
- else:
- for i in build:
- print(i.name, end = ", ")
- print("\nTarget 1 DPS:" , round(target1Damage,2) , " Target 2 DPS:" , round(target2Damage,2),"\n")
- if target1SortVariable.get() or target2SortVariable.get():
- del buildSorterBuilds[0]
- del buildSorterBuilds[-1]
- for i in buildSorterBuilds:
- print(i)
- print("-------------------------------------------------------")
- def min(x, y):
- if x<y:
- return x
- return y
- ############################################################################################
- root = Tk()
- root.title("Auto Attack Damage")
- button = Button(root, text="Run Program", padx=25, command = CalculateDamage)
- button.grid(row = 0, column = 0)
- timeSpentAttackingLabel = Label(root,text="Time Spent Attacking:")
- timeSpentAttackingLabel.grid(row = 1, column = 0)
- timeSpentAttackingEntry = Entry(root, width=5)
- timeSpentAttackingEntry.grid(row = 1, column = 1)
- timeSpentAttackingEntry.insert(0,"5")
- itemsLabel = Label(root,text="Required Items:")
- itemsLabel.grid(row = 2, column = 0)
- requiredItems1Variable = StringVar()
- requiredItems1Variable.set(" ")
- requiredItems1 = OptionMenu(root, requiredItems1Variable, *physicalItemsNames)
- requiredItems1.grid(row=2, column=1)
- requiredItems2Variable = StringVar()
- requiredItems2Variable.set(" ")
- requiredItems2 = OptionMenu(root, requiredItems2Variable, *physicalItemsNames)
- requiredItems2.grid(row=2, column=2)
- requiredItems3Variable = StringVar()
- requiredItems3Variable.set(" ")
- requiredItems3 = OptionMenu(root, requiredItems3Variable, *physicalItemsNames)
- requiredItems3.grid(row=2, column=3)
- requiredItems4Variable = StringVar()
- requiredItems4Variable.set(" ")
- requiredItems4 = OptionMenu(root, requiredItems4Variable, *physicalItemsNames)
- requiredItems4.grid(row=2, column=4)
- requiredItems5Variable = StringVar()
- requiredItems5Variable.set(" ")
- requiredItems5 = OptionMenu(root, requiredItems5Variable, *physicalItemsNames)
- requiredItems5.grid(row=2, column=5)
- starterLabel = Label(root,text="Starter Item:")
- starterLabel.grid(row = 3, column = 0)
- starterVariable = StringVar()
- starterVariable.set(" ")
- starter = OptionMenu(root, starterVariable, *physicalStarterNames)
- starter.grid(row=3, column=1)
- target1ProtsLabel = Label(root,text="Target 1 Protections:")
- target1ProtsLabel.grid(row = 4, column = 0)
- target1ProtsEntry = Entry(root, width=5)
- target1ProtsEntry.grid(row = 4, column = 1)
- target1ProtsEntry.insert(0,"60")
- emptyLabel2 = Label(root,text=" ")
- emptyLabel2.grid(row = 4, column = 2)
- target1HealthLabel = Label(root,text="Target 1 Health:")
- target1HealthLabel.grid(row = 4, column = 3)
- target1HealthEntry = Entry(root, width=5)
- target1HealthEntry.grid(row = 4, column = 4)
- target1HealthEntry.insert(0,"2000")
- target2ProtsLabel = Label(root,text="Target 2 Protections:")
- target2ProtsLabel.grid(row = 5, column = 0)
- target2ProtsEntry = Entry(root, width=5)
- target2ProtsEntry.grid(row = 5, column = 1)
- target2ProtsEntry.insert(0,"200")
- emptyLabel3 = Label(root,text=" ")
- emptyLabel3.grid(row = 5, column = 2)
- target2HealthLabel = Label(root,text="Target 2 Health:")
- target2HealthLabel.grid(row = 5, column = 3)
- target2HealthEntry = Entry(root, width=5)
- target2HealthEntry.grid(row = 5, column = 4)
- target2HealthEntry.insert(0,"3000")
- minimumTarget1DamageLabel = Label(root,text="Minimum Target 1 DPS:")
- minimumTarget1DamageLabel.grid(row = 6, column = 0)
- minimumTarget1DamageEntry = Entry(root, width=5)
- minimumTarget1DamageEntry.grid(row = 6, column = 1)
- minimumTarget1DamageEntry.insert(0,"0")
- emptyLabel4 = Label(root,text=" ")
- emptyLabel4.grid(row = 6, column = 2)
- minimumTarget2DamageLabel = Label(root,text="Minimum Target 2 DPS:")
- minimumTarget2DamageLabel.grid(row = 6, column = 3)
- minimumTarget2DamageEntry = Entry(root, width=5)
- minimumTarget2DamageEntry.grid(row = 6, column = 4)
- minimumTarget2DamageEntry.insert(0,"0")
- minimumCDRLabel = Label(root,text="Minimum Cooldown Reduction:")
- minimumCDRLabel.grid(row = 7, column = 0)
- minimumCDREntry = Entry(root, width=5)
- minimumCDREntry.grid(row = 7, column = 1)
- minimumCDREntry.insert(0,"0")
- emptyLabel5 = Label(root,text=" ")
- emptyLabel5.grid(row = 7, column = 2)
- minimumLifeStealLabel = Label(root,text="Minimum Lifesteal:")
- minimumLifeStealLabel.grid(row = 7, column = 3)
- minimumLifeStealEntry = Entry(root, width=5)
- minimumLifeStealEntry.grid(row = 7, column = 4)
- minimumLifeStealEntry.insert(0,"0")
- disablePassivesLabel = Label(root,text="Enable/Disable Item Passives:")
- disablePassivesLabel.grid(row = 8, column = 0)
- rangdasPassiveVariable = BooleanVar()
- rangdasPassiveVariable.set(False)
- rangdasPassiveCheckBox = Checkbutton(root, text="Rangda's Mask", variable = rangdasPassiveVariable)
- rangdasPassiveCheckBox.grid(row = 8, column = 1)
- runeforgePassiveVariable = BooleanVar()
- runeforgePassiveVariable.set(False)
- runeforgePassiveCheckBox = Checkbutton(root, text="Runeforged Hammer", variable = runeforgePassiveVariable)
- runeforgePassiveCheckBox.grid(row = 8, column = 2)
- ferocityPassiveVariable = BooleanVar()
- ferocityPassiveVariable.set(False)
- ferocityPassiveCheckBox = Checkbutton(root, text="Jotunn's Ferocity", variable = ferocityPassiveVariable)
- ferocityPassiveCheckBox.grid(row = 8, column = 3)
- katanasEnabledVariable = BooleanVar()
- katanasEnabledVariable.set(False)
- katanasEnabledCheckBox = Checkbutton(root, text="Katana Tree", variable = katanasEnabledVariable)
- katanasEnabledCheckBox.grid(row = 8, column = 4)
- target1SortVariable = BooleanVar()
- target1SortVariable.set(False)
- target1SortCheckBox = Checkbutton(root, text="Sort Builds By Damage to Target 1", variable = target1SortVariable)
- target1SortCheckBox.grid(row = 9, column = 1)
- target2SortVariable = BooleanVar()
- target2SortVariable.set(False)
- target2SortCheckBox = Checkbutton(root, text="Sort Builds By Damage to Target 2", variable = target2SortVariable)
- target2SortCheckBox.grid(row = 9, column = 3)
- buildLimitForSorterLabel = Label(root,text="Number of Builds Displayed When Sorting:")
- buildLimitForSorterLabel.grid(row = 10, column = 0)
- buildLimitForSorterEntry = Entry(root, width=5)
- buildLimitForSorterEntry.grid(row = 10, column = 1)
- buildLimitForSorterEntry.insert(0,"20")
- root.mainloop()
Add Comment
Please, Sign In to add comment