Merged in DR v1.4.1.8

This commit is contained in:
codemann8
2024-03-20 18:09:08 -05:00
6 changed files with 43 additions and 7 deletions

View File

@@ -40,7 +40,7 @@ from source.enemizer.DamageTables import DamageTable
from source.enemizer.Enemizer import randomize_enemies
from source.rom.DataTables import init_data_tables
version_number = '1.4.1.7'
version_number = '1.4.1.8'
version_branch = '-u'
__version__ = f'{version_number}{version_branch}'

View File

@@ -141,6 +141,12 @@ These are now independent of retro mode and have three options: None, Random, an
# Patch Notes
* 1.4.1.8u
* HUD: New dungeon indicators based on common abbreviations
* OWG+HMG: EG is allowed to be armed
* Drop Shuffle: Fixed an issue with minor drops counting for the wrong dungeon
* Enemizer: Trinexx ice breath should be properly disabled if Trinexx is located outside of Turtle Rock
* Enemizer: Enemy bans
* 1.4.1.7u
* Some bugs around Triforce Pieces smoothed out
* Enemizer: No exception for mimics/eyegores in vanilla rooms if enemy logic is turned to off

8
Rom.py
View File

@@ -715,7 +715,7 @@ def patch_rom(world, rom, player, team, is_mystery=False):
dr_flags |= DROptions.OriginalPalettes
if world.experimental[player]:
dr_flags |= DROptions.DarkWorld_Spawns
if world.logic[player] != 'nologic':
if world.logic[player] not in ['owglitches', 'hybridglitches', 'nologic']:
dr_flags |= DROptions.Fix_EG
if world.door_type_mode[player] in ['big', 'all', 'chaos']:
dr_flags |= DROptions.BigKeyDoor_Shuffle
@@ -1411,10 +1411,10 @@ def patch_rom(world, rom, player, team, is_mystery=False):
digging_game_rng = random.randint(1, 30) # set rng for digging game
rom.write_byte(0x180020, digging_game_rng)
rom.write_byte(0xEFD95, digging_game_rng)
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(0x180042, 0x01 if world.save_and_quit_from_boss else 0x00) # Allow Save and Quit after boss kill
glitches_enabled = world.logic[player] in ['owglitches', 'hybridglitches', 'nologic']
rom.write_byte(0x1800A3, 0x01) # enable correct world setting behaviour after agahnim kills
rom.write_byte(0x1800A4, 0x01 if not glitches_enabled 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(0x180358, 0x01 if glitches_enabled else 0x00)
rom.write_byte(0x18008B, 0x01 if glitches_enabled else 0x00)

View File

@@ -166,14 +166,14 @@ def boss_writes(world, player, rom):
data_tables.room_headers[room_id].byte_0 = 0x60
data_tables.room_headers[room_id].effect = 4
# $2E, $98, $FF (original shell)
# disable trinexx ice breath with No-ops if there's a trinexx anywhere outside TR
rom.write_bytes(snes_to_pc(0x09B37E), [0xEA, 0xEA, 0xEA, 0xEA])
if boss.name == 'Kholdstare' and (dungeon.name != 'Ice Palace' or level is not None):
add_shell_to_boss_room(data_tables, dungeon.name, level, 0xF95)
data_tables.room_headers[room_id].byte_0 = 0xE0
data_tables.room_headers[room_id].effect = 1
if boss.name != 'Trinexx' and dungeon.name == 'Turtle Rock' and level is None:
remove_shell_from_boss_room(data_tables, dungeon.name, level, 0xFF2)
# disable trinexx ice breath with No-ops
rom.write_bytes(snes_to_pc(0x09B37E), [0xEA, 0xEA, 0xEA, 0xEA])
if boss.name != 'Kholdstare' and dungeon.name == 'Ice Palace' and level is None:
remove_shell_from_boss_room(data_tables, dungeon.name, level, 0xF95)
if boss.name != 'Blind' and dungeon.name == 'Thieves Town' and level is None:

View File

@@ -160,6 +160,7 @@ UwGeneralDeny:
- [ 0x0058, 8, ["Statue"]]
- [ 0x0059, 0, [ "RollerVerticalUp", "RollerVerticalDown", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Skull Woods - Bridge Room - Mini Moldorm 1"
- [ 0x0059, 1, [ "RollerVerticalUp", "RollerVerticalDown", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Skull Woods - Bridge Room - Mini Moldorm 2"
- [0x0059, 5, ["RollerVerticalUp", "RollerVerticalDown", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper"]]
- [ 0x0059, 9, [ "RollerVerticalUp", "RollerVerticalDown", "AntiFairyCircle", "BigSpike", "SpikeBlock", "Bumper" ] ] #"Skull Woods - Bridge Room - Gibdo 1"
- [ 0x005e, 3, [ "RollerHorizontalLeft", "RollerHorizontalRight", "Beamos", "AntiFairyCircle", "SpikeBlock", "Bumper" ] ] #"Ice Palace - Pit Trap - Big Spike Trap"
- [ 0x005e, 4, [ "RollerVerticalUp", "RollerVerticalDown" ] ] #"Ice Palace - Pit Trap - Fire Bar (Clockwise)"

View File

@@ -0,0 +1,29 @@
meta:
players: 1
settings:
1:
mode: open
enemy_shuffle: shuffled
dropshuffle: underworld
enemies:
1:
Underworld:
0x55:
1: Lynel
placements: # all the ways to kill a Lynel are Flipper locked
1:
Waterfall Fairy - Left: Progressive Sword
Waterfall Fairy - Right: Progressive Sword
Hobo: Progressive Sword
Swamp Palace - Map Chest: Progressive Bow
Swamp Palace - Compass Chest: Progressive Bow
Zora's Ledge: Hammer
advanced_placements:
1:
- type: Verification
item: Flippers
locations:
'Hyrule Castle Secret Entrance Enemy #2': False # can't kill the lynel
Link's Uncle: True