Merged in DR v0.5.1.7

This commit is contained in:
codemann8
2022-01-06 02:23:24 -06:00
7 changed files with 28 additions and 6 deletions

View File

@@ -30,7 +30,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc
from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops
from Utils import output_path, parse_player_names from Utils import output_path, parse_player_names
__version__ = '0.5.1.6-u' __version__ = '0.5.1.7-u'
from source.classes.BabelFish import BabelFish from source.classes.BabelFish import BabelFish

View File

@@ -15,6 +15,13 @@ CLI: ```--bombbag```
# Bug Fixes and Notes. # 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 * 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) * 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 * BUg fix for money balancing

View File

@@ -1125,8 +1125,8 @@ def create_shops(world, player):
if (0x35 not in world.owswaps[player][0] and region_name == 'Dark Lake Hylia Shop') \ if (0x35 not in world.owswaps[player][0] and region_name == 'Dark Lake Hylia Shop') \
or (0x35 in world.owswaps[player][0] and region_name == 'Cave Shop (Lake Hylia)'): or (0x35 in world.owswaps[player][0] and region_name == 'Cave Shop (Lake Hylia)'):
locked = True locked = True
custom = True
inventory = [('Blue Potion', 160), ('Blue Shield', 50), ('Bombs (10)', 50)] inventory = [('Blue Potion', 160), ('Blue Shield', 50), ('Bombs (10)', 50)]
custom = True
region = world.get_region(region_name, player) region = world.get_region(region_name, player)
shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram) shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram)
region.shop = shop region.shop = shop

4
Rom.py
View File

@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = 'c1a00c60144c6cc5a6ef5f00617a9b38' RANDOMIZERBASEHASH = 'a85465d4ceb66703e60dd2eef42a9a0d'
class JsonRom(object): class JsonRom(object):
@@ -334,6 +334,7 @@ def patch_enemizer(world, player, rom, local_rom, enemizercli, random_sprite_on_
rom.write_bytes(0xEA081, [0x5c, 0x00, 0x80, 0xb7, 0xc9, 0x6, 0xf0, 0x24, rom.write_bytes(0xEA081, [0x5c, 0x00, 0x80, 0xb7, 0xc9, 0x6, 0xf0, 0x24,
0xad, 0x3, 0x4, 0x29, 0x20, 0xf0, 0x1d]) 0xad, 0x3, 0x4, 0x29, 0x20, 0xf0, 0x1d])
rom.write_byte(0x200101, 0) # Do not close boss room door on entry. rom.write_byte(0x200101, 0) # Do not close boss room door on entry.
rom.write_byte(0x1B0101, 0) # Do not close boss room door on entry. (for Ijwu's enemizer)
if random_sprite_on_hit: if random_sprite_on_hit:
_populate_sprite_table() _populate_sprite_table()
@@ -1550,6 +1551,7 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
rom.write_byte(0x1800A3, 0x01) # enable correct world setting behaviour after agahnim kills rom.write_byte(0x1800A3, 0x01) # enable correct world setting behaviour after agahnim kills
rom.write_byte(0x1800A4, 0x01 if world.logic[player] != 'nologic' else 0x00) # enable POD EG fix rom.write_byte(0x1800A4, 0x01 if world.logic[player] != 'nologic' else 0x00) # enable POD EG fix
rom.write_byte(0x180042, 0x01 if world.save_and_quit_from_boss else 0x00) # Allow Save and Quit after boss kill rom.write_byte(0x180042, 0x01 if world.save_and_quit_from_boss else 0x00) # Allow Save and Quit after boss kill
rom.write_byte(0x180358, 0x01 if world.logic[player] == 'nologic' else 0x00)
# remove shield from uncle # remove shield from uncle
rom.write_bytes(0x6D253, [0x00, 0x00, 0xf6, 0xff, 0x00, 0x0E]) rom.write_bytes(0x6D253, [0x00, 0x00, 0xf6, 0xff, 0x00, 0x0E])

View File

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

View File

@@ -45,6 +45,16 @@ FixAnimatedTiles:
+ LDA $02802E, X ; what we wrote over + LDA $02802E, X ; what we wrote over
RTL 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: FixWallmasterLamp:
ORA $0458 ORA $0458
STY $1C : STA $1D : RTL ; what we wrote over STY $1C : STA $1D : RTL ; what we wrote over

Binary file not shown.