Fixed a generation bug
Add ganonhunt to pyramid open
This commit is contained in:
@@ -283,7 +283,7 @@ class World(object):
|
|||||||
else:
|
else:
|
||||||
if self.shuffle[player] not in ['vanilla', 'dungeonssimple', 'dungeonsfull']:
|
if self.shuffle[player] not in ['vanilla', 'dungeonssimple', 'dungeonsfull']:
|
||||||
return False
|
return False
|
||||||
elif self.goal[player] in ['crystals', 'trinity']:
|
elif self.goal[player] in ['crystals', 'trinity', 'ganonhunt']:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -2547,13 +2547,12 @@ def reassign_big_key_doors(bk_map, used_doors, world, player):
|
|||||||
queue = deque(find_current_bk_doors(builder))
|
queue = deque(find_current_bk_doors(builder))
|
||||||
while len(queue) > 0:
|
while len(queue) > 0:
|
||||||
d = queue.pop()
|
d = queue.pop()
|
||||||
if (d.type is DoorType.Interior and d not in flat_proposal and d.dest not in flat_proposal
|
if d.type is DoorType.Interior and d not in flat_proposal and d.dest not in flat_proposal:
|
||||||
and d not in used_doors and d.dest not in used_doors):
|
if not d.entranceFlag and d not in used_doors and d.dest not in used_doors:
|
||||||
if not d.entranceFlag:
|
|
||||||
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
||||||
d.bigKey = False
|
d.bigKey = False
|
||||||
elif d.type is DoorType.Normal and d not in flat_proposal and d not in used_doors:
|
elif d.type is DoorType.Normal and d not in flat_proposal :
|
||||||
if not d.entranceFlag:
|
if not d.entranceFlag and d not in used_doors:
|
||||||
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
||||||
d.bigKey = False
|
d.bigKey = False
|
||||||
for obj in big_doors:
|
for obj in big_doors:
|
||||||
@@ -3014,7 +3013,7 @@ def reassign_key_doors(small_map, used_doors, world, player):
|
|||||||
queue = deque(find_current_key_doors(builder))
|
queue = deque(find_current_key_doors(builder))
|
||||||
while len(queue) > 0:
|
while len(queue) > 0:
|
||||||
d = queue.pop()
|
d = queue.pop()
|
||||||
if d.type is DoorType.SpiralStairs and d not in proposal and d not in used_doors:
|
if d.type is DoorType.SpiralStairs and d not in proposal:
|
||||||
room = world.get_room(d.roomIndex, player)
|
room = world.get_room(d.roomIndex, player)
|
||||||
if room.doorList[d.doorListPos][1] == DoorKind.StairKeyLow:
|
if room.doorList[d.doorListPos][1] == DoorKind.StairKeyLow:
|
||||||
room.delete(d.doorListPos)
|
room.delete(d.doorListPos)
|
||||||
@@ -3024,15 +3023,14 @@ def reassign_key_doors(small_map, used_doors, world, player):
|
|||||||
else:
|
else:
|
||||||
room.delete(d.doorListPos)
|
room.delete(d.doorListPos)
|
||||||
d.smallKey = False
|
d.smallKey = False
|
||||||
elif (d.type is DoorType.Interior and d not in flat_proposal and d.dest not in flat_proposal
|
elif d.type is DoorType.Interior and d not in flat_proposal and d.dest not in flat_proposal:
|
||||||
and d not in used_doors and d.dest not in used_doors):
|
if not d.entranceFlag and d not in used_doors and d.dest not in used_doors:
|
||||||
if not d.entranceFlag:
|
|
||||||
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
||||||
d.smallKey = False
|
d.smallKey = False
|
||||||
d.dest.smallKey = False
|
d.dest.smallKey = False
|
||||||
queue.remove(d.dest)
|
queue.remove(d.dest)
|
||||||
elif d.type is DoorType.Normal and d not in flat_proposal and d not in used_doors:
|
elif d.type is DoorType.Normal and d not in flat_proposal:
|
||||||
if not d.entranceFlag:
|
if not d.entranceFlag and d not in used_doors:
|
||||||
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
||||||
d.smallKey = False
|
d.smallKey = False
|
||||||
for dp in world.paired_doors[player]:
|
for dp in world.paired_doors[player]:
|
||||||
|
|||||||
@@ -109,6 +109,9 @@ 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.19u
|
||||||
|
* Fixed a bug with dungeon generation
|
||||||
|
* Changed the "Ganonhunt" goal to use open pyramid on the Auto setting
|
||||||
* 1.2.0.18u
|
* 1.2.0.18u
|
||||||
* Fixed an issue with pyramid hole being in logic when it is not opened.
|
* Fixed an issue with pyramid hole being in logic when it is not opened.
|
||||||
* Crystal cutscene at GT use new symmetrical layouts (thanks Codemann)
|
* Crystal cutscene at GT use new symmetrical layouts (thanks Codemann)
|
||||||
|
|||||||
Reference in New Issue
Block a user