diff --git a/EntranceRandomizer.py b/EntranceRandomizer.py index bada7a32..08d067de 100755 --- a/EntranceRandomizer.py +++ b/EntranceRandomizer.py @@ -204,17 +204,19 @@ def parse_arguments(argv, no_defaults=False): Random: Picks a random value between 0 and 7 (inclusive). 0-7: Number of crystals needed ''') - parser.add_argument('--crystals_gt', default=defval('7'), const='7', nargs='?', choices=['random', '0', '1', '2', '3', '4', '5', '6', '7'], + parser.add_argument('--crystals_gt', default=defval('7'), const='7', nargs='?', + choices=['random', '0', '1', '2', '3', '4', '5', '6', '7'], help='''\ How many crystals are needed to open GT. For inverted mode this applies to the castle tower door instead. (default: %(default)s) Random: Picks a random value between 0 and 7 (inclusive). 0-7: Number of crystals needed ''') - parser.add_argument('--openpyramid', default=defval(False), help='''\ + parser.add_argument('--open_pyramid', default=defval(False), help='''\ Pre-opens the pyramid hole, this removes the Agahnim 2 requirement for it ''', action='store_true') - parser.add_argument('--rom', default=defval('Zelda no Densetsu - Kamigami no Triforce (Japan).sfc'), help='Path to an ALttP JAP(1.0) rom to use as a base.') + parser.add_argument('--rom', default=defval('Zelda no Densetsu - Kamigami no Triforce (Japan).sfc'), + help='Path to an ALttP JAP(1.0) rom to use as a base.') parser.add_argument('--loglevel', default=defval('info'), const='info', nargs='?', choices=['error', 'info', 'warning', 'debug'], help='Select level of logging for output.') parser.add_argument('--seed', help='Define seed number to generate.', type=int) parser.add_argument('--count', help='''\ @@ -348,7 +350,7 @@ def parse_arguments(argv, no_defaults=False): playerargs = parse_arguments(shlex.split(getattr(ret, f"p{player}")), True) for name in ['logic', 'mode', 'swords', 'goal', 'difficulty', 'item_functionality', - 'shuffle', 'crystals_ganon', 'crystals_gt', 'openpyramid', 'timer', + 'shuffle', 'crystals_ganon', 'crystals_gt', 'open_pyramid', 'timer', 'mapshuffle', 'compassshuffle', 'keyshuffle', 'bigkeyshuffle', 'startinventory', 'local_items', 'retro', 'accessibility', 'hints', 'beemizer', 'shufflebosses', 'enemy_shuffle', 'enemy_health', 'enemy_damage', 'shufflepots', diff --git a/Gui.py b/Gui.py index ad5bf113..cd69f5e9 100755 --- a/Gui.py +++ b/Gui.py @@ -503,7 +503,7 @@ def guiMain(args=None): guiargs.create_spoiler = bool(createSpoilerVar.get()) guiargs.skip_playthrough = not bool(createSpoilerVar.get()) guiargs.suppress_rom = bool(suppressRomVar.get()) - guiargs.openpyramid = bool(openpyramidVar.get()) + guiargs.open_pyramid = bool(openpyramidVar.get()) guiargs.mapshuffle = bool(mapshuffleVar.get()) guiargs.compassshuffle = bool(compassshuffleVar.get()) guiargs.keyshuffle = {"on": True, "universal": "universal", "off": False}[keyshuffleVar.get()] diff --git a/Main.py b/Main.py index 1cfb7c72..53f72a04 100644 --- a/Main.py +++ b/Main.py @@ -62,7 +62,7 @@ def main(args, seed=None): world.crystals_needed_for_gt = { player: world.random.randint(0, 7) if args.crystals_gt[player] == 'random' else int(args.crystals_gt[player]) for player in range(1, world.players + 1)} - world.open_pyramid = args.openpyramid.copy() + world.open_pyramid = args.open_pyramid.copy() world.boss_shuffle = args.shufflebosses.copy() world.enemy_shuffle = args.enemy_shuffle.copy() world.enemy_health = args.enemy_health.copy() diff --git a/Mystery.py b/Mystery.py index 2dba3fef..6e519901 100644 --- a/Mystery.py +++ b/Mystery.py @@ -302,7 +302,9 @@ def roll_settings(weights): 'ganon_triforce_hunt': 'ganontriforcehunt', 'local_ganon_triforce_hunt': 'localganontriforcehunt' }[goal] - ret.openpyramid = goal in ['fast_ganon', 'ganon_triforce_hunt', 'local_ganon_triforce_hunt'] + + ret.open_pyramid = goal in ['fast_ganon', 'ganon_triforce_hunt', 'local_ganon_triforce_hunt'] \ + and ret.shuffle in {"vanilla", "dungeonssimple", "dungeonsfull"} ret.crystals_gt = get_choice('tower_open', weights)