-Baserom update

-Incorporate some rom PRs
-Updated Houlihan to exit to wherever Link's House is (inverted, too)
This commit is contained in:
aerinon
2022-01-05 14:37:10 -07:00
parent 45bb92151f
commit 4f3ff95f81
6 changed files with 30 additions and 5 deletions

View File

@@ -109,6 +109,7 @@ def link_entrances(world, player):
links_house_doors = [i for i in LW_Single_Cave_Doors if i not in Isolated_LH_Doors_Open]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in bomb_shop_doors:
bomb_shop_doors.remove(links_house)
if links_house in blacksmith_doors:
@@ -173,6 +174,7 @@ def link_entrances(world, player):
links_house_doors = [i for i in lw_entrances if i not in Isolated_LH_Doors_Open]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in lw_entrances:
lw_entrances.remove(links_house)
@@ -337,6 +339,7 @@ def link_entrances(world, player):
links_house_doors = [i for i in lw_entrances + lw_must_exits if i not in Isolated_LH_Doors_Open]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in lw_entrances:
lw_entrances.remove(links_house)
if links_house in lw_must_exits:
@@ -467,6 +470,7 @@ def link_entrances(world, player):
links_house_doors = [i for i in links_house_doors if i not in exclusions]
links_house = random.choice(list(links_house_doors))
connect_two_way(world, links_house, 'Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in entrances:
entrances.remove(links_house)
elif links_house in must_exits:
@@ -937,6 +941,7 @@ def link_entrances(world, player):
links_house_doors = [i for i in links_house_doors if i not in exclusions]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
exit_pool.remove(links_house)
doors.remove(links_house)
@@ -1301,6 +1306,7 @@ def link_inverted_entrances(world, player):
links_house_doors = [i for i in DW_Single_Cave_Doors if i not in Inverted_Dark_Sanctuary_Doors + Isolated_LH_Doors]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Inverted Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in bomb_shop_doors:
bomb_shop_doors.remove(links_house)
if links_house in blacksmith_doors:
@@ -1381,6 +1387,7 @@ def link_inverted_entrances(world, player):
links_house_doors = [i for i in dw_entrances if i not in Inverted_Dark_Sanctuary_Doors + Isolated_LH_Doors]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Inverted Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in dw_entrances:
dw_entrances.remove(links_house)
@@ -1510,6 +1517,7 @@ def link_inverted_entrances(world, player):
links_house_doors = [i for i in dw_entrances if i not in Inverted_Dark_Sanctuary_Doors + Isolated_LH_Doors]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Inverted Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in dw_entrances:
dw_entrances.remove(links_house)
@@ -1647,6 +1655,7 @@ def link_inverted_entrances(world, player):
links_house_doors = [i for i in entrances + must_exits if i not in Inverted_Dark_Sanctuary_Doors + Isolated_LH_Doors]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Inverted Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
if links_house in entrances:
entrances.remove(links_house)
elif links_house in must_exits:
@@ -1780,6 +1789,7 @@ def link_inverted_entrances(world, player):
links_house_doors = [i for i in doors if i not in Inverted_Dark_Sanctuary_Doors + Isolated_LH_Doors]
links_house = random.choice(links_house_doors)
connect_two_way(world, links_house, 'Inverted Links House Exit', player)
connect_exit(world, 'Chris Houlihan Room Exit', links_house, player) # should match link's house
doors.remove(links_house)
exit_pool.remove(links_house)
@@ -3329,7 +3339,6 @@ inverted_mandatory_connections = [('Links House S&Q', 'Inverted Links House'),
('EDDM Flute', 'The Sky'),
('Dark Grassy Lawn Flute', 'The Sky'),
('Hammer Peg Area Flute', 'The Sky'),
('Chris Houlihan Room Exit', 'Pyramid Ledge'),
('Bush Covered Lawn Inner Bushes', 'Light World'),
('Bush Covered Lawn Outer Bushes', 'Bush Covered Lawn'),
('Bush Covered Lawn Mirror Spot', 'Dark Grassy Lawn'),

View File

@@ -16,9 +16,12 @@ CLI: ```--bombbag```
# Bug Fixes and Notes.
* 0.5.1.7
* Baserom update
* Fix for Inverted Mode: Dark Lake Hylia shop defaults to selling a blue potion
* Fix for Ijwu's enemizer: Boss door in Thieves' Town no longer closes after the maiden hint if Blind is shuffled to Theives' Town in boss shuffle + crossed mode
* No logic now sets the AllowAccidentalMajorGlitches flag in the rom appropriately
* Houlihan room now exits wherever Link's House is shuffled to
* Rom fixes from Catobat and Codemann8. Thanks!
* 0.5.1.6
* Rules fixes for TT (Boss and Cell) can now have TT Big Key if not otherwise required (boss shuffle + crossed dungeon)
* BUg fix for money balancing

2
Rom.py
View File

@@ -32,7 +32,7 @@ from source.classes.SFX import randomize_sfx
JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = '7511c811385f87c6ae0909e7bbe379cb'
RANDOMIZERBASEHASH = '5112ddd931bda3d9979097bc39a5e768'
class JsonRom(object):

View File

@@ -76,6 +76,9 @@ nop : jsl OverridePaletteHeader
org $02817e ; Bank02.asm : 414 (LDA $02811E, X)
jsl FixAnimatedTiles
org $0aef43 ; UnderworldMap_RecoverGFX
jsl FixCloseDungeonMap
org $028a06 ; Bank02.asm : 1941 Dungeon_ResetTorchBackgroundAndPlayer
JSL FixWallmasterLamp
@@ -186,9 +189,9 @@ Main_ShowTextMessage:
; Conditionally disable UW music changes in Door Rando
org $028ADB ; <- Bank02.asm:2088-2095 (LDX.b #$14 : LDA $A0 ...)
JSL.l Underworld_DoorDown_Entry : CPX #$10
db $B0, $21 ; BCS $028B04
BRA + : NOP #6 : +
JSL.l Underworld_DoorDown_Entry : CPX #$FF
BEQ + : db $80, $1C ; BRA $028B04
NOP #6 : +
org $02C3F2 ; <- Bank02.asm:10521 Unused call
Underworld_DoorDown_Call:

View File

@@ -45,6 +45,16 @@ FixAnimatedTiles:
+ LDA $02802E, X ; what we wrote over
RTL
FixCloseDungeonMap:
LDA.l DRMode : CMP #$02 : BNE .vanilla
LDA $040C : BMI .vanilla
LSR : TAX
LDA.l DungeonTilesets,x
RTL
.vanilla
LDA $7EC20E
RTL
FixWallmasterLamp:
ORA $0458
STY $1C : STA $1D : RTL ; what we wrote over

Binary file not shown.