Merge branch 'OverworldShuffleDev' into OverworldShuffle

This commit is contained in:
codemann8
2021-05-07 04:21:13 -05:00
8 changed files with 21 additions and 10 deletions

View File

@@ -1267,7 +1267,7 @@ class Door(object):
self.passage = True self.passage = True
self.dungeonLink = None self.dungeonLink = None
self.bk_shuffle_req = False 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.incognitoPos = -1
# self.sectorLink = False # self.sectorLink = False

View File

@@ -1,5 +1,9 @@
# Changelog # Changelog
### 0.1.2.1
- Made possible fix for Standard
- Merged DR v0.3.1.10 - Fixed Standard generation
### 0.1.2.0 ### 0.1.2.0
- Added 'Parallel Worlds' toggle option - Added 'Parallel Worlds' toggle option
- Updated shuffle algorithm - Updated shuffle algorithm

View File

@@ -1266,7 +1266,7 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player,
reverse_d_map[sector] = key reverse_d_map[sector] = key
if world.mode[player] == 'standard': if world.mode[player] == 'standard':
current_dungeon = dungeon_map['Hyrule Castle'] 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} 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()] [dungeon_map.pop(key) for key in complete_dungeons.keys()]

View File

@@ -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 ItemList import generate_itempool, difficulties, fill_prizes, customize_shops
from Utils import output_path, parse_player_names from Utils import output_path, parse_player_names
__version__ = '0.3.1.8-u' __version__ = '0.3.1.10u'
class EnemizerError(RuntimeError): class EnemizerError(RuntimeError):

View File

@@ -3,7 +3,7 @@ from BaseClasses import OWEdge, WorldType, Direction, Terrain
from Utils import bidict from Utils import bidict
from OWEdges import OWEdgeGroups, IsParallel from OWEdges import OWEdgeGroups, IsParallel
__version__ = '0.1.2.0-u' __version__ = '0.1.2.1u'
def link_overworld(world, player): def link_overworld(world, player):
# setup mandatory connections # setup mandatory connections

View File

@@ -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: ### 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 - 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. - 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. - 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: ### Known bugs:

View File

@@ -150,6 +150,8 @@ New item counter modified to show total
# Bug Fixes and Notes. # Bug Fixes and Notes.
* 0.3.1.10u
* Standard generation fixes
* 0.3.1.9-u * 0.3.1.9-u
* Generation improvements for standard * Generation improvements for standard
* Removed link sprite from repo * Removed link sprite from repo

View File

@@ -1045,11 +1045,13 @@ def standard_rules(world, player):
rule_list, debug_path = find_rules_for_zelda_delivery(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)) 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']: # for location in ['Mushroom', 'Bottle Merchant', 'Flute Spot', 'Sunken Treasure', 'King Zora', 'Zora\'s Ledge',
add_rule(world.get_location(location, player), lambda state: state.has('Zelda Delivered', player)) # '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 # 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', # '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', # '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', # '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)']: # '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(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('Links House SC', 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 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): def find_rules_for_zelda_delivery(world, player):