Bug fix for intensity 3 + enemizer (just taking it out for now)
Lobbies added to spoiler
This commit is contained in:
@@ -1760,9 +1760,10 @@ class Spoiler(object):
|
|||||||
def __init__(self, world):
|
def __init__(self, world):
|
||||||
self.world = world
|
self.world = world
|
||||||
self.hashes = {}
|
self.hashes = {}
|
||||||
self.entrances = OrderedDict()
|
self.entrances = {}
|
||||||
self.doors = OrderedDict()
|
self.doors = {}
|
||||||
self.doorTypes = OrderedDict()
|
self.doorTypes = {}
|
||||||
|
self.lobbies = {}
|
||||||
self.medallions = {}
|
self.medallions = {}
|
||||||
self.playthrough = {}
|
self.playthrough = {}
|
||||||
self.unreachables = []
|
self.unreachables = []
|
||||||
@@ -1785,6 +1786,12 @@ class Spoiler(object):
|
|||||||
else:
|
else:
|
||||||
self.doors[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction), ('dname', d_name)])
|
self.doors[(entrance, direction, player)] = OrderedDict([('player', player), ('entrance', entrance), ('exit', exit), ('direction', direction), ('dname', d_name)])
|
||||||
|
|
||||||
|
def set_lobby(self, lobby_name, door_name, player):
|
||||||
|
if self.world.players == 1:
|
||||||
|
self.lobbies[(lobby_name, player)] = {'lobby_name': lobby_name, 'door_name': door_name}
|
||||||
|
else:
|
||||||
|
self.lobbies[(lobby_name, player)] = {'player': player, 'lobby_name': lobby_name, 'door_name': door_name}
|
||||||
|
|
||||||
def set_door_type(self, doorNames, type, player):
|
def set_door_type(self, doorNames, type, player):
|
||||||
if self.world.players == 1:
|
if self.world.players == 1:
|
||||||
self.doorTypes[(doorNames, player)] = OrderedDict([('doorNames', doorNames), ('type', type)])
|
self.doorTypes[(doorNames, player)] = OrderedDict([('doorNames', doorNames), ('type', type)])
|
||||||
@@ -1864,6 +1871,11 @@ class Spoiler(object):
|
|||||||
if self.world.players == 1:
|
if self.world.players == 1:
|
||||||
self.bosses = self.bosses["1"]
|
self.bosses = self.bosses["1"]
|
||||||
|
|
||||||
|
for player in range(1, self.world.players + 1):
|
||||||
|
if self.world.intensity[player] >= 3:
|
||||||
|
for portal in self.world.dungeon_portals[player]:
|
||||||
|
self.set_lobby(portal.name, portal.door.name, player)
|
||||||
|
|
||||||
from Main import __version__ as ERVersion
|
from Main import __version__ as ERVersion
|
||||||
self.metadata = {'version': ERVersion,
|
self.metadata = {'version': ERVersion,
|
||||||
'logic': self.world.logic,
|
'logic': self.world.logic,
|
||||||
@@ -1899,6 +1911,7 @@ class Spoiler(object):
|
|||||||
out = OrderedDict()
|
out = OrderedDict()
|
||||||
out['Entrances'] = list(self.entrances.values())
|
out['Entrances'] = list(self.entrances.values())
|
||||||
out['Doors'] = list(self.doors.values())
|
out['Doors'] = list(self.doors.values())
|
||||||
|
out['Lobbies'] = list(self.lobbies.values())
|
||||||
out['DoorTypes'] = list(self.doorTypes.values())
|
out['DoorTypes'] = list(self.doorTypes.values())
|
||||||
out.update(self.locations)
|
out.update(self.locations)
|
||||||
out['Starting Inventory'] = self.startinventory
|
out['Starting Inventory'] = self.startinventory
|
||||||
@@ -1960,6 +1973,12 @@ class Spoiler(object):
|
|||||||
self.world.fish.translate("meta","doors",entry['exit']),
|
self.world.fish.translate("meta","doors",entry['exit']),
|
||||||
'({0})'.format(entry['dname']) if self.world.doorShuffle[entry['player']] == 'crossed' else '') for
|
'({0})'.format(entry['dname']) if self.world.doorShuffle[entry['player']] == 'crossed' else '') for
|
||||||
entry in self.doors.values()]))
|
entry in self.doors.values()]))
|
||||||
|
if self.lobbies:
|
||||||
|
outfile.write('\n\nDungeon Lobbies:\n\n')
|
||||||
|
outfile.write('\n'.join(
|
||||||
|
[f"{'Player {0}: '.format(entry['player']) if self.world.players > 1 else ''}{entry['lobby_name']}: {entry['door_name']}"
|
||||||
|
for
|
||||||
|
entry in self.lobbies.values()]))
|
||||||
if self.doorTypes:
|
if self.doorTypes:
|
||||||
# doorNames: For some reason these come in combined, somehow need to split on the thing to translate
|
# doorNames: For some reason these come in combined, somehow need to split on the thing to translate
|
||||||
# doorTypes: Small Key, Bombable, Bonkable
|
# doorTypes: Small Key, Bombable, Bonkable
|
||||||
|
|||||||
12
Doors.py
12
Doors.py
@@ -247,7 +247,7 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'Desert Tiles 2 NE', Intr).dir(No, 0x43, Right, High).small_key().pos(1),
|
create_door(player, 'Desert Tiles 2 NE', Intr).dir(No, 0x43, Right, High).small_key().pos(1),
|
||||||
create_door(player, 'Desert Wall Slide SE', Intr).dir(So, 0x43, Right, High).small_key().pos(1),
|
create_door(player, 'Desert Wall Slide SE', Intr).dir(So, 0x43, Right, High).small_key().pos(1),
|
||||||
create_door(player, 'Desert Wall Slide NW', Nrml).dir(No, 0x43, Left, High).big_key().pos(0).no_entrance(),
|
create_door(player, 'Desert Wall Slide NW', Nrml).dir(No, 0x43, Left, High).big_key().pos(0).no_entrance(),
|
||||||
create_door(player, 'Desert Boss SW', Nrml).dir(So, 0x33, Left, High).no_exit().trap(0x4).pos(0).portal(Z, 0x00),
|
create_door(player, 'Desert Boss SW', Nrml).dir(So, 0x33, Left, High).no_exit().trap(0x4).pos(0), # .portal(Z, 0x00), problem with enemizer
|
||||||
|
|
||||||
# Hera
|
# Hera
|
||||||
create_door(player, 'Hera Lobby S', Nrml).dir(So, 0x77, Mid, Low).pos(0).portal(Z, 0x22, 1),
|
create_door(player, 'Hera Lobby S', Nrml).dir(So, 0x77, Mid, Low).pos(0).portal(Z, 0x22, 1),
|
||||||
@@ -935,7 +935,7 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'TR Crystal Maze North Stairs', StrS).dir(No, 0xc4, Mid, High),
|
create_door(player, 'TR Crystal Maze North Stairs', StrS).dir(No, 0xc4, Mid, High),
|
||||||
create_door(player, 'TR Final Abyss South Stairs', StrS).dir(So, 0xb4, Mid, High),
|
create_door(player, 'TR Final Abyss South Stairs', StrS).dir(So, 0xb4, Mid, High),
|
||||||
create_door(player, 'TR Final Abyss NW', Nrml).dir(No, 0xb4, Left, High).big_key().pos(0),
|
create_door(player, 'TR Final Abyss NW', Nrml).dir(No, 0xb4, Left, High).big_key().pos(0),
|
||||||
create_door(player, 'TR Boss SW', Nrml).dir(So, 0xa4, Left, High).no_exit().trap(0x4).pos(0).portal(Z, 0x00),
|
create_door(player, 'TR Boss SW', Nrml).dir(So, 0xa4, Left, High).no_exit().trap(0x4).pos(0), # .portal(Z, 0x00), -enemizer doesn't work
|
||||||
|
|
||||||
create_door(player, 'GT Lobby S', Nrml).dir(So, 0x0c, Mid, High).pos(0).portal(Z, 0x22),
|
create_door(player, 'GT Lobby S', Nrml).dir(So, 0x0c, Mid, High).pos(0).portal(Z, 0x22),
|
||||||
create_door(player, 'GT Lobby Left Down Stairs', Sprl).dir(Dn, 0x0c, 1, HTL).ss(A, 0x0f, 0x80),
|
create_door(player, 'GT Lobby Left Down Stairs', Sprl).dir(Dn, 0x0c, 1, HTL).ss(A, 0x0f, 0x80),
|
||||||
@@ -1303,8 +1303,8 @@ def create_doors(world, player):
|
|||||||
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'
|
||||||
world.get_door('Desert Cannonball S', player).dead_end()
|
world.get_door('Desert Cannonball S', player).dead_end()
|
||||||
world.get_door('Desert Boss SW', player).dead_end()
|
# world.get_door('Desert Boss SW', player).dead_end()
|
||||||
world.get_door('Desert Boss SW', player).dungeonLink = 'Desert Palace'
|
# world.get_door('Desert Boss SW', player).dungeonLink = 'Desert Palace'
|
||||||
world.get_door('Skull 1 Lobby S', player).dungeonLink = 'Skull Woods'
|
world.get_door('Skull 1 Lobby S', player).dungeonLink = 'Skull Woods'
|
||||||
world.get_door('Skull Map Room SE', player).dungeonLink = 'Skull Woods'
|
world.get_door('Skull Map Room SE', player).dungeonLink = 'Skull Woods'
|
||||||
world.get_door('Skull Spike Corner SW', player).dungeonLink = 'Skull Woods'
|
world.get_door('Skull Spike Corner SW', player).dungeonLink = 'Skull Woods'
|
||||||
@@ -1314,8 +1314,8 @@ def create_doors(world, player):
|
|||||||
world.get_door('Mire Right Bridge SE', player).dead_end(allowPassage=True)
|
world.get_door('Mire Right Bridge SE', player).dead_end(allowPassage=True)
|
||||||
world.get_door('TR Roller Room SW', player).dead_end()
|
world.get_door('TR Roller Room SW', player).dead_end()
|
||||||
world.get_door('TR Tile Room SE', player).dead_end()
|
world.get_door('TR Tile Room SE', player).dead_end()
|
||||||
world.get_door('TR Boss SW', player).dead_end()
|
# world.get_door('TR Boss SW', player).dead_end()
|
||||||
world.get_door('TR Boss SW', player).dungeonLink = 'Turtle Rock'
|
# world.get_door('TR Boss SW', player).dungeonLink = 'Turtle Rock'
|
||||||
world.get_door('GT Petting Zoo SE', player).dead_end()
|
world.get_door('GT Petting Zoo SE', player).dead_end()
|
||||||
world.get_door('GT DMs Room SW', player).dead_end()
|
world.get_door('GT DMs Room SW', player).dead_end()
|
||||||
world.get_door("GT Bob\'s Room SE", player).passage = False
|
world.get_door("GT Bob\'s Room SE", player).passage = False
|
||||||
|
|||||||
2
Rom.py
2
Rom.py
@@ -22,7 +22,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '78aac1dbdce621865572e06cfcd3c112'
|
RANDOMIZERBASEHASH = '890bac9433ffda07aeeb858cfdb41e4a'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
|
|||||||
@@ -88,10 +88,10 @@ SuctionOverworldFix:
|
|||||||
+ rtl
|
+ rtl
|
||||||
|
|
||||||
; TT Alcove, Mire bridges, pod falling, SW torch room, TR Pipe room, Bob's Room, Ice Many Pots, Mire Hub
|
; TT Alcove, Mire bridges, pod falling, SW torch room, TR Pipe room, Bob's Room, Ice Many Pots, Mire Hub
|
||||||
; swamp waterfall, Gauntlet 3
|
; swamp waterfall, Gauntlet 3, Eastern Push block
|
||||||
CutoffRooms:
|
CutoffRooms:
|
||||||
db $bc, $a2, $1a, $49, $14, $8c, $9f, $c2
|
db $bc, $a2, $1a, $49, $14, $8c, $9f, $c2
|
||||||
db $66, $5d
|
db $66, $5d, $a8
|
||||||
|
|
||||||
CutoffEntranceRug:
|
CutoffEntranceRug:
|
||||||
pha : phx
|
pha : phx
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user