Actually restrict Sanctuary from being a DW lobby in non-crossed ER modes
This commit is contained in:
@@ -1280,6 +1280,7 @@ class Door(object):
|
|||||||
self.dungeonLink = None
|
self.dungeonLink = None
|
||||||
self.bk_shuffle_req = False
|
self.bk_shuffle_req = False
|
||||||
self.standard_restricted = 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.lw_restricted = False # flag if portal is not allowed in DW
|
||||||
# self.incognitoPos = -1
|
# self.incognitoPos = -1
|
||||||
# self.sectorLink = False
|
# self.sectorLink = False
|
||||||
|
|
||||||
|
|||||||
@@ -563,6 +563,9 @@ def assign_portal(candidates, possible_portals, world, player):
|
|||||||
candidate = random.choice(candidates)
|
candidate = random.choice(candidates)
|
||||||
portal_choice = random.choice(possible_portals)
|
portal_choice = random.choice(possible_portals)
|
||||||
portal = world.get_portal(portal_choice, player)
|
portal = world.get_portal(portal_choice, player)
|
||||||
|
while candidate.lw_restricted and not portal.light_world:
|
||||||
|
candidates.remove(candidate)
|
||||||
|
candidate = random.choice(candidates)
|
||||||
if candidate != portal.door:
|
if candidate != portal.door:
|
||||||
if candidate.entranceFlag:
|
if candidate.entranceFlag:
|
||||||
for other_portal in world.dungeon_portals[player]:
|
for other_portal in world.dungeon_portals[player]:
|
||||||
|
|||||||
2
Doors.py
2
Doors.py
@@ -1465,6 +1465,8 @@ def create_doors(world, player):
|
|||||||
|
|
||||||
# static portal flags
|
# static portal flags
|
||||||
world.get_door('Sanctuary S', player).dead_end(allowPassage=True)
|
world.get_door('Sanctuary S', player).dead_end(allowPassage=True)
|
||||||
|
if world.mode[player] == 'open' and world.shuffle[player] not in ['crossed', 'insanity']:
|
||||||
|
world.get_door('Sanctuary S', player).lw_restricted = True
|
||||||
world.get_door('Eastern Hint Tile Blocked Path SE', player).passage = False
|
world.get_door('Eastern Hint Tile Blocked Path SE', player).passage = False
|
||||||
world.get_door('TR Big Chest Entrance SE', player).passage = False
|
world.get_door('TR Big Chest Entrance SE', player).passage = False
|
||||||
world.get_door('Sewers Secret Room Key Door S', player).dungeonLink = 'Hyrule Castle'
|
world.get_door('Sewers Secret Room Key Door S', player).dungeonLink = 'Hyrule Castle'
|
||||||
|
|||||||
2
Main.py
2
Main.py
@@ -27,7 +27,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.4.0.2-u'
|
__version__ = '0.4.0.3-u'
|
||||||
|
|
||||||
|
|
||||||
class EnemizerError(RuntimeError):
|
class EnemizerError(RuntimeError):
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ Thanks to qadan, cheuer, & compiling
|
|||||||
|
|
||||||
# Bug Fixes and Notes.
|
# Bug Fixes and Notes.
|
||||||
|
|
||||||
|
* 0.4.0.3
|
||||||
|
* Fixed a bug where Sanctuary could be chosen as a lobby for a DW dungeon in non-crossed ER modes
|
||||||
* 0.4.0.2
|
* 0.4.0.2
|
||||||
* Fixed a bug where Defeat Ganon is not possible
|
* Fixed a bug where Defeat Ganon is not possible
|
||||||
* Fixed the item counter total
|
* Fixed the item counter total
|
||||||
|
|||||||
Reference in New Issue
Block a user