Merge in unstable changes
This commit is contained in:
22
Dungeons.py
22
Dungeons.py
@@ -375,6 +375,28 @@ flexible_starts = {
|
|||||||
'Skull Woods': ['Skull Left Drop', 'Skull Pinball']
|
'Skull Woods': ['Skull Left Drop', 'Skull Pinball']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default_key_counts = {
|
||||||
|
'Hyrule Castle': 1, 'Eastern Palace': 0, 'Desert Palace': 1,
|
||||||
|
'Tower of Hera': 1, 'Agahnims Tower': 2, 'Palace of Darkness': 6,
|
||||||
|
'Swamp Palace': 1, 'Skull Woods': 3, 'Thieves Town': 1,
|
||||||
|
'Ice Palace': 2, 'Misery Mire': 3, 'Turtle Rock': 4, 'Ganons Tower': 4
|
||||||
|
}
|
||||||
|
|
||||||
|
dungeon_keys = {
|
||||||
|
'Hyrule Castle': 'Small Key (Escape)',
|
||||||
|
'Eastern Palace': 'Small Key (Eastern Palace)',
|
||||||
|
'Desert Palace': 'Small Key (Desert Palace)',
|
||||||
|
'Tower of Hera': 'Small Key (Tower of Hera)',
|
||||||
|
'Agahnims Tower': 'Small Key (Agahnims Tower)',
|
||||||
|
'Palace of Darkness': 'Small Key (Palace of Darkness)',
|
||||||
|
'Swamp Palace': 'Small Key (Swamp Palace)',
|
||||||
|
'Skull Woods': 'Small Key (Skull Woods)',
|
||||||
|
'Thieves Town': 'Small Key (Thieves Town)',
|
||||||
|
'Ice Palace': 'Small Key (Ice Palace)',
|
||||||
|
'Misery Mire': 'Small Key (Misery Mire)',
|
||||||
|
'Turtle Rock': 'Small Key (Turtle Rock)',
|
||||||
|
'Ganons Tower': 'Small Key (Ganons Tower)'
|
||||||
|
}
|
||||||
|
|
||||||
dungeon_bigs = {
|
dungeon_bigs = {
|
||||||
'Hyrule Castle': 'Big Key (Escape)',
|
'Hyrule Castle': 'Big Key (Escape)',
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from collections import defaultdict, deque
|
|||||||
|
|
||||||
from BaseClasses import DoorType, dungeon_keys, KeyRuleType, RegionType
|
from BaseClasses import DoorType, dungeon_keys, KeyRuleType, RegionType
|
||||||
from Regions import dungeon_events
|
from Regions import dungeon_events
|
||||||
from Dungeons import dungeon_bigs, dungeon_prize
|
from Dungeons import dungeon_keys, dungeon_bigs, dungeon_prize, default_key_counts
|
||||||
from DungeonGenerator import ExplorationState, special_big_key_doors
|
from DungeonGenerator import ExplorationState, special_big_key_doors
|
||||||
|
|
||||||
|
|
||||||
@@ -1516,9 +1516,10 @@ def create_key_counters(key_layout, world, player):
|
|||||||
flat_proposal = key_layout.flat_prop
|
flat_proposal = key_layout.flat_prop
|
||||||
state = ExplorationState(dungeon=key_layout.sector.name)
|
state = ExplorationState(dungeon=key_layout.sector.name)
|
||||||
if world.doorShuffle[player] == 'vanilla':
|
if world.doorShuffle[player] == 'vanilla':
|
||||||
state.key_locations = len(world.get_dungeon(key_layout.sector.name, player).small_keys)
|
state.key_locations = default_key_counts[key_layout.sector.name]
|
||||||
else:
|
else:
|
||||||
state.key_locations = world.dungeon_layouts[player][key_layout.sector.name].key_doors_num
|
builder = world.dungeon_layouts[player][key_layout.sector.name]
|
||||||
|
state.key_locations = builder.key_doors_num - builder.key_drop_cnt
|
||||||
state.big_key_special = False
|
state.big_key_special = False
|
||||||
for region in key_layout.sector.regions:
|
for region in key_layout.sector.regions:
|
||||||
for location in region.locations:
|
for location in region.locations:
|
||||||
|
|||||||
@@ -846,7 +846,7 @@ async def track_locations(ctx : Context, roomid, roomdata):
|
|||||||
new_locations.append(Regions.lookup_name_to_id[location])
|
new_locations.append(Regions.lookup_name_to_id[location])
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if roomid in location_shop_ids:
|
if ctx.shop_mode or ctx.retro_mode:
|
||||||
misc_data = await snes_read(ctx, SHOP_ADDR, SHOP_SRAM_LEN)
|
misc_data = await snes_read(ctx, SHOP_ADDR, SHOP_SRAM_LEN)
|
||||||
for cnt, b in enumerate(misc_data):
|
for cnt, b in enumerate(misc_data):
|
||||||
my_check = Regions.shop_table_by_location_id[0x400000 + cnt]
|
my_check = Regions.shop_table_by_location_id[0x400000 + cnt]
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ def roll_settings(weights):
|
|||||||
ret.heartbeep = get_choice('heartbeep', romweights)
|
ret.heartbeep = get_choice('heartbeep', romweights)
|
||||||
ret.ow_palettes = get_choice('ow_palettes', romweights)
|
ret.ow_palettes = get_choice('ow_palettes', romweights)
|
||||||
ret.uw_palettes = get_choice('uw_palettes', romweights)
|
ret.uw_palettes = get_choice('uw_palettes', romweights)
|
||||||
ret.uw_palettes = get_choice('shuffle_sfx', romweights) == 'on'
|
ret.shuffle_sfx = get_choice('shuffle_sfx', romweights) == 'on'
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ CLI: ```--bomblogic```
|
|||||||
|
|
||||||
# Bug Fixes and Notes.
|
# Bug Fixes and Notes.
|
||||||
|
|
||||||
|
* 0.5.0.3
|
||||||
|
* Fixed a bug in retro+vanilla and big key placement
|
||||||
|
* Fixed a problem with shops not registering in the Multiclient until you visit one
|
||||||
|
* Fixed a bug in the Mystery code with sfx
|
||||||
* 0.5.0.2
|
* 0.5.0.2
|
||||||
* --shuffle_sfx option added
|
* --shuffle_sfx option added
|
||||||
* 0.5.0.1
|
* 0.5.0.1
|
||||||
|
|||||||
Reference in New Issue
Block a user