Add "Start With" option
This commit is contained in:
parent
b7676a3da2
commit
c0f95755ff
|
@ -1,15 +1,15 @@
|
|||
from collections import namedtuple
|
||||
import logging
|
||||
from collections import namedtuple
|
||||
|
||||
from BaseClasses import Region, RegionType
|
||||
from worlds.alttp.SubClasses import ALttPLocation
|
||||
from worlds.alttp.Shops import TakeAny, total_shop_slots, set_up_shops, shuffle_shops
|
||||
from Fill import FillError
|
||||
from worlds.alttp.Bosses import place_bosses
|
||||
from worlds.alttp.Dungeons import get_dungeon_item_pool_player
|
||||
from worlds.alttp.EntranceShuffle import connect_entrance
|
||||
from Fill import FillError
|
||||
from worlds.alttp.Items import ItemFactory, GetBeemizerItem
|
||||
from worlds.alttp.Options import smallkey_shuffle
|
||||
from worlds.alttp.Options import smallkey_shuffle, compass_shuffle, bigkey_shuffle, map_shuffle
|
||||
from worlds.alttp.Shops import TakeAny, total_shop_slots, set_up_shops, shuffle_shops
|
||||
from worlds.alttp.SubClasses import ALttPLocation
|
||||
|
||||
# This file sets the item pools for various modes. Timed modes and triforce hunt are enforced first, and then extra items are specified per mode to fill in the remaining space.
|
||||
# Some basic items that various modes require are placed here, including pendants and crystals. Medallion requirements for the two relevant entrances are also decided.
|
||||
|
@ -226,6 +226,7 @@ for diff in {'easy', 'normal', 'hard', 'expert'}:
|
|||
def generate_itempool(world):
|
||||
player = world.player
|
||||
world = world.world
|
||||
|
||||
if world.difficulty[player] not in difficulties:
|
||||
raise NotImplementedError(f"Diffulty {world.difficulty[player]}")
|
||||
if world.goal[player] not in {'ganon', 'pedestal', 'bosses', 'triforcehunt', 'localtriforcehunt', 'icerodhunt',
|
||||
|
@ -651,6 +652,74 @@ def get_pool_core(world, player: int):
|
|||
place_item(key_location, item_to_place)
|
||||
else:
|
||||
pool.extend([item_to_place])
|
||||
|
||||
if world.smallkey_shuffle[player] == smallkey_shuffle.option_start_with:
|
||||
precollected_items.append('Small Key (Hyrule Castle)')
|
||||
precollected_items.append('Small Key (Desert Palace)')
|
||||
precollected_items.append('Small Key (Tower of Hera)')
|
||||
precollected_items.extend(['Small Key (Palace of Darkness)'] * 6)
|
||||
precollected_items.append('Small Key (Thieves Town)')
|
||||
precollected_items.extend(['Small Key (Skull Woods)'] * 3)
|
||||
precollected_items.append('Small Key (Swamp Palace)')
|
||||
precollected_items.extend(['Small Key (Ice Palace)'] * 2)
|
||||
precollected_items.extend(['Small Key (Misery Mire)'] * 3)
|
||||
precollected_items.extend(['Small Key (Turtle Rock)'] * 4)
|
||||
precollected_items.extend(['Small Key (Agahnims Tower)'] * 2)
|
||||
precollected_items.extend(['Small Key (Ganons Tower)'] * 4)
|
||||
pool.extend(['Rupees (20)'] * 23)
|
||||
pool.extend(['Arrows (10)'] * 3)
|
||||
pool.extend(['Bombs (10)'] * 3)
|
||||
|
||||
if world.compass_shuffle[player] == compass_shuffle.option_start_with:
|
||||
precollected_items.append('Compass (Eastern Palace)')
|
||||
precollected_items.append('Compass (Desert Palace)')
|
||||
precollected_items.append('Compass (Tower of Hera)')
|
||||
precollected_items.append('Compass (Palace of Darkness)')
|
||||
precollected_items.append('Compass (Thieves Town)')
|
||||
precollected_items.append('Compass (Skull Woods)')
|
||||
precollected_items.append('Compass (Swamp Palace)')
|
||||
precollected_items.append('Compass (Ice Palace)')
|
||||
precollected_items.append('Compass (Misery Mire)')
|
||||
precollected_items.append('Compass (Turtle Rock)')
|
||||
precollected_items.append('Compass (Ganons Tower)')
|
||||
pool.extend(['Rupees (20)'] * 9)
|
||||
pool.append('Arrows (10)')
|
||||
pool.append('Bombs (10)')
|
||||
|
||||
if world.map_shuffle[player] == map_shuffle.option_start_with:
|
||||
precollected_items.append('Map (Hyrule Castle)')
|
||||
precollected_items.append('Map (Eastern Palace)')
|
||||
precollected_items.append('Map (Desert Palace)')
|
||||
precollected_items.append('Map (Tower of Hera)')
|
||||
precollected_items.append('Map (Palace of Darkness)')
|
||||
precollected_items.append('Map (Thieves Town)')
|
||||
precollected_items.append('Map (Skull Woods)')
|
||||
precollected_items.append('Map (Swamp Palace)')
|
||||
precollected_items.append('Map (Ice Palace)')
|
||||
precollected_items.append('Map (Misery Mire)')
|
||||
precollected_items.append('Map (Turtle Rock)')
|
||||
precollected_items.append('Map (Ganons Tower)')
|
||||
pool.extend(['Rupees (20)'] * 10)
|
||||
pool.append('Arrows (10)')
|
||||
pool.append('Bombs (10)')
|
||||
|
||||
if world.bigkey_shuffle[player] == bigkey_shuffle.option_start_with:
|
||||
precollected_items.append('Big Key (Eastern Palace)')
|
||||
precollected_items.append('Big Key (Desert Palace)')
|
||||
precollected_items.append('Big Key (Tower of Hera)')
|
||||
precollected_items.append('Big Key (Palace of Darkness)')
|
||||
precollected_items.append('Big Key (Thieves Town)')
|
||||
precollected_items.append('Big Key (Skull Woods)')
|
||||
precollected_items.append('Big Key (Swamp Palace)')
|
||||
precollected_items.append('Big Key (Ice Palace)')
|
||||
precollected_items.append('Big Key (Misery Mire)')
|
||||
precollected_items.append('Big Key (Turtle Rock)')
|
||||
precollected_items.append('Big Key (Ganons Tower)')
|
||||
pool.extend(['Rupees (20)'] * 9)
|
||||
pool.append('Arrows (10)')
|
||||
pool.append('Bombs (10)')
|
||||
|
||||
|
||||
return (pool, placed_items, precollected_items, clock_mode, treasure_hunt_count, treasure_hunt_icon,
|
||||
additional_pieces_to_place)
|
||||
|
||||
|
|
Loading…
Reference in New Issue