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),
|
| (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)
|
((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)
|
(0x80 if w.bigkeyshuffle[p] else 0)
|
||||||
| (0x20 if w.mapshuffle[p] else 0) | (0x10 if w.compassshuffle[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.tools.BPS import create_bps_from_data
|
||||||
from source.classes.CustomSettings import CustomSettings
|
from source.classes.CustomSettings import CustomSettings
|
||||||
|
|
||||||
version_number = '1.2.0.13'
|
version_number = '1.2.0.14'
|
||||||
version_branch = '-u'
|
version_branch = '-u'
|
||||||
__version__ = f'{version_number}{version_branch}'
|
__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
|
# 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
|
* 1.2.0.13u
|
||||||
* Allow green/blue potion refills to be customized
|
* Allow green/blue potion refills to be customized
|
||||||
* OW Map showing dungeon entrance at Snitch Lady (West) fixed (instead of @ HC Courtyard)
|
* 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":
|
elif command == "keydropshuffle":
|
||||||
if widget.storageVar.get() > 0:
|
if widget.storageVar.get() > 0:
|
||||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["pottery"]
|
temp_widget = root.pages["randomizer"].pages["item"].widgets["pottery"]
|
||||||
text_output += f'\n {temp_widget.label.cget("text")}'
|
|
||||||
if temp_widget.storageVar.get() == 'none':
|
if temp_widget.storageVar.get() == 'none':
|
||||||
|
text_output += f'\n {temp_widget.label.cget("text")}'
|
||||||
temp_widget.storageVar.set('keys')
|
temp_widget.storageVar.set('keys')
|
||||||
|
|
||||||
temp_widget = root.pages["randomizer"].pages["item"].widgets["dropshuffle"]
|
temp_widget = root.pages["randomizer"].pages["item"].widgets["dropshuffle"]
|
||||||
temp_widget.storageVar.set(1)
|
if temp_widget.storageVar.get() == 0:
|
||||||
text_output += f'\n {temp_widget.checkbox.cget("text")}'
|
temp_widget.storageVar.set(1)
|
||||||
|
text_output += f'\n {temp_widget.checkbox.cget("text")}'
|
||||||
widget.storageVar.set(0)
|
if text_output:
|
||||||
messagebox.showinfo('', f'The following settings were changed:{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]:
|
if not avail.world.shufflelinks[avail.player]:
|
||||||
links_house = 'Big Bomb Shop' if avail.inverted else 'Links House'
|
links_house = 'Big Bomb Shop' if avail.inverted else 'Links House'
|
||||||
else:
|
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)
|
if avail.inverted else Isolated_LH_Doors_Open)
|
||||||
|
shuffle_mode = avail.world.shuffle[avail.player]
|
||||||
# simple shuffle -
|
# 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
|
avail.links_on_mountain = True # taken care of by the logic below
|
||||||
if avail.inverted: # in inverted, links house cannot be on the mountain
|
if avail.inverted: # in inverted, links house cannot be on the mountain
|
||||||
forbidden.extend(['Spike Cave', 'Dark Death Mountain Fairy', 'Hookshot Fairy'])
|
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
|
# 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
|
# todo: inverted full may have the same problem if both links house and a mandatory connector is chosen
|
||||||
# from the 3 inverted options
|
# 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
|
avail.links_on_mountain = True
|
||||||
forbidden.extend(['Spike Cave', 'Dark Death Mountain Fairy'])
|
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
|
# 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']
|
sanc_spawn_can_be_dark = (not avail.inverted and avail.world.doorShuffle[avail.player] in ['partitioned', 'crossed']
|
||||||
and avail.world.intensity[avail.player] >= 3)
|
and avail.world.intensity[avail.player] >= 3)
|
||||||
|
|||||||
Reference in New Issue
Block a user