diff --git a/BaseClasses.py b/BaseClasses.py index ab008eff..2f06414a 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1267,7 +1267,7 @@ class Door(object): self.passage = True self.dungeonLink = None self.bk_shuffle_req = False - self.standard_restrict = False # flag if portal is not allowed in HC in standard + self.standard_restricted = False # flag if portal is not allowed in HC in standard # self.incognitoPos = -1 # self.sectorLink = False diff --git a/CHANGELOG.md b/CHANGELOG.md index da7abe6b..d24f0c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### 0.1.2.1 +- Made possible fix for Standard +- Merged DR v0.3.1.10 - Fixed Standard generation + ### 0.1.2.0 - Added 'Parallel Worlds' toggle option - Updated shuffle algorithm diff --git a/DungeonGenerator.py b/DungeonGenerator.py index 37f77e7d..9bb73802 100644 --- a/DungeonGenerator.py +++ b/DungeonGenerator.py @@ -1266,7 +1266,7 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player, reverse_d_map[sector] = key if world.mode[player] == 'standard': current_dungeon = dungeon_map['Hyrule Castle'] - standard_stair_check(world, dungeon_map, current_dungeon, candidate_sectors, global_pole) + standard_stair_check(dungeon_map, current_dungeon, candidate_sectors, global_pole) complete_dungeons = {x: y for x, y in dungeon_map.items() if sum(len(sector.outstanding_doors) for sector in y.sectors) <= 0} [dungeon_map.pop(key) for key in complete_dungeons.keys()] diff --git a/Main.py b/Main.py index 7e6e9233..45ae4d02 100644 --- a/Main.py +++ b/Main.py @@ -28,7 +28,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from Utils import output_path, parse_player_names -__version__ = '0.3.1.8-u' +__version__ = '0.3.1.10u' class EnemizerError(RuntimeError): diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 16225518..901582f2 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -3,7 +3,7 @@ from BaseClasses import OWEdge, WorldType, Direction, Terrain from Utils import bidict from OWEdges import OWEdgeGroups, IsParallel -__version__ = '0.1.2.0-u' +__version__ = '0.1.2.1u' def link_overworld(world, player): # setup mandatory connections diff --git a/README.md b/README.md index 937f0a7f..178039af 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ This is a very new mode of LTTPR so the tools and info is very limited. There is ### If you want to playtest this, know these things: - Big Red Bomb may require bomb duping as ledge drops may be in the way of your path to the Pyramid Fairy crack - Do NOT grab the Frogsmith until you have seen the Blacksmith location. Doing so may prevent you from continuing in your save file. -- Inverted/Standard regions/rules/logic is NOT implemented yet. Generation should fail 100%. +- Inverted regions/rules/logic is NOT implemented yet. Generation should fail 100%. - If you fake flipper, beware of transitioning south. You could end up at the top of the waterfall in the southeast of either world. If you mistakenly drop down, it is important to NOT make any other movements and S+Q immediately or there will be a hardlock. Falling from the waterfall is avoidable but it is super easy to do as it is super close to the transition. ### Known bugs: diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2bc21111..cec7a59c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -150,6 +150,8 @@ New item counter modified to show total # Bug Fixes and Notes. +* 0.3.1.10u + * Standard generation fixes * 0.3.1.9-u * Generation improvements for standard * Removed link sprite from repo diff --git a/Rules.py b/Rules.py index 81098568..6a0a472a 100644 --- a/Rules.py +++ b/Rules.py @@ -1045,11 +1045,13 @@ def standard_rules(world, player): rule_list, debug_path = find_rules_for_zelda_delivery(world, player) set_rule(world.get_location('Zelda Drop Off', player), lambda state: state.has('Zelda Herself', player) and check_rule_list(state, rule_list)) - for location in ['Mushroom', 'Bottle Merchant', 'Flute Spot', 'Sunken Treasure', 'Purple Chest', 'Maze Race']: - add_rule(world.get_location(location, player), lambda state: state.has('Zelda Delivered', player)) + # for location in ['Mushroom', 'Bottle Merchant', 'Flute Spot', 'Sunken Treasure', 'King Zora', 'Zora\'s Ledge', + # 'Purple Chest', 'Maze Race', 'Hobo', 'Desert Ledge', 'Bombos Tablet', 'Lake Hylia Island', + # 'Old Man', 'Ether Tablet', 'Spectacle Rock', 'Floating Island']: + # add_rule(world.get_location(location, player), lambda state: state.has('Zelda Delivered', player)) # Bonk Fairy (Light) is a notable omission in ER shuffles/Retro - # for entrance in ['Blinds Hideout', 'King Zora', 'Zora\'s Ledge', 'Kings Grave Outer Rocks', 'Dam', 'Tavern North', + # for entrance in ['Blinds Hideout', 'Kings Grave Outer Rocks', 'Dam', 'Tavern North', # 'Chicken House', 'Aginahs Cave', 'Sahasrahlas Hut', 'Kakariko Well Drop', 'Kakariko Well Cave', # 'Blacksmiths Hut', 'Bat Cave Drop Ledge', 'Bat Cave Cave', 'Sick Kids House', 'Hobo Bridge', # 'Lost Woods Hideout Drop', 'Lost Woods Hideout Stump', 'Lumberjack Tree Tree', @@ -1068,8 +1070,11 @@ def standard_rules(world, player): # 'Lumberjack House', 'Lake Hylia Fortune Teller', 'Kakariko Gamble Game', 'Top of Pyramid', 'Top of Pyramid (Inner)']: # add_rule(world.get_entrance(entrance, player), lambda state: state.has('Zelda Delivered', player)) - add_rule(world.get_entrance('Sanctuary WS', player), lambda state: state.has('Zelda Delivered', player)) - add_rule(world.get_entrance('Sanctuary EC', player), lambda state: state.has('Zelda Delivered', player)) + add_rule(world.get_entrance('Links House SC', player), lambda state: state.has('Zelda Delivered', player)) + add_rule(world.get_entrance('Links House ES', player), lambda state: state.has('Zelda Delivered', player)) + add_rule(world.get_entrance('Central Bonk Rocks SW', player), lambda state: state.has('Zelda Delivered', player)) + add_rule(world.get_entrance('Hyrule Castle WN', player), lambda state: state.has('Zelda Delivered', player)) + add_rule(world.get_entrance('Hyrule Castle ES', player), lambda state: state.has('Zelda Delivered', player)) def find_rules_for_zelda_delivery(world, player):