Merged in DR v1.4.1.8
This commit is contained in:
2
Main.py
2
Main.py
@@ -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}'
|
||||
|
||||
|
||||
@@ -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
8
Rom.py
@@ -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)
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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)"
|
||||
|
||||
29
test/suite/enemy_logic/lynel_test.yaml
Normal file
29
test/suite/enemy_logic/lynel_test.yaml
Normal 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user