Release notes and minor cleanup
This commit is contained in:
@@ -3010,7 +3010,7 @@ class Settings(object):
|
||||
| (counter_mode[w.dungeon_counters[p]] << 1) | (1 if w.experimental[p] else 0),
|
||||
|
||||
((8 if w.crystals_ganon_orig[p] == "random" else int(w.crystals_ganon_orig[p])) << 3)
|
||||
| (0x4 if w.is_pyramid_open[p] else 0) | access_mode[w.accessibility[p]],
|
||||
| (0x4 if w.is_pyramid_open(p) else 0) | access_mode[w.accessibility[p]],
|
||||
|
||||
(0x80 if w.bigkeyshuffle[p] else 0)
|
||||
| (0x20 if w.mapshuffle[p] else 0) | (0x10 if w.compassshuffle[p] else 0)
|
||||
|
||||
2
Main.py
2
Main.py
@@ -34,7 +34,7 @@ from source.overworld.EntranceShuffle2 import link_entrances_new
|
||||
from source.tools.BPS import create_bps_from_data
|
||||
from source.classes.CustomSettings import CustomSettings
|
||||
|
||||
version_number = '1.2.0.13'
|
||||
version_number = '1.2.0.14'
|
||||
version_branch = '-u'
|
||||
__version__ = f'{version_number}{version_branch}'
|
||||
|
||||
|
||||
@@ -109,6 +109,15 @@ These are now independent of retro mode and have three options: None, Random, an
|
||||
|
||||
# Bug Fixes and Notes
|
||||
|
||||
* 1.2.0.14u
|
||||
* GUI reorganization
|
||||
* Auto option for pyramid open (trinity or ER + crystals goal)
|
||||
* World model refactor (combining inverted and normal world models)
|
||||
* Partitioned fix for lamp logic and links house
|
||||
* Fix starting flute logic
|
||||
* Reduced universal keys in pool slightly for non-vanilla dungeons
|
||||
* Fake world fix finally
|
||||
* Some extra restrictions on links house placement for lite/lean
|
||||
* 1.2.0.13u
|
||||
* Allow green/blue potion refills to be customized
|
||||
* OW Map showing dungeon entrance at Snitch Lady (West) fixed (instead of @ HC Courtyard)
|
||||
|
||||
@@ -266,13 +266,24 @@ def widget_command(widget, command=""):
|
||||
elif command == "keydropshuffle":
|
||||
if widget.storageVar.get() > 0:
|
||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["pottery"]
|
||||
text_output += f'\n {temp_widget.label.cget("text")}'
|
||||
if temp_widget.storageVar.get() == 'none':
|
||||
text_output += f'\n {temp_widget.label.cget("text")}'
|
||||
temp_widget.storageVar.set('keys')
|
||||
|
||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["dropshuffle"]
|
||||
temp_widget.storageVar.set(1)
|
||||
text_output += f'\n {temp_widget.checkbox.cget("text")}'
|
||||
|
||||
widget.storageVar.set(0)
|
||||
messagebox.showinfo('', f'The following settings were changed:{text_output}')
|
||||
if temp_widget.storageVar.get() == 0:
|
||||
temp_widget.storageVar.set(1)
|
||||
text_output += f'\n {temp_widget.checkbox.cget("text")}'
|
||||
if text_output:
|
||||
messagebox.showinfo('', f'The following settings were changed:{text_output}')
|
||||
else:
|
||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["pottery"]
|
||||
if temp_widget.storageVar.get() == 'keys':
|
||||
text_output += f'\n {temp_widget.label.cget("text")}'
|
||||
temp_widget.storageVar.set('none')
|
||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["dropshuffle"]
|
||||
if temp_widget.storageVar.get() == 1:
|
||||
temp_widget.storageVar.set(0)
|
||||
text_output += f'\n {temp_widget.checkbox.cget("text")}'
|
||||
if text_output:
|
||||
messagebox.showinfo('', f'The following settings were changed:{text_output}')
|
||||
|
||||
@@ -425,10 +425,11 @@ def do_links_house(entrances, exits, avail, cross_world):
|
||||
if not avail.world.shufflelinks[avail.player]:
|
||||
links_house = 'Big Bomb Shop' if avail.inverted else 'Links House'
|
||||
else:
|
||||
forbidden = list(Isolated_LH_Doors_Inv + Inverted_Dark_Sanctuary_Doors
|
||||
forbidden = list((Isolated_LH_Doors_Inv + Inverted_Dark_Sanctuary_Doors)
|
||||
if avail.inverted else Isolated_LH_Doors_Open)
|
||||
shuffle_mode = avail.world.shuffle[avail.player]
|
||||
# simple shuffle -
|
||||
if avail.world.shuffle[avail.player] == 'simple':
|
||||
if shuffle_mode == 'simple':
|
||||
avail.links_on_mountain = True # taken care of by the logic below
|
||||
if avail.inverted: # in inverted, links house cannot be on the mountain
|
||||
forbidden.extend(['Spike Cave', 'Dark Death Mountain Fairy', 'Hookshot Fairy'])
|
||||
@@ -441,10 +442,11 @@ def do_links_house(entrances, exits, avail, cross_world):
|
||||
# can't have links house on eddm in restricted because Inverted Aga Tower isn't available
|
||||
# todo: inverted full may have the same problem if both links house and a mandatory connector is chosen
|
||||
# from the 3 inverted options
|
||||
if avail.world.shuffle[avail.player] in ['restricted'] and avail.inverted:
|
||||
if shuffle_mode in ['restricted'] and avail.inverted:
|
||||
avail.links_on_mountain = True
|
||||
forbidden.extend(['Spike Cave', 'Dark Death Mountain Fairy'])
|
||||
|
||||
if shuffle_mode in ['lite', 'lean']:
|
||||
forbidden.extend(['Spike Cave', 'Mire Shed'])
|
||||
# lobby shuffle means you ought to keep links house in the same world
|
||||
sanc_spawn_can_be_dark = (not avail.inverted and avail.world.doorShuffle[avail.player] in ['partitioned', 'crossed']
|
||||
and avail.world.intensity[avail.player] >= 3)
|
||||
|
||||
Reference in New Issue
Block a user