Enemizer support

Logic issue with Ice Cross (Top) fixed
Changed a couple GUI defaults
This commit is contained in:
aerinon
2020-01-07 13:14:04 -07:00
parent fdf580c89c
commit d6cd94d04b
6 changed files with 9 additions and 7 deletions

View File

@@ -1350,7 +1350,6 @@ logical_connections = [
('Thieves Conveyor Block Path', 'Thieves Conveyor Bridge'), ('Thieves Conveyor Block Path', 'Thieves Conveyor Bridge'),
('Ice Cross Bottom Push Block Left', 'Ice Floor Switch'), ('Ice Cross Bottom Push Block Left', 'Ice Floor Switch'),
('Ice Cross Right Push Block Top', 'Ice Bomb Drop'), ('Ice Cross Right Push Block Top', 'Ice Bomb Drop'),
('Ice Cross Top Push Block Left', 'Ice Floor Switch'),
('Ice Big Key Push Block', 'Ice Dead End'), ('Ice Big Key Push Block', 'Ice Dead End'),
('Ice Bomb Jump Ledge Orange Barrier', 'Ice Bomb Jump Catwalk'), ('Ice Bomb Jump Ledge Orange Barrier', 'Ice Bomb Jump Catwalk'),
('Ice Bomb Jump Catwalk Orange Barrier', 'Ice Bomb Jump Ledge'), ('Ice Bomb Jump Catwalk Orange Barrier', 'Ice Bomb Jump Ledge'),

View File

@@ -616,7 +616,7 @@ def create_doors(world, player):
create_door(player, 'Ice Cross Bottom Push Block Right', Lgcl), # dynamic create_door(player, 'Ice Cross Bottom Push Block Right', Lgcl), # dynamic
create_door(player, 'Ice Cross Right Push Block Top', Lgcl), create_door(player, 'Ice Cross Right Push Block Top', Lgcl),
create_door(player, 'Ice Cross Right Push Block Bottom', Lgcl), # dynamic create_door(player, 'Ice Cross Right Push Block Bottom', Lgcl), # dynamic
create_door(player, 'Ice Cross Top Push Block Left', Lgcl), create_door(player, 'Ice Cross Top Push Block Bottom', Lgcl), # dynamic
create_door(player, 'Ice Cross Top Push Block Right', Lgcl), # dynamic create_door(player, 'Ice Cross Top Push Block Right', Lgcl), # dynamic
create_door(player, 'Ice Cross Bottom SE', Nrml).dir(So, 0x1e, Right, High).pos(3), create_door(player, 'Ice Cross Bottom SE', Nrml).dir(So, 0x1e, Right, High).pos(3),
create_door(player, 'Ice Cross Right ES', Nrml).dir(Ea, 0x1e, Bot, High).trap(0x4).pos(0), create_door(player, 'Ice Cross Right ES', Nrml).dir(Ea, 0x1e, Bot, High).trap(0x4).pos(0),
@@ -1199,6 +1199,7 @@ def create_doors(world, player):
east_controller = world.get_door('Ice Cross Right ES', player) east_controller = world.get_door('Ice Cross Right ES', player)
controller_door(south_controller, world.get_door('Ice Cross Left Push Block', player)) controller_door(south_controller, world.get_door('Ice Cross Left Push Block', player))
controller_door(south_controller, world.get_door('Ice Cross Right Push Block Bottom', player)) controller_door(south_controller, world.get_door('Ice Cross Right Push Block Bottom', player))
controller_door(south_controller, world.get_door('Ice Cross Top Push Block Bottom', player))
controller_door(east_controller, world.get_door('Ice Cross Bottom Push Block Right', player)) controller_door(east_controller, world.get_door('Ice Cross Bottom Push Block Right', player))
controller_door(east_controller, world.get_door('Ice Cross Top Push Block Right', player)) controller_door(east_controller, world.get_door('Ice Cross Top Push Block Right', player))

View File

@@ -1583,7 +1583,7 @@ dungeon_boss_sectors = {
'Palace of Darkness': ['PoD Boss'], 'Palace of Darkness': ['PoD Boss'],
'Swamp Palace': ['Swamp Boss'], 'Swamp Palace': ['Swamp Boss'],
'Skull Woods': ['Skull Boss'], 'Skull Woods': ['Skull Boss'],
'Thieves Town': ['Thieves Attic Window', 'Thieves Blind\'s Cell', 'Thieves Boss'], 'Thieves Town': ['Thieves Blind\'s Cell', 'Thieves Boss'],
'Ice Palace': ['Ice Boss'], 'Ice Palace': ['Ice Boss'],
'Misery Mire': ['Mire Boss'], 'Misery Mire': ['Mire Boss'],
'Turtle Rock': ['TR Boss'], 'Turtle Rock': ['TR Boss'],

4
Gui.py
View File

@@ -265,7 +265,7 @@ def guiMain(args=None):
shuffleFrame = Frame(drowDownFrame) shuffleFrame = Frame(drowDownFrame)
shuffleVar = StringVar() shuffleVar = StringVar()
shuffleVar.set('full') shuffleVar.set('vanilla')
shuffleOptionMenu = OptionMenu(shuffleFrame, shuffleVar, 'vanilla', 'simple', 'restricted', 'full', 'crossed', 'insanity', 'restricted_legacy', 'full_legacy', 'madness_legacy', 'insanity_legacy', 'dungeonsfull', 'dungeonssimple') shuffleOptionMenu = OptionMenu(shuffleFrame, shuffleVar, 'vanilla', 'simple', 'restricted', 'full', 'crossed', 'insanity', 'restricted_legacy', 'full_legacy', 'madness_legacy', 'insanity_legacy', 'dungeonsfull', 'dungeonssimple')
shuffleOptionMenu.pack(side=RIGHT) shuffleOptionMenu.pack(side=RIGHT)
shuffleLabel = Label(shuffleFrame, text='Entrance shuffle algorithm') shuffleLabel = Label(shuffleFrame, text='Entrance shuffle algorithm')
@@ -273,7 +273,7 @@ def guiMain(args=None):
doorShuffleFrame = Frame(drowDownFrame) doorShuffleFrame = Frame(drowDownFrame)
doorShuffleVar = StringVar() doorShuffleVar = StringVar()
doorShuffleVar.set('vanilla') doorShuffleVar.set('basic')
doorShuffleOptionMenu = OptionMenu(doorShuffleFrame, doorShuffleVar, 'vanilla', 'basic', 'crossed', 'experimental') doorShuffleOptionMenu = OptionMenu(doorShuffleFrame, doorShuffleVar, 'vanilla', 'basic', 'crossed', 'experimental')
doorShuffleOptionMenu.pack(side=RIGHT) doorShuffleOptionMenu.pack(side=RIGHT)
doorShuffleLabel = Label(doorShuffleFrame, text='Door shuffle algorithm') doorShuffleLabel = Label(doorShuffleFrame, text='Door shuffle algorithm')

View File

@@ -481,7 +481,7 @@ def create_regions(world, player):
create_dungeon_region(player, 'Ice Cross Left', 'Ice Palace', None, ['Ice Cross Left WS', 'Ice Cross Left Push Block']), create_dungeon_region(player, 'Ice Cross Left', 'Ice Palace', None, ['Ice Cross Left WS', 'Ice Cross Left Push Block']),
create_dungeon_region(player, 'Ice Cross Bottom', 'Ice Palace', None, ['Ice Cross Bottom SE', 'Ice Cross Bottom Push Block Left', 'Ice Cross Bottom Push Block Right']), create_dungeon_region(player, 'Ice Cross Bottom', 'Ice Palace', None, ['Ice Cross Bottom SE', 'Ice Cross Bottom Push Block Left', 'Ice Cross Bottom Push Block Right']),
create_dungeon_region(player, 'Ice Cross Right', 'Ice Palace', None, ['Ice Cross Right ES', 'Ice Cross Right Push Block Top', 'Ice Cross Right Push Block Bottom']), create_dungeon_region(player, 'Ice Cross Right', 'Ice Palace', None, ['Ice Cross Right ES', 'Ice Cross Right Push Block Top', 'Ice Cross Right Push Block Bottom']),
create_dungeon_region(player, 'Ice Cross Top', 'Ice Palace', None, ['Ice Cross Top NE', 'Ice Cross Top Push Block Left', 'Ice Cross Top Push Block Right']), create_dungeon_region(player, 'Ice Cross Top', 'Ice Palace', None, ['Ice Cross Top NE', 'Ice Cross Top Push Block Bottom', 'Ice Cross Top Push Block Right']),
create_dungeon_region(player, 'Ice Compass Room', 'Ice Palace', ['Ice Palace - Compass Chest'], ['Ice Compass Room NE']), create_dungeon_region(player, 'Ice Compass Room', 'Ice Palace', ['Ice Palace - Compass Chest'], ['Ice Compass Room NE']),
create_dungeon_region(player, 'Ice Pengator Switch', 'Ice Palace', None, ['Ice Pengator Switch WS', 'Ice Pengator Switch ES']), create_dungeon_region(player, 'Ice Pengator Switch', 'Ice Palace', None, ['Ice Pengator Switch WS', 'Ice Pengator Switch ES']),
create_dungeon_region(player, 'Ice Dead End', 'Ice Palace', None, ['Ice Dead End WS']), create_dungeon_region(player, 'Ice Dead End', 'Ice Palace', None, ['Ice Dead End WS']),

4
Rom.py
View File

@@ -1052,9 +1052,11 @@ def patch_rom(world, player, rom):
# set rom name # set rom name
# 21 bytes # 21 bytes
from Main import __version__ from Main import __version__
rom.name = bytearray('DR_{0}_{1:09}\0'.format(__version__[0:7],world.seed), 'utf8') # todo: change to DR when Enemizer is okay with DR
rom.name = bytearray('ER_{0}_{1:09}\0'.format(__version__[0:7], world.seed), 'utf8')
assert len(rom.name) <= 21 assert len(rom.name) <= 21
rom.write_bytes(0x7FC0, rom.name) rom.write_bytes(0x7FC0, rom.name)
rom.name[0] = ord('D')
# Write title screen Code # Write title screen Code
hashint = int(rom.get_hash(), 16) hashint = int(rom.get_hash(), 16)