Potential stair key door fix
This commit is contained in:
@@ -1000,7 +1000,10 @@ def reassign_key_doors(current_doors, proposal, world, player):
|
||||
if room.doorList[d.doorListPos][1] == DoorKind.StairKeyLow:
|
||||
room.delete(d.doorListPos)
|
||||
else:
|
||||
room.change(d.doorListPos, DoorKind.Waterfall)
|
||||
if len(room.doorList) > 1:
|
||||
room.mirror(d.doorListPos)
|
||||
else:
|
||||
room.delete(d.doorListPos)
|
||||
d.smallKey = False
|
||||
elif d.type is DoorType.Interior and d not in flat_proposal and d.dest not in flat_proposal:
|
||||
world.get_room(d.roomIndex, player).change(d.doorListPos, DoorKind.Normal)
|
||||
|
||||
10
RoomData.py
10
RoomData.py
@@ -257,6 +257,16 @@ class Room(object):
|
||||
self.doorList[list_idx] = (prev[0], kind)
|
||||
self.modified = True
|
||||
|
||||
def mirror(self, list_idx):
|
||||
prev = self.doorList[list_idx]
|
||||
mirror_door = None
|
||||
for door in self.doorList:
|
||||
if door != prev:
|
||||
mirror_door = door
|
||||
break
|
||||
self.doorList[list_idx] = (mirror_door[0], mirror_door[1])
|
||||
self.modified = True
|
||||
|
||||
def swap(self, idx1, idx2):
|
||||
item1 = self.doorList[idx1]
|
||||
item2 = self.doorList[idx2]
|
||||
|
||||
Reference in New Issue
Block a user