Trash ditching method rebalanced for lots of triforce pieces
Added a few places Links House shouldn't go when shuffled Ped goal + vanilla sword = random sword in pool
This commit is contained in:
@@ -2557,10 +2557,10 @@ Isolated_LH_Doors_Open = ['Mimic Cave',
|
|||||||
'Desert Palace Entrance (South)',
|
'Desert Palace Entrance (South)',
|
||||||
'Desert Palace Entrance (North)',
|
'Desert Palace Entrance (North)',
|
||||||
'Capacity Upgrade',
|
'Capacity Upgrade',
|
||||||
'Ice Palace',
|
'Ice Palace', 'Dark World Shop', 'Dark World Potion Shop',
|
||||||
'Skull Woods Final Section',
|
'Skull Woods Final Section', 'Skull Woods Second Section Door (West)',
|
||||||
'Dark World Hammer Peg Cave',
|
'Dark World Hammer Peg Cave', 'Dark Death Mountain Ledge (West)',
|
||||||
'Turtle Rock Isolated Ledge Entrance']
|
'Turtle Rock Isolated Ledge Entrance', 'Dark Death Mountain Ledge (East)']
|
||||||
|
|
||||||
DW_Single_Cave_Doors = ['Bonk Fairy (Dark)',
|
DW_Single_Cave_Doors = ['Bonk Fairy (Dark)',
|
||||||
'Dark Sanctuary Hint',
|
'Dark Sanctuary Hint',
|
||||||
@@ -3033,10 +3033,10 @@ Isolated_LH_Doors = ['Kings Grave',
|
|||||||
'Desert Palace Entrance (South)',
|
'Desert Palace Entrance (South)',
|
||||||
'Desert Palace Entrance (North)',
|
'Desert Palace Entrance (North)',
|
||||||
'Capacity Upgrade',
|
'Capacity Upgrade',
|
||||||
'Ice Palace',
|
'Ice Palace', 'Dark World Shop', 'Dark World Potion Shop',
|
||||||
'Skull Woods Final Section',
|
'Skull Woods Final Section', 'Skull Woods Second Section Door (West)',
|
||||||
'Dark World Hammer Peg Cave',
|
'Dark World Hammer Peg Cave', 'Dark Death Mountain Ledge (West)',
|
||||||
'Turtle Rock Isolated Ledge Entrance']
|
'Turtle Rock Isolated Ledge Entrance', 'Dark Death Mountain Ledge (East)']
|
||||||
|
|
||||||
# Entrances that cannot be used to access a must_exit entrance - symmetrical to allow reverse lookups
|
# Entrances that cannot be used to access a must_exit entrance - symmetrical to allow reverse lookups
|
||||||
Must_Exit_Invalid_Connections = defaultdict(set, {
|
Must_Exit_Invalid_Connections = defaultdict(set, {
|
||||||
|
|||||||
16
ItemList.py
16
ItemList.py
@@ -796,7 +796,7 @@ def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer,
|
|||||||
lamps_needed_for_dark_rooms = 1
|
lamps_needed_for_dark_rooms = 1
|
||||||
|
|
||||||
# insanity shuffle doesn't have fake LW/DW logic so for now guaranteed Mirror and Moon Pearl at the start
|
# insanity shuffle doesn't have fake LW/DW logic so for now guaranteed Mirror and Moon Pearl at the start
|
||||||
if shuffle == 'insanity_legacy':
|
if shuffle == 'insanity_legacy':
|
||||||
place_item('Link\'s House', 'Magic Mirror')
|
place_item('Link\'s House', 'Magic Mirror')
|
||||||
place_item('Sanctuary', 'Moon Pearl')
|
place_item('Sanctuary', 'Moon Pearl')
|
||||||
else:
|
else:
|
||||||
@@ -854,6 +854,7 @@ def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer,
|
|||||||
place_item('Master Sword Pedestal', swords_to_use.pop())
|
place_item('Master Sword Pedestal', swords_to_use.pop())
|
||||||
else:
|
else:
|
||||||
place_item('Master Sword Pedestal', 'Triforce')
|
place_item('Master Sword Pedestal', 'Triforce')
|
||||||
|
pool.append(swords_to_use.pop())
|
||||||
else:
|
else:
|
||||||
pool.extend(diff.progressivesword if want_progressives() else diff.basicsword)
|
pool.extend(diff.progressivesword if want_progressives() else diff.basicsword)
|
||||||
if swords == 'assured':
|
if swords == 'assured':
|
||||||
@@ -865,26 +866,19 @@ def get_pool_core(progressive, shuffle, difficulty, treasure_hunt_total, timer,
|
|||||||
pool.remove('Fighter Sword')
|
pool.remove('Fighter Sword')
|
||||||
pool.extend(['Rupees (50)'])
|
pool.extend(['Rupees (50)'])
|
||||||
|
|
||||||
extraitems = total_items_to_place - len(pool) - len(placed_items)
|
|
||||||
|
|
||||||
if timer in ['timed', 'timed-countdown']:
|
if timer in ['timed', 'timed-countdown']:
|
||||||
pool.extend(diff.timedother)
|
pool.extend(diff.timedother)
|
||||||
extraitems -= len(diff.timedother)
|
|
||||||
clock_mode = 'stopwatch' if timer == 'timed' else 'countdown'
|
clock_mode = 'stopwatch' if timer == 'timed' else 'countdown'
|
||||||
elif timer == 'timed-ohko':
|
elif timer == 'timed-ohko':
|
||||||
pool.extend(diff.timedohko)
|
pool.extend(diff.timedohko)
|
||||||
extraitems -= len(diff.timedohko)
|
|
||||||
clock_mode = 'countdown-ohko'
|
clock_mode = 'countdown-ohko'
|
||||||
if goal == 'triforcehunt':
|
if goal == 'triforcehunt':
|
||||||
pool.extend(triforcepool)
|
pool.extend(triforcepool)
|
||||||
extraitems -= len(triforcepool)
|
|
||||||
|
|
||||||
for extra in diff.extras:
|
for extra in diff.extras:
|
||||||
if extraitems > 0:
|
pool.extend(extra)
|
||||||
if len(extra) > extraitems:
|
|
||||||
extra = random.choices(extra, k=extraitems)
|
# note: massage item pool now handles shrinking the pool appropriately
|
||||||
pool.extend(extra)
|
|
||||||
extraitems -= len(extra)
|
|
||||||
|
|
||||||
if goal == 'pedestal' and swords != 'vanilla':
|
if goal == 'pedestal' and swords != 'vanilla':
|
||||||
place_item('Master Sword Pedestal', 'Triforce')
|
place_item('Master Sword Pedestal', 'Triforce')
|
||||||
|
|||||||
@@ -151,6 +151,9 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o
|
|||||||
* Expanded Mystery logic options (e.g. owglitches)
|
* Expanded Mystery logic options (e.g. owglitches)
|
||||||
* Allowed Mystery.py to create BPS patches
|
* Allowed Mystery.py to create BPS patches
|
||||||
* Allow creation of BPS and SFC files (no longer mutually exclusive)
|
* Allow creation of BPS and SFC files (no longer mutually exclusive)
|
||||||
|
* Pedestal goal + vanilla swords places a random sword in the pool
|
||||||
|
* Rebalanced trash ditching algo for seeds with lots of triforce pieces
|
||||||
|
* Added a few more places Links House shouldn't go when shuffled
|
||||||
* Fixed a bug with shopsanity + district algorithm where pre-placed potions messed up the placeholder count
|
* Fixed a bug with shopsanity + district algorithm where pre-placed potions messed up the placeholder count
|
||||||
* Fixed usestartinventory flag (can be use on a per player basis)
|
* Fixed usestartinventory flag (can be use on a per player basis)
|
||||||
* Fix for map indicators on keysanity menu not showing up
|
* Fix for map indicators on keysanity menu not showing up
|
||||||
|
|||||||
@@ -829,28 +829,11 @@ vanilla_swords = {"Link's Uncle", 'Master Sword Pedestal', 'Blacksmith', 'Pyrami
|
|||||||
trash_items = {
|
trash_items = {
|
||||||
'Nothing': -1,
|
'Nothing': -1,
|
||||||
'Bee Trap': 0,
|
'Bee Trap': 0,
|
||||||
'Rupee (1)': 1,
|
'Rupee (1)': 1, 'Rupees (5)': 1, 'Small Heart': 1, 'Bee': 1, 'Arrows (5)': 1, 'Chicken': 1, 'Single Bomb': 1,
|
||||||
'Rupees (5)': 1,
|
'Rupees (20)': 2, 'Small Magic': 2,
|
||||||
'Rupees (20)': 1,
|
'Bombs (3)': 3, 'Arrows (10)': 3, 'Bombs (10)': 3,
|
||||||
|
'Big Magic': 4, 'Red Potion': 4, 'Blue Shield': 4, 'Rupees (50)': 4, 'Rupees (100)': 4,
|
||||||
'Small Heart': 2,
|
|
||||||
'Bee': 2,
|
|
||||||
'Arrows (5)': 2,
|
|
||||||
'Chicken': 2,
|
|
||||||
'Single Bomb': 2,
|
|
||||||
|
|
||||||
'Bombs (3)': 3,
|
|
||||||
'Arrows (10)': 3,
|
|
||||||
'Bombs (10)': 3,
|
|
||||||
'Small Magic': 3,
|
|
||||||
|
|
||||||
'Big Magic': 4,
|
|
||||||
'Red Potion': 4,
|
|
||||||
'Blue Shield': 4,
|
|
||||||
'Rupees (50)': 4,
|
|
||||||
'Rupees (100)': 4,
|
|
||||||
'Rupees (300)': 5,
|
'Rupees (300)': 5,
|
||||||
|
|
||||||
'Piece of Heart': 17
|
'Piece of Heart': 17
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user