Adjusted map info to be experimental
Moved mirror scroll to be standard in non-vanilla door shuffles Fixed potential duplicate map issues
This commit is contained in:
@@ -715,14 +715,6 @@ def cross_dungeon(world, player):
|
||||
all_dungeon_items = [y for x in world.dungeons if x.player == player for y in x.all_items]
|
||||
target_items = 34 if world.retro[player] else 63
|
||||
d_items = target_items - len(all_dungeon_items)
|
||||
if d_items > 0:
|
||||
if d_items >= 1: # restore HC map
|
||||
world.get_dungeon('Hyrule Castle', player).dungeon_items.append(ItemFactory('Map (Escape)', player))
|
||||
if d_items >= 2: # restore GT map
|
||||
world.get_dungeon('Ganons Tower', player).dungeon_items.append(ItemFactory('Map (Ganons Tower)', player))
|
||||
if d_items > 2:
|
||||
world.pool_adjustment[player] = d_items - 2
|
||||
elif d_items < 0:
|
||||
world.pool_adjustment[player] = d_items
|
||||
smooth_door_pairs(world, player)
|
||||
|
||||
@@ -1300,7 +1292,7 @@ def stateful_door(door, kind):
|
||||
|
||||
|
||||
def random_door_type(door, partner, world, player, type_a, type_b, room_a, room_b):
|
||||
r_kind = random.choices([DoorKind.Normal, DoorKind.Bombable, DoorKind.Dashable], [5, 2, 3], k=1)[0]
|
||||
r_kind = random.choices([DoorKind.Normal, DoorKind.Bombable, DoorKind.Dashable], [15, 4, 6], k=1)[0]
|
||||
if r_kind != DoorKind.Normal:
|
||||
if door.type == DoorType.Normal:
|
||||
add_pair(door, partner, world, player)
|
||||
@@ -1492,6 +1484,7 @@ class DROptions(Flag):
|
||||
NoOptions = 0x00
|
||||
Eternal_Mini_Bosses = 0x01 # If on, GT minibosses marked as defeated when they try to spawn a heart
|
||||
Town_Portal = 0x02 # If on, Players will start with mirror scroll
|
||||
Map_Info = 0x04
|
||||
Open_Desert_Wall = 0x80 # If on, pre opens the desert wall, no fire required
|
||||
|
||||
# DATA GOES DOWN HERE
|
||||
|
||||
2
Main.py
2
Main.py
@@ -24,7 +24,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute
|
||||
from ItemList import generate_itempool, difficulties, fill_prizes
|
||||
from Utils import output_path, parse_player_names
|
||||
|
||||
__version__ = '0.0.20.3u'
|
||||
__version__ = '0.0.20.4u'
|
||||
|
||||
|
||||
class EnemizerError(RuntimeError):
|
||||
|
||||
8
Rom.py
8
Rom.py
@@ -22,7 +22,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = '9106102ce69cf290fe2f4fce1e95a89b'
|
||||
RANDOMIZERBASEHASH = 'da4e48a9692a3f7c488dfb3dcaa58f42'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -592,8 +592,12 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
if world.mode[player] == 'inverted':
|
||||
patch_shuffled_dark_sanc(world, rom, player)
|
||||
|
||||
# setup dr option flags based on experimental, etc.
|
||||
dr_flags = DROptions.Eternal_Mini_Bosses if world.doorShuffle[player] == 'vanilla' else DROptions.Town_Portal
|
||||
if world.experimental[player]:
|
||||
dr_flags |= DROptions.Map_Info
|
||||
|
||||
# patch doors
|
||||
dr_flags = DROptions.Eternal_Mini_Bosses if world.doorShuffle[player] == 'vanilla' or not world.experimental[player] else DROptions.Town_Portal
|
||||
if world.doorShuffle[player] == 'crossed':
|
||||
rom.write_byte(0x139004, 2)
|
||||
for name, layout in world.key_layout[player].items():
|
||||
|
||||
@@ -16,8 +16,11 @@ HudAdditions:
|
||||
lda #$345e : sta $7ec790 : bra .next
|
||||
+ lda #$207f : sta $7ec790
|
||||
.next lda DRMode : and #$0002 : bne + : plb : rts : +
|
||||
lda $7ef36d : and #$00ff : beq +
|
||||
lda DungeonReminderTable, x : sta $7ec702
|
||||
+ lda DRFlags : and #$0040 : beq .restore
|
||||
lda $7ef368 : and.l $0098c0, x : beq .restore
|
||||
|
||||
lda #$2811 : sta $7ec740
|
||||
lda $7ef366 : and.l $0098c0, x : bne .check
|
||||
lda BigKeyStatus, x : and #$00ff : bne + ;todo: "and" is redundant or change table to one byte
|
||||
@@ -27,7 +30,7 @@ HudAdditions:
|
||||
+ lda #$207f : bra ++
|
||||
.check lda #$2826
|
||||
++ sta $7ec742
|
||||
+ txa : lsr : tax
|
||||
txa : lsr : tax
|
||||
|
||||
lda $7ef4e0, x : jsr ConvertToDisplay : sta $7ec7a2
|
||||
lda #$2830 : sta $7ec7a4
|
||||
@@ -47,8 +50,6 @@ ConvertToDisplay:
|
||||
!add #$2553 : rts
|
||||
+ !add #$2490 : rts
|
||||
|
||||
; and $18c0, x
|
||||
;207f is blank
|
||||
|
||||
CountChestKeys:
|
||||
jsl ItemDowngradeFix
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user