Sort Item Randomizer
This commit is contained in:
172
Gui.py
172
Gui.py
@@ -12,6 +12,7 @@ from urllib.request import urlopen
|
|||||||
|
|
||||||
from AdjusterMain import adjust
|
from AdjusterMain import adjust
|
||||||
from DungeonRandomizer import parse_arguments
|
from DungeonRandomizer import parse_arguments
|
||||||
|
from gui.randomize.item import item_page
|
||||||
from GuiUtils import ToolTips, set_icon, BackgroundTaskProgress
|
from GuiUtils import ToolTips, set_icon, BackgroundTaskProgress
|
||||||
from Main import main, __version__ as ESVersion
|
from Main import main, __version__ as ESVersion
|
||||||
from Rom import Sprite
|
from Rom import Sprite
|
||||||
@@ -69,7 +70,7 @@ def guiMain(args=None):
|
|||||||
randomizerNotebook = ttk.Notebook(randomizerWindow)
|
randomizerNotebook = ttk.Notebook(randomizerWindow)
|
||||||
|
|
||||||
# Item Randomizer
|
# Item Randomizer
|
||||||
itemWindow = ttk.Frame(randomizerNotebook)
|
itemWindow = item_page(randomizerNotebook)
|
||||||
randomizerNotebook.add(itemWindow, text="Items")
|
randomizerNotebook.add(itemWindow, text="Items")
|
||||||
|
|
||||||
# Entrance Randomizer
|
# Entrance Randomizer
|
||||||
@@ -119,8 +120,6 @@ def guiMain(args=None):
|
|||||||
keyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="Keys", variable=keyshuffleVar)
|
keyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="Keys", variable=keyshuffleVar)
|
||||||
bigkeyshuffleVar = IntVar()
|
bigkeyshuffleVar = IntVar()
|
||||||
bigkeyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="BigKeys", variable=bigkeyshuffleVar)
|
bigkeyshuffleCheckbutton = Checkbutton(mcsbshuffleFrame, text="BigKeys", variable=bigkeyshuffleVar)
|
||||||
retroVar = IntVar()
|
|
||||||
retroCheckbutton = Checkbutton(checkBoxFrame, text="Retro mode (universal keys)", variable=retroVar)
|
|
||||||
shuffleGanonVar = IntVar()
|
shuffleGanonVar = IntVar()
|
||||||
shuffleGanonVar.set(1) #set default
|
shuffleGanonVar.set(1) #set default
|
||||||
shuffleGanonCheckbutton = Checkbutton(checkBoxFrame, text="Include Ganon's Tower and Pyramid Hole in shuffle pool", variable=shuffleGanonVar)
|
shuffleGanonCheckbutton = Checkbutton(checkBoxFrame, text="Include Ganon's Tower and Pyramid Hole in shuffle pool", variable=shuffleGanonVar)
|
||||||
@@ -139,7 +138,6 @@ def guiMain(args=None):
|
|||||||
compassshuffleCheckbutton.grid(row=0, column=2)
|
compassshuffleCheckbutton.grid(row=0, column=2)
|
||||||
keyshuffleCheckbutton.grid(row=0, column=3)
|
keyshuffleCheckbutton.grid(row=0, column=3)
|
||||||
bigkeyshuffleCheckbutton.grid(row=0, column=4)
|
bigkeyshuffleCheckbutton.grid(row=0, column=4)
|
||||||
retroCheckbutton.pack(expand=True, anchor=W)
|
|
||||||
shuffleGanonCheckbutton.pack(expand=True, anchor=W)
|
shuffleGanonCheckbutton.pack(expand=True, anchor=W)
|
||||||
hintsCheckbutton.pack(expand=True, anchor=W)
|
hintsCheckbutton.pack(expand=True, anchor=W)
|
||||||
customCheckbutton.pack(expand=True, anchor=W)
|
customCheckbutton.pack(expand=True, anchor=W)
|
||||||
@@ -252,102 +250,6 @@ def guiMain(args=None):
|
|||||||
|
|
||||||
drowDownFrame = Frame(topFrame)
|
drowDownFrame = Frame(topFrame)
|
||||||
|
|
||||||
modeFrame = Frame(drowDownFrame)
|
|
||||||
modeVar = StringVar()
|
|
||||||
modeVar.set('open')
|
|
||||||
modeOptionMenu = OptionMenu(modeFrame, modeVar, 'standard', 'open', 'inverted')
|
|
||||||
modeOptionMenu.pack(side=RIGHT)
|
|
||||||
modeLabel = Label(modeFrame, text='Game mode')
|
|
||||||
modeLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
logicFrame = Frame(drowDownFrame)
|
|
||||||
logicVar = StringVar()
|
|
||||||
logicVar.set('noglitches')
|
|
||||||
logicOptionMenu = OptionMenu(logicFrame, logicVar, 'noglitches', 'minorglitches', 'nologic')
|
|
||||||
logicOptionMenu.pack(side=RIGHT)
|
|
||||||
logicLabel = Label(logicFrame, text='Game logic')
|
|
||||||
logicLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
goalFrame = Frame(drowDownFrame)
|
|
||||||
goalVar = StringVar()
|
|
||||||
goalVar.set('ganon')
|
|
||||||
goalOptionMenu = OptionMenu(goalFrame, goalVar, 'ganon', 'pedestal', 'dungeons', 'triforcehunt', 'crystals')
|
|
||||||
goalOptionMenu.pack(side=RIGHT)
|
|
||||||
goalLabel = Label(goalFrame, text='Game goal')
|
|
||||||
goalLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
crystalsGTFrame = Frame(drowDownFrame)
|
|
||||||
crystalsGTVar = StringVar()
|
|
||||||
crystalsGTVar.set('7')
|
|
||||||
crystalsGTOptionMenu = OptionMenu(crystalsGTFrame, crystalsGTVar, '0', '1', '2', '3', '4', '5', '6', '7', 'random')
|
|
||||||
crystalsGTOptionMenu.pack(side=RIGHT)
|
|
||||||
crystalsGTLabel = Label(crystalsGTFrame, text='Crystals to open Ganon\'s Tower')
|
|
||||||
crystalsGTLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
crystalsGanonFrame = Frame(drowDownFrame)
|
|
||||||
crystalsGanonVar = StringVar()
|
|
||||||
crystalsGanonVar.set('7')
|
|
||||||
crystalsGanonOptionMenu = OptionMenu(crystalsGanonFrame, crystalsGanonVar, '0', '1', '2', '3', '4', '5', '6', '7', 'random')
|
|
||||||
crystalsGanonOptionMenu.pack(side=RIGHT)
|
|
||||||
crystalsGanonLabel = Label(crystalsGanonFrame, text='Crystals to fight Ganon')
|
|
||||||
crystalsGanonLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
swordFrame = Frame(drowDownFrame)
|
|
||||||
swordVar = StringVar()
|
|
||||||
swordVar.set('random')
|
|
||||||
swordOptionMenu = OptionMenu(swordFrame, swordVar, 'random', 'assured', 'swordless', 'vanilla')
|
|
||||||
swordOptionMenu.pack(side=RIGHT)
|
|
||||||
swordLabel = Label(swordFrame, text='Sword availability')
|
|
||||||
swordLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
difficultyFrame = Frame(drowDownFrame)
|
|
||||||
difficultyVar = StringVar()
|
|
||||||
difficultyVar.set('normal')
|
|
||||||
difficultyOptionMenu = OptionMenu(difficultyFrame, difficultyVar, 'normal', 'hard', 'expert')
|
|
||||||
difficultyOptionMenu.pack(side=RIGHT)
|
|
||||||
difficultyLabel = Label(difficultyFrame, text='Difficulty: item pool')
|
|
||||||
difficultyLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
itemfunctionFrame = Frame(drowDownFrame)
|
|
||||||
itemfunctionVar = StringVar()
|
|
||||||
itemfunctionVar.set('normal')
|
|
||||||
itemfunctionOptionMenu = OptionMenu(itemfunctionFrame, itemfunctionVar, 'normal', 'hard', 'expert')
|
|
||||||
itemfunctionOptionMenu.pack(side=RIGHT)
|
|
||||||
itemfunctionLabel = Label(itemfunctionFrame, text='Difficulty: item functionality')
|
|
||||||
itemfunctionLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
timerFrame = Frame(drowDownFrame)
|
|
||||||
timerVar = StringVar()
|
|
||||||
timerVar.set('none')
|
|
||||||
timerOptionMenu = OptionMenu(timerFrame, timerVar, 'none', 'display', 'timed', 'timed-ohko', 'ohko', 'timed-countdown')
|
|
||||||
timerOptionMenu.pack(side=RIGHT)
|
|
||||||
timerLabel = Label(timerFrame, text='Timer setting')
|
|
||||||
timerLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
progressiveFrame = Frame(drowDownFrame)
|
|
||||||
progressiveVar = StringVar()
|
|
||||||
progressiveVar.set('on')
|
|
||||||
progressiveOptionMenu = OptionMenu(progressiveFrame, progressiveVar, 'on', 'off', 'random')
|
|
||||||
progressiveOptionMenu.pack(side=RIGHT)
|
|
||||||
progressiveLabel = Label(progressiveFrame, text='Progressive equipment')
|
|
||||||
progressiveLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
accessibilityFrame = Frame(drowDownFrame)
|
|
||||||
accessibilityVar = StringVar()
|
|
||||||
accessibilityVar.set('items')
|
|
||||||
accessibilityOptionMenu = OptionMenu(accessibilityFrame, accessibilityVar, 'items', 'locations', 'none')
|
|
||||||
accessibilityOptionMenu.pack(side=RIGHT)
|
|
||||||
accessibilityLabel = Label(accessibilityFrame, text='Item accessibility')
|
|
||||||
accessibilityLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
algorithmFrame = Frame(drowDownFrame)
|
|
||||||
algorithmVar = StringVar()
|
|
||||||
algorithmVar.set('balanced')
|
|
||||||
algorithmOptionMenu = OptionMenu(algorithmFrame, algorithmVar, 'freshness', 'flood', 'vt21', 'vt22', 'vt25', 'vt26', 'balanced')
|
|
||||||
algorithmOptionMenu.pack(side=RIGHT)
|
|
||||||
algorithmLabel = Label(algorithmFrame, text='Item distribution algorithm')
|
|
||||||
algorithmLabel.pack(side=LEFT)
|
|
||||||
|
|
||||||
shuffleFrame = Frame(drowDownFrame)
|
shuffleFrame = Frame(drowDownFrame)
|
||||||
shuffleVar = StringVar()
|
shuffleVar = StringVar()
|
||||||
shuffleVar.set('vanilla')
|
shuffleVar.set('vanilla')
|
||||||
@@ -364,24 +266,6 @@ def guiMain(args=None):
|
|||||||
doorShuffleLabel = Label(doorShuffleFrame, text='Door shuffle algorithm')
|
doorShuffleLabel = Label(doorShuffleFrame, text='Door shuffle algorithm')
|
||||||
doorShuffleLabel.pack(side=LEFT)
|
doorShuffleLabel.pack(side=LEFT)
|
||||||
|
|
||||||
logicFrame.pack(expand=True, anchor=E)
|
|
||||||
accessibilityFrame.pack(expand=True, anchor=E)
|
|
||||||
|
|
||||||
goalFrame.pack(expand=True, anchor=E)
|
|
||||||
crystalsGTFrame.pack(expand=True, anchor=E)
|
|
||||||
crystalsGanonFrame.pack(expand=True, anchor=E)
|
|
||||||
|
|
||||||
modeFrame.pack(expand=True, anchor=E)
|
|
||||||
shuffleFrame.pack(expand=True, anchor=E)
|
|
||||||
doorShuffleFrame.pack(expand=True, anchor=E)
|
|
||||||
|
|
||||||
difficultyFrame.pack(expand=True, anchor=E)
|
|
||||||
itemfunctionFrame.pack(expand=True, anchor=E)
|
|
||||||
timerFrame.pack(expand=True, anchor=E)
|
|
||||||
progressiveFrame.pack(expand=True, anchor=E)
|
|
||||||
accessibilityFrame.pack(expand=True, anchor=E)
|
|
||||||
algorithmFrame.pack(expand=True, anchor=E)
|
|
||||||
|
|
||||||
enemizerFrame = LabelFrame(sortWindow, text="Enemizer", padx=5, pady=2)
|
enemizerFrame = LabelFrame(sortWindow, text="Enemizer", padx=5, pady=2)
|
||||||
enemizerFrame.columnconfigure(0, weight=1)
|
enemizerFrame.columnconfigure(0, weight=1)
|
||||||
enemizerFrame.columnconfigure(1, weight=1)
|
enemizerFrame.columnconfigure(1, weight=1)
|
||||||
@@ -463,19 +347,19 @@ def guiMain(args=None):
|
|||||||
guiargs.names = namesVar.get()
|
guiargs.names = namesVar.get()
|
||||||
guiargs.seed = int(seedVar.get()) if seedVar.get() else None
|
guiargs.seed = int(seedVar.get()) if seedVar.get() else None
|
||||||
guiargs.count = int(countVar.get()) if countVar.get() != '1' else None
|
guiargs.count = int(countVar.get()) if countVar.get() != '1' else None
|
||||||
guiargs.mode = modeVar.get()
|
guiargs.mode = itemWindow.modeVar.get()
|
||||||
guiargs.logic = logicVar.get()
|
guiargs.logic = itemWindow.logicVar.get()
|
||||||
|
|
||||||
guiargs.goal = goalVar.get()
|
guiargs.goal = itemWindow.goalVar.get()
|
||||||
guiargs.crystals_gt = crystalsGTVar.get()
|
guiargs.crystals_gt = itemWindow.crystalsGTVar.get()
|
||||||
guiargs.crystals_ganon = crystalsGanonVar.get()
|
guiargs.crystals_ganon = itemWindow.crystalsGanonVar.get()
|
||||||
guiargs.swords = swordVar.get()
|
guiargs.swords = itemWindow.swordVar.get()
|
||||||
guiargs.difficulty = difficultyVar.get()
|
guiargs.difficulty = itemWindow.difficultyVar.get()
|
||||||
guiargs.item_functionality = itemfunctionVar.get()
|
guiargs.item_functionality = itemWindow.itemfunctionVar.get()
|
||||||
guiargs.timer = timerVar.get()
|
guiargs.timer = itemWindow.timerVar.get()
|
||||||
guiargs.progressive = progressiveVar.get()
|
guiargs.progressive = itemWindow.progressiveVar.get()
|
||||||
guiargs.accessibility = accessibilityVar.get()
|
guiargs.accessibility = itemWindow.accessibilityVar.get()
|
||||||
guiargs.algorithm = algorithmVar.get()
|
guiargs.algorithm = itemWindow.algorithmVar.get()
|
||||||
guiargs.shuffle = shuffleVar.get()
|
guiargs.shuffle = shuffleVar.get()
|
||||||
guiargs.door_shuffle = doorShuffleVar.get()
|
guiargs.door_shuffle = doorShuffleVar.get()
|
||||||
guiargs.heartbeep = heartbeepVar.get()
|
guiargs.heartbeep = heartbeepVar.get()
|
||||||
@@ -489,7 +373,7 @@ def guiMain(args=None):
|
|||||||
guiargs.compassshuffle = bool(compassshuffleVar.get())
|
guiargs.compassshuffle = bool(compassshuffleVar.get())
|
||||||
guiargs.keyshuffle = bool(keyshuffleVar.get())
|
guiargs.keyshuffle = bool(keyshuffleVar.get())
|
||||||
guiargs.bigkeyshuffle = bool(bigkeyshuffleVar.get())
|
guiargs.bigkeyshuffle = bool(bigkeyshuffleVar.get())
|
||||||
guiargs.retro = bool(retroVar.get())
|
guiargs.retro = bool(itemWindow.retroVar.get())
|
||||||
guiargs.quickswap = bool(quickSwapVar.get())
|
guiargs.quickswap = bool(quickSwapVar.get())
|
||||||
guiargs.disablemusic = bool(disableMusicVar.get())
|
guiargs.disablemusic = bool(disableMusicVar.get())
|
||||||
guiargs.ow_palettes = owPalettesVar.get()
|
guiargs.ow_palettes = owPalettesVar.get()
|
||||||
@@ -1273,7 +1157,7 @@ def guiMain(args=None):
|
|||||||
compassshuffleVar.set(args.compassshuffle)
|
compassshuffleVar.set(args.compassshuffle)
|
||||||
keyshuffleVar.set(args.keyshuffle)
|
keyshuffleVar.set(args.keyshuffle)
|
||||||
bigkeyshuffleVar.set(args.bigkeyshuffle)
|
bigkeyshuffleVar.set(args.bigkeyshuffle)
|
||||||
retroVar.set(args.retro)
|
itemWindow.retroVar.set(args.retro)
|
||||||
openpyramidVar.set(args.openpyramid)
|
openpyramidVar.set(args.openpyramid)
|
||||||
quickSwapVar.set(int(args.quickswap))
|
quickSwapVar.set(int(args.quickswap))
|
||||||
disableMusicVar.set(int(args.disablemusic))
|
disableMusicVar.set(int(args.disablemusic))
|
||||||
@@ -1283,23 +1167,23 @@ def guiMain(args=None):
|
|||||||
countVar.set(str(args.count))
|
countVar.set(str(args.count))
|
||||||
if args.seed:
|
if args.seed:
|
||||||
seedVar.set(str(args.seed))
|
seedVar.set(str(args.seed))
|
||||||
modeVar.set(args.mode)
|
itemWindow.modeVar.set(args.mode)
|
||||||
swordVar.set(args.swords)
|
itemWindow.swordVar.set(args.swords)
|
||||||
difficultyVar.set(args.difficulty)
|
itemWindow.difficultyVar.set(args.difficulty)
|
||||||
itemfunctionVar.set(args.item_functionality)
|
itemWindow.itemfunctionVar.set(args.item_functionality)
|
||||||
timerVar.set(args.timer)
|
itemWindow.timerVar.set(args.timer)
|
||||||
progressiveVar.set(args.progressive)
|
itemWindow.progressiveVar.set(args.progressive)
|
||||||
accessibilityVar.set(args.accessibility)
|
itemWindow.accessibilityVar.set(args.accessibility)
|
||||||
goalVar.set(args.goal)
|
itemWindow.goalVar.set(args.goal)
|
||||||
crystalsGTVar.set(args.crystals_gt)
|
itemWindow.crystalsGTVar.set(args.crystals_gt)
|
||||||
crystalsGanonVar.set(args.crystals_ganon)
|
itemWindow.crystalsGanonVar.set(args.crystals_ganon)
|
||||||
algorithmVar.set(args.algorithm)
|
itemWindow.algorithmVar.set(args.algorithm)
|
||||||
shuffleVar.set(args.shuffle)
|
shuffleVar.set(args.shuffle)
|
||||||
doorShuffleVar.set(args.door_shuffle)
|
doorShuffleVar.set(args.door_shuffle)
|
||||||
heartcolorVar.set(args.heartcolor)
|
heartcolorVar.set(args.heartcolor)
|
||||||
heartbeepVar.set(args.heartbeep)
|
heartbeepVar.set(args.heartbeep)
|
||||||
fastMenuVar.set(args.fastmenu)
|
fastMenuVar.set(args.fastmenu)
|
||||||
logicVar.set(args.logic)
|
itemWindow.logicVar.set(args.logic)
|
||||||
romVar.set(args.rom)
|
romVar.set(args.rom)
|
||||||
shuffleGanonVar.set(args.shuffleganon)
|
shuffleGanonVar.set(args.shuffleganon)
|
||||||
hintsVar.set(args.hints)
|
hintsVar.set(args.hints)
|
||||||
|
|||||||
139
gui/randomize/item.py
Normal file
139
gui/randomize/item.py
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
from tkinter import ttk, IntVar, StringVar, Checkbutton, Frame, Label, OptionMenu, E, W, LEFT, RIGHT
|
||||||
|
|
||||||
|
def item_page(parent):
|
||||||
|
# Item Randomizer
|
||||||
|
self = ttk.Frame(parent)
|
||||||
|
|
||||||
|
# Item Randomizer options
|
||||||
|
## Retro (eventually needs to become a World State)
|
||||||
|
self.retroVar = IntVar()
|
||||||
|
retroCheckbutton = Checkbutton(self, text="Retro mode (universal keys)", variable=self.retroVar)
|
||||||
|
retroCheckbutton.pack(anchor=W)
|
||||||
|
|
||||||
|
leftItemFrame = Frame(self)
|
||||||
|
rightItemFrame = Frame(self)
|
||||||
|
leftItemFrame.pack(side=LEFT)
|
||||||
|
rightItemFrame.pack(side=RIGHT)
|
||||||
|
|
||||||
|
## World State
|
||||||
|
modeFrame = Frame(leftItemFrame)
|
||||||
|
self.modeVar = StringVar()
|
||||||
|
self.modeVar.set('open')
|
||||||
|
modeOptionMenu = OptionMenu(modeFrame, self.modeVar, 'standard', 'open', 'inverted')
|
||||||
|
modeOptionMenu.pack(side=RIGHT)
|
||||||
|
modeLabel = Label(modeFrame, text='World State')
|
||||||
|
modeLabel.pack(side=LEFT)
|
||||||
|
modeFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Logic Level
|
||||||
|
logicFrame = Frame(leftItemFrame)
|
||||||
|
self.logicVar = StringVar()
|
||||||
|
self.logicVar.set('noglitches')
|
||||||
|
logicOptionMenu = OptionMenu(logicFrame, self.logicVar, 'noglitches', 'minorglitches', 'nologic')
|
||||||
|
logicOptionMenu.pack(side=RIGHT)
|
||||||
|
logicLabel = Label(logicFrame, text='Game Logic')
|
||||||
|
logicLabel.pack(side=LEFT)
|
||||||
|
logicFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
goalFrame = Frame(leftItemFrame)
|
||||||
|
self.goalVar = StringVar()
|
||||||
|
self.goalVar.set('ganon')
|
||||||
|
goalOptionMenu = OptionMenu(goalFrame, self.goalVar, 'ganon', 'pedestal', 'dungeons', 'triforcehunt', 'crystals')
|
||||||
|
goalOptionMenu.pack(side=RIGHT)
|
||||||
|
goalLabel = Label(goalFrame, text='Goal')
|
||||||
|
goalLabel.pack(side=LEFT)
|
||||||
|
goalFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Number of crystals to open GT
|
||||||
|
crystalsGTFrame = Frame(leftItemFrame)
|
||||||
|
self.crystalsGTVar = StringVar()
|
||||||
|
self.crystalsGTVar.set('7')
|
||||||
|
crystalsGTOptionMenu = OptionMenu(crystalsGTFrame, self.crystalsGTVar, '0', '1', '2', '3', '4', '5', '6', '7', 'random')
|
||||||
|
crystalsGTOptionMenu.pack(side=RIGHT)
|
||||||
|
crystalsGTLabel = Label(crystalsGTFrame, text='Crystals to open Ganon\'s Tower')
|
||||||
|
crystalsGTLabel.pack(side=LEFT)
|
||||||
|
crystalsGTFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Number of crystals to damage Ganon
|
||||||
|
crystalsGanonFrame = Frame(leftItemFrame)
|
||||||
|
self.crystalsGanonVar = StringVar()
|
||||||
|
self.crystalsGanonVar.set('7')
|
||||||
|
crystalsGanonOptionMenu = OptionMenu(crystalsGanonFrame, self.crystalsGanonVar, '0', '1', '2', '3', '4', '5', '6', '7', 'random')
|
||||||
|
crystalsGanonOptionMenu.pack(side=RIGHT)
|
||||||
|
crystalsGanonLabel = Label(crystalsGanonFrame, text='Crystals to fight Ganon')
|
||||||
|
crystalsGanonLabel.pack(side=LEFT)
|
||||||
|
crystalsGanonFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Weapons
|
||||||
|
swordFrame = Frame(leftItemFrame)
|
||||||
|
self.swordVar = StringVar()
|
||||||
|
self.swordVar.set('random')
|
||||||
|
swordOptionMenu = OptionMenu(swordFrame, self.swordVar, 'random', 'assured', 'swordless', 'vanilla')
|
||||||
|
swordOptionMenu.pack(side=RIGHT)
|
||||||
|
swordLabel = Label(swordFrame, text='Sword availability')
|
||||||
|
swordLabel.pack(side=LEFT)
|
||||||
|
swordFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Item Pool
|
||||||
|
difficultyFrame = Frame(rightItemFrame)
|
||||||
|
self.difficultyVar = StringVar()
|
||||||
|
self.difficultyVar.set('normal')
|
||||||
|
difficultyOptionMenu = OptionMenu(difficultyFrame, self.difficultyVar, 'normal', 'hard', 'expert')
|
||||||
|
difficultyOptionMenu.pack(side=RIGHT)
|
||||||
|
difficultyLabel = Label(difficultyFrame, text='Difficulty: item pool')
|
||||||
|
difficultyLabel.pack(side=LEFT)
|
||||||
|
difficultyFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Item Functionality
|
||||||
|
itemfunctionFrame = Frame(rightItemFrame)
|
||||||
|
self.itemfunctionVar = StringVar()
|
||||||
|
self.itemfunctionVar.set('normal')
|
||||||
|
itemfunctionOptionMenu = OptionMenu(itemfunctionFrame, self.itemfunctionVar, 'normal', 'hard', 'expert')
|
||||||
|
itemfunctionOptionMenu.pack(side=RIGHT)
|
||||||
|
itemfunctionLabel = Label(itemfunctionFrame, text='Difficulty: item functionality')
|
||||||
|
itemfunctionLabel.pack(side=LEFT)
|
||||||
|
itemfunctionFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Timer setting
|
||||||
|
timerFrame = Frame(rightItemFrame)
|
||||||
|
self.timerVar = StringVar()
|
||||||
|
self.timerVar.set('none')
|
||||||
|
timerOptionMenu = OptionMenu(timerFrame, self.timerVar, 'none', 'display', 'timed', 'timed-ohko', 'ohko', 'timed-countdown')
|
||||||
|
timerOptionMenu.pack(side=RIGHT)
|
||||||
|
timerLabel = Label(timerFrame, text='Timer setting')
|
||||||
|
timerLabel.pack(side=LEFT)
|
||||||
|
timerFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Progressives: On/Off
|
||||||
|
progressiveFrame = Frame(rightItemFrame)
|
||||||
|
self.progressiveVar = StringVar()
|
||||||
|
self.progressiveVar.set('on')
|
||||||
|
progressiveOptionMenu = OptionMenu(progressiveFrame, self.progressiveVar, 'on', 'off', 'random')
|
||||||
|
progressiveOptionMenu.pack(side=RIGHT)
|
||||||
|
progressiveLabel = Label(progressiveFrame, text='Progressive equipment')
|
||||||
|
progressiveLabel.pack(side=LEFT)
|
||||||
|
progressiveFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Accessibilty
|
||||||
|
accessibilityFrame = Frame(rightItemFrame)
|
||||||
|
self.accessibilityVar = StringVar()
|
||||||
|
self.accessibilityVar.set('items')
|
||||||
|
accessibilityOptionMenu = OptionMenu(accessibilityFrame, self.accessibilityVar, 'items', 'locations', 'none')
|
||||||
|
accessibilityOptionMenu.pack(side=RIGHT)
|
||||||
|
accessibilityLabel = Label(accessibilityFrame, text='Item accessibility')
|
||||||
|
accessibilityLabel.pack(side=LEFT)
|
||||||
|
accessibilityFrame.pack(anchor=E)
|
||||||
|
accessibilityFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
## Item Sorting Algorithm
|
||||||
|
algorithmFrame = Frame(rightItemFrame)
|
||||||
|
self.algorithmVar = StringVar()
|
||||||
|
self.algorithmVar.set('balanced')
|
||||||
|
algorithmOptionMenu = OptionMenu(algorithmFrame, self.algorithmVar, 'freshness', 'flood', 'vt21', 'vt22', 'vt25', 'vt26', 'balanced')
|
||||||
|
algorithmOptionMenu.pack(side=RIGHT)
|
||||||
|
algorithmLabel = Label(algorithmFrame, text='Item distribution algorithm')
|
||||||
|
algorithmLabel.pack(side=LEFT)
|
||||||
|
algorithmFrame.pack(anchor=E)
|
||||||
|
|
||||||
|
return self
|
||||||
Reference in New Issue
Block a user