Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								from  collections  import  OrderedDict  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  shop_address ( shop_id ,  shelf_id ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  0xC71ED0  +  ( 0x40  *  shop_id )  +  ( 0x08  *  shelf_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   Abbreviations  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       DMC     Death Mountain Crater  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       DMT     Death Mountain Trail  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       GC      Goron City  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       GF      Gerudo Fortress  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       GS      Gold Skulltula  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       GV      Gerudo Valley  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       HC      Hyrule Castle  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       HF      Hyrule Field  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       KF      Kokiri Forest  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       LH      Lake Hylia  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       LLR     Lon Lon Ranch  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       LW      Lost Woods  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       OGC     Outside Ganon's Castle  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       SFM     Sacred Forest Meadow  
						 
					
						
							
								
									
										
										
										
											2022-05-01 13:05:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#       TH      Thieves' Hideout  
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								#       ToT     Temple of Time  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       ZD      Zora's Domain  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       ZF      Zora's Fountain  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#       ZR      Zora's River  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# The order of this table is reflected in the spoiler's list of locations (except Hints aren't included).  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Within a section, the order of types is: gifts/freestanding/chests, Deku Scrubs, Cows, Gold Skulltulas, Shops.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Scrubs are on the overworld, while GrottoScrub is a special handler for Grottos  
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# Grottos scrubs are the same scene and actor, so we use a unique grotto ID for the scene  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Note that the scene for skulltulas is not the actual scene the token appears in  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Rather, it is the index of the grouping used when storing skulltula collection  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# For example, zora river, zora's domain, and zora fountain are all a single 'scene' for skulltulas  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# For pot/crate/freestanding locations, the Default variable contains a tuple of the format (Room ID, Scene Setup, Actor ID) where:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   Room ID - The room index in the scene  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   Scene Setup - The scene setup that the location exists in. This is a number 0-3: 0=Child Day, 1=Child Night, 2=Adult Day, 3=Adult Night.   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   Actor ID - The position of the actor in the actor table.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# The default variable can also be a list of such tuples in the case that multiple scene setups contain the same locations to be shuffled together.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Note: for ActorOverride locations, the "Addresses" variable is in the form ([addresses], [bytes]) where addresses is a list of memory locations in ROM to be updated, and bytes is the data that will be written to that location  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   Location:                                                        Type             Scene  Default Addresses                      Vanilla Item                             Categories  
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								location_table  =  OrderedDict ( [  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Dungeon Rewards 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Links Pocket " ,                                                  ( " Boss " ,          None ,   None ,  None ,                             ' Light Medallion ' ,                        None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Queen Gohma " ,                                                   ( " Boss " ,          None ,   0x6C ,  ( 0x0CA315F ,  0x2079571 ) ,           ' Kokiri Emerald ' ,                         None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " King Dodongo " ,                                                  ( " Boss " ,          None ,   0x6D ,  ( 0x0CA30DF ,  0x2223309 ) ,           ' Goron Ruby ' ,                             None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Barinade " ,                                                      ( " Boss " ,          None ,   0x6E ,  ( 0x0CA36EB ,  0x2113C19 ) ,           ' Zora Sapphire ' ,                          None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Phantom Ganon " ,                                                 ( " Boss " ,          None ,   0x66 ,  ( 0x0CA3D07 ,  0x0D4ED79 ) ,           ' Forest Medallion ' ,                       None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Volvagia " ,                                                      ( " Boss " ,          None ,   0x67 ,  ( 0x0CA3D93 ,  0x0D10135 ) ,           ' Fire Medallion ' ,                         None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Morpha " ,                                                        ( " Boss " ,          None ,   0x68 ,  ( 0x0CA3E1F ,  0x0D5A3A9 ) ,           ' Water Medallion ' ,                        None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bongo Bongo " ,                                                   ( " Boss " ,          None ,   0x6A ,  ( 0x0CA3F43 ,  0x0D13E19 ) ,           ' Shadow Medallion ' ,                       None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Twinrova " ,                                                      ( " Boss " ,          None ,   0x69 ,  ( 0x0CA3EB3 ,  0x0D39FF1 ) ,           ' Spirit Medallion ' ,                       None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganon " ,                                                         ( " Event " ,         None ,   None ,  None ,                             ' Triforce ' ,                               None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gift from Sages " ,                                               ( " Cutscene " ,      0xFF ,   0x03 ,  None ,                              None ,                                    None ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Songs 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Song from Impa " ,                                                ( " Song " ,          0xFF ,   0x26 ,  ( 0x2E8E925 ,  0x2E8E925 ) ,           ' Zeldas Lullaby ' ,                         ( " Hyrule Castle " ,  " Market " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Song from Malon " ,                                               ( " Song " ,          0xFF ,   0x27 ,  ( 0x0D7EB53 ,  0x0D7EBCF ) ,           ' Eponas Song ' ,                            ( " Lon Lon Ranch " ,  " Songs " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Song from Saria " ,                                               ( " Song " ,          0xFF ,   0x28 ,  ( 0x20B1DB1 ,  0x20B1DB1 ) ,           ' Sarias Song ' ,                            ( " Sacred Forest Meadow " ,  " Forest " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Song from Royal Familys Tomb " ,                                  ( " Song " ,          0xFF ,   0x29 ,  ( 0x332A871 ,  0x332A871 ) ,           ' Suns Song ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Song from Ocarina of Time " ,                                     ( " Song " ,          0xFF ,   0x2A ,  ( 0x252FC89 ,  0x252FC89 ) ,           ' Song of Time ' ,                           ( " Hyrule Field " ,  " Songs " ,  " Need Spiritual Stones " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Song from Windmill " ,                                            ( " Song " ,          0xFF ,   0x2B ,  ( 0x0E42C07 ,  0x0E42B8B ) ,           ' Song of Storms ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik in Forest " ,                                               ( " Song " ,          0xFF ,   0x20 ,  ( 0x20B0809 ,  0x20B0809 ) ,           ' Minuet of Forest ' ,                       ( " Sacred Forest Meadow " ,  " Forest " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik in Crater " ,                                               ( " Song " ,          0xFF ,   0x21 ,  ( 0x224D7F1 ,  0x224D7F1 ) ,           ' Bolero of Fire ' ,                         ( " Death Mountain Crater " ,  " Death Mountain " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik in Ice Cavern " ,                                           ( " Song " ,          0xFF ,   0x22 ,  ( 0x2BEC889 ,  0x2BEC889 ) ,           ' Serenade of Water ' ,                      ( " Ice Cavern " ,  " Songs " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik at Colossus " ,                                             ( " Song " ,          0xFF ,   0x23 ,  ( 0x218C57D ,  0x218C57D ) ,           ' Requiem of Spirit ' ,                      ( " Desert Colossus " ,  " Songs " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik in Kakariko " ,                                             ( " Song " ,          0xFF ,   0x24 ,  ( 0x2000FE1 ,  0x2000FE1 ) ,           ' Nocturne of Shadow ' ,                     ( " Kakariko Village " ,  " Kakariko " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Sheik at Temple " ,                                               ( " Song " ,          0xFF ,   0x25 ,  ( 0x2531329 ,  0x2531329 ) ,           ' Prelude of Light ' ,                       ( " Temple of Time " ,  " Market " ,  " Songs " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Overworld 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kokiri Forest 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " KF Midos Top Left Chest " ,                                       ( " Chest " ,         0x28 ,   0x00 ,  None ,                             ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Midos Top Right Chest " ,                                      ( " Chest " ,         0x28 ,   0x01 ,  None ,                             ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Midos Bottom Left Chest " ,                                    ( " Chest " ,         0x28 ,   0x02 ,  None ,                             ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Midos Bottom Right Chest " ,                                   ( " Chest " ,         0x28 ,   0x03 ,  None ,                             ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Kokiri Sword Chest " ,                                         ( " Chest " ,         0x55 ,   0x00 ,  None ,                             ' Kokiri Sword ' ,                           ( " Kokiri Forest " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Storms Grotto Chest " ,                                        ( " Chest " ,         0x3E ,   0x0C ,  None ,                             ' Rupees (20) ' ,                            ( " Kokiri Forest " ,  " Forest " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Links House Cow " ,                                            ( " NPC " ,           0x34 ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Kokiri Forest " ,  " Forest " ,  " Cow " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF GS Know It All House " ,                                       ( " GS Token " ,      0x0C ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kokiri Forest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF GS Bean Patch " ,                                              ( " GS Token " ,      0x0C ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kokiri Forest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF GS House of Twins " ,                                          ( " GS Token " ,      0x0C ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kokiri Forest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 1 " ,                                                ( " Shop " ,          0x2D ,   0x30 ,  ( shop_address ( 0 ,  0 ) ,  None ) ,       ' Buy Deku Shield ' ,                        ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 2 " ,                                                ( " Shop " ,          0x2D ,   0x31 ,  ( shop_address ( 0 ,  1 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 3 " ,                                                ( " Shop " ,          0x2D ,   0x32 ,  ( shop_address ( 0 ,  2 ) ,  None ) ,       ' Buy Deku Nut (10) ' ,                      ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 4 " ,                                                ( " Shop " ,          0x2D ,   0x33 ,  ( shop_address ( 0 ,  3 ) ,  None ) ,       ' Buy Deku Stick (1) ' ,                     ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 5 " ,                                                ( " Shop " ,          0x2D ,   0x34 ,  ( shop_address ( 0 ,  4 ) ,  None ) ,       ' Buy Deku Seeds (30) ' ,                    ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 6 " ,                                                ( " Shop " ,          0x2D ,   0x35 ,  ( shop_address ( 0 ,  5 ) ,  None ) ,       ' Buy Arrows (10) ' ,                        ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 7 " ,                                                ( " Shop " ,          0x2D ,   0x36 ,  ( shop_address ( 0 ,  6 ) ,  None ) ,       ' Buy Arrows (30) ' ,                        ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Item 8 " ,                                                ( " Shop " ,          0x2D ,   0x37 ,  ( shop_address ( 0 ,  7 ) ,  None ) ,       ' Buy Heart ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kokiri Forest Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Behind Midos Blue Rupee " ,                                    ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Boulder Maze Blue Rupee 1 " ,                                  ( " Freestanding " ,  0x55 ,   ( 2 , 0 , 1 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Boulder Maze Blue Rupee 2 " ,                                  ( " Freestanding " ,  0x55 ,   ( 2 , 0 , 2 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF End of Bridge Blue Rupee " ,                                   ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Top of Sarias Recovery Heart 1 " ,                             ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 20 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Top of Sarias Recovery Heart 2 " ,                             ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 21 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Top of Sarias Recovery Heart 3 " ,                             ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 22 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 1 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x40 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x40 ) ] ,  ( [ 0x020816A0 ,  0x2081910 ] ,  None ) ,  ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 2 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x41 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x41 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 3 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x42 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x42 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 4 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x43 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x43 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 5 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x44 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x44 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Green Rupee 6 " ,                                ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x45 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x45 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Bean Platform Red Rupee " ,                                    ( " RupeeTower " ,    0x55 ,   [ ( 0 , 2 , 0x46 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 3 , 0x46 ) ] ,  None ,                       ' Rupees (20) ' ,                            ( " Kokiri Forest " ,  " Forest " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Grass Near Ramp Green Rupee 1 " ,                              ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Grass Near Ramp Green Rupee 2 " ,                              ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Grass Near Midos Green Rupee 1 " ,                             ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Grass Near Midos Green Rupee 2 " ,                             ( " Freestanding " ,  0x55 ,   ( 0 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Sarias House Recovery Heart 1 " ,                              ( " Freestanding " ,  0x29 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Sarias House Recovery Heart 2 " ,                              ( " Freestanding " ,  0x29 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Sarias House Recovery Heart 3 " ,                              ( " Freestanding " ,  0x29 ,   ( 0 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Sarias House Recovery Heart 4 " ,                              ( " Freestanding " ,  0x29 ,   ( 0 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Shop Blue Rupee " ,                                            ( " ActorOverride " , 0x2D ,   0x01 ,  ( [ 0x02587098 ] ,  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        0x00 ,  0x15 ,  0x00 ,  0x92 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x00 ,  0x01 ,  0x06             ] ) ,                ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kokiri Forest Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Links House Pot " ,                                            ( " Pot " ,           0x34 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Kokiri Forest " ,  " Forest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Know it All House Pot 1 " ,                                    ( " Pot " ,           0x26 ,   ( 0 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Know it All House Pot 2 " ,                                    ( " Pot " ,           0x26 ,   ( 0 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF House of Twins Pot 1 " ,                                       ( " Pot " ,           0x27 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Kokiri Forest " ,  " Forest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF House of Twins Pot 2 " ,                                       ( " Pot " ,           0x27 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kokiri Forest Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Storms Grotto Beehive 1 " ,                                    ( " Beehive " ,       0x3E ,   ( 0 , 0 ,  0x48  +  ( 0x0C  *  2 ) ) ,  None ,         ' Rupees (5) ' ,                             ( " Kokiri Forest " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Storms Grotto Beehive 2 " ,                                    ( " Beehive " ,       0x3E ,   ( 0 , 0 ,  0x49  +  ( 0x0C  *  2 ) ) ,  None ,         ' Rupees (20) ' ,                            ( " Kokiri Forest " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lost Woods 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " LW Gift from Saria " ,                                            ( " Cutscene " ,      0xFF ,   0x02 ,  None ,                             ' Ocarina ' ,                                ( " the Lost Woods " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Ocarina Memory Game " ,                                        ( " NPC " ,           0x5B ,   0x76 ,  None ,                             ' Piece of Heart ' ,                         ( " the Lost Woods " ,  " Forest " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Target in Woods " ,                                            ( " NPC " ,           0x5B ,   0x60 ,  None ,                             ' Slingshot ' ,                              ( " the Lost Woods " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Near Shortcuts Grotto Chest " ,                                ( " Chest " ,         0x3E ,   0x14 ,  None ,                             ' Rupees (5) ' ,                             ( " the Lost Woods " ,  " Forest " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Theater Skull Mask " ,                                       ( " NPC " ,           0x3E ,   0x77 ,  None ,                             ' Deku Stick Capacity ' ,                    ( " the Lost Woods " ,  " Forest " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Theater Mask of Truth " ,                                    ( " NPC " ,           0x3E ,   0x7A ,  None ,                             ' Deku Nut Capacity ' ,                      ( " the Lost Woods " ,  " Forest " ,  " Need Spiritual Stones " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Skull Kid " ,                                                  ( " NPC " ,           0x5B ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " the Lost Woods " ,  " Forest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Deku Scrub Near Bridge " ,                                     ( " Scrub " ,         0x5B ,   0x77 ,  None ,                             ' Deku Stick Capacity ' ,                    ( " the Lost Woods " ,  " Forest " ,  " Deku Scrub " ,  " Deku Scrub Upgrades " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Deku Scrub Near Deku Theater Left " ,                          ( " Scrub " ,         0x5B ,   0x31 ,  None ,                             ' Buy Deku Stick (1) ' ,                     ( " the Lost Woods " ,  " Forest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Deku Scrub Near Deku Theater Right " ,                         ( " Scrub " ,         0x5B ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " the Lost Woods " ,  " Forest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Deku Scrub Grotto Front " ,                                    ( " GrottoScrub " ,   0xF5 ,   0x79 ,  None ,                             ' Deku Nut Capacity ' ,                      ( " the Lost Woods " ,  " Forest " ,  " Deku Scrub " ,  " Deku Scrub Upgrades " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Deku Scrub Grotto Rear " ,                                     ( " GrottoScrub " ,   0xF5 ,   0x33 ,  None ,                             ' Buy Deku Seeds (30) ' ,                    ( " the Lost Woods " ,  " Forest " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW GS Bean Patch Near Bridge " ,                                  ( " GS Token " ,      0x0D ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Lost Woods " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW GS Bean Patch Near Theater " ,                                 ( " GS Token " ,      0x0D ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Lost Woods " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW GS Above Theater " ,                                           ( " GS Token " ,      0x0D ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Lost Woods " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lost Woods Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Under Boulder Blue Rupee " ,                                   ( " Freestanding " ,  0x5B ,   [ ( 7 , 0 , 5 ) ,  ( 7 , 2 , 2 ) ] ,  None ,               ' Rupees (5) ' ,                             ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 1 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 2 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Shortcut Green Rupee " ,                            ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 3 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 4 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 5 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 6 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Underwater Green Rupee 7 " ,                                   ( " Freestanding " ,  0x5B ,   ( 3 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Lost Woods " ,  " Forest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lost Woods Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Near Shortcuts Grotto Beehive 1 " ,                            ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x14  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " the Lost Woods " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Near Shortcuts Grotto Beehive 2 " ,                            ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x14  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " the Lost Woods " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Scrubs Grotto Beehive " ,                                      ( " Beehive " ,       0x3E ,  ( 6 , 0 , 0x44  +  ( 0x15  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " the Lost Woods " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Sacred Forest Meadow 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " SFM Wolfos Grotto Chest " ,                                       ( " Chest " ,         0x3E ,   0x11 ,  None ,                             ' Rupees (50) ' ,                            ( " Sacred Forest Meadow " ,  " Forest " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Deku Scrub Grotto Front " ,                                   ( " GrottoScrub " ,   0xEE ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Sacred Forest Meadow " ,  " Forest " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Deku Scrub Grotto Rear " ,                                    ( " GrottoScrub " ,   0xEE ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Sacred Forest Meadow " ,  " Forest " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM GS " ,                                                        ( " GS Token " ,      0x0D ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Sacred Forest Meadow " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Sacred Forest Meadow Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Storms Grotto Beehive " ,                                     ( " Beehive " ,       0x3E ,  ( 9 , 0 , 0x43  +  ( 0x0E  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Sacred Forest Meadow " ,  " Forest " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Hyrule Field 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " HF Ocarina of Time Item " ,                                       ( " NPC " ,           0x51 ,   0x0C ,  None ,                             ' Ocarina ' ,                                ( " Hyrule Field " ,  " Need Spiritual Stones " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Near Market Grotto Chest " ,                                   ( " Chest " ,         0x3E ,   0x00 ,  None ,                             ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Tektite Grotto Freestanding PoH " ,                            ( " Collectable " ,   0x3E ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Hyrule Field " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Southeast Grotto Chest " ,                                     ( " Chest " ,         0x3E ,   0x02 ,  None ,                             ' Rupees (20) ' ,                            ( " Hyrule Field " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Open Grotto Chest " ,                                          ( " Chest " ,         0x3E ,   0x03 ,  None ,                             ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Deku Scrub Grotto " ,                                          ( " GrottoScrub " ,   0xE6 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Hyrule Field " ,  " Deku Scrub " ,  " Deku Scrub Upgrades " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Cow Grotto Cow " ,                                             ( " NPC " ,           0x3E ,   0x16 ,  None ,                             ' Milk ' ,                                   ( " Hyrule Field " ,  " Cow " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF GS Cow Grotto " ,                                              ( " GS Token " ,      0x0A ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Hyrule Field " ,  " Skulltulas " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF GS Near Kak Grotto " ,                                         ( " GS Token " ,      0x0A ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Hyrule Field " ,  " Skulltulas " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Hyrule Field Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Cow Grotto Pot 1 " ,                                           ( " Pot " ,           0x3E ,   ( 4 , 0 , 6 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " Hyrule Field " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Cow Grotto Pot 2 " ,                                           ( " Pot " ,           0x3E ,   ( 4 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Hyrule Field Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Near Market Grotto Beehive 1 " ,                               ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x00  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Near Market Grotto Beehive 2 " ,                               ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x00  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Open Grotto Beehive 1 " ,                                      ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x03  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Open Grotto Beehive 2 " ,                                      ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x03  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Southeast Grotto Beehive 1 " ,                                 ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x02  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Southeast Grotto Beehive 2 " ,                                 ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x02  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Inside Fence Grotto Beehive " ,                                ( " Beehive " ,       0x3E ,  ( 1 , 0 , 0x42  +  ( 0x06  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Hyrule Field " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Market 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Market Shooting Gallery Reward " ,                                ( " NPC " ,           0x42 ,   0x60 ,  None ,                             ' Slingshot ' ,                              ( " the Market " ,  " Market " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Bowling First Prize " ,                            ( " NPC " ,           0x4B ,   0x34 ,  None ,                             ' Bomb Bag ' ,                               ( " the Market " ,  " Market " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Bowling Second Prize " ,                           ( " NPC " ,           0x4B ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " the Market " ,  " Market " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Bowling Bombchus " ,                               ( " Event " ,         0x4B ,   None ,  None ,                             ' Bombchu Drop ' ,                           ( " the Market " ,  " Market " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Lost Dog " ,                                               ( " NPC " ,           0x35 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " the Market " ,  " Market " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Treasure Chest Game Reward " ,                             ( " Chest " ,         0x10 ,   0x0A ,  None ,                             ' Piece of Heart (Treasure Chest Game) ' ,   ( " the Market " ,  " Market " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market 10 Big Poes " ,                                            ( " NPC " ,           0x4D ,   0x0F ,  None ,                             ' Bottle ' ,                                 ( " the Market " ,  " Hyrule Castle " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market GS Guard House " ,                                         ( " GS Token " ,      0x0E ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Market " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 1 " ,                                          ( " Shop " ,          0x2C ,   0x30 ,  ( shop_address ( 4 ,  0 ) ,  None ) ,       ' Buy Hylian Shield ' ,                      ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 2 " ,                                          ( " Shop " ,          0x2C ,   0x31 ,  ( shop_address ( 4 ,  1 ) ,  None ) ,       ' Buy Bombs (5) for 35 Rupees ' ,            ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 3 " ,                                          ( " Shop " ,          0x2C ,   0x32 ,  ( shop_address ( 4 ,  2 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 4 " ,                                          ( " Shop " ,          0x2C ,   0x33 ,  ( shop_address ( 4 ,  3 ) ,  None ) ,       ' Buy Heart ' ,                              ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 5 " ,                                          ( " Shop " ,          0x2C ,   0x34 ,  ( shop_address ( 4 ,  4 ) ,  None ) ,       ' Buy Arrows (10) ' ,                        ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 6 " ,                                          ( " Shop " ,          0x2C ,   0x35 ,  ( shop_address ( 4 ,  5 ) ,  None ) ,       ' Buy Arrows (50) ' ,                        ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 7 " ,                                          ( " Shop " ,          0x2C ,   0x36 ,  ( shop_address ( 4 ,  6 ) ,  None ) ,       ' Buy Deku Stick (1) ' ,                     ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bazaar Item 8 " ,                                          ( " Shop " ,          0x2C ,   0x37 ,  ( shop_address ( 4 ,  7 ) ,  None ) ,       ' Buy Arrows (30) ' ,                        ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 1 " ,                                     ( " Shop " ,          0x31 ,   0x30 ,  ( shop_address ( 3 ,  0 ) ,  None ) ,       ' Buy Green Potion ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 2 " ,                                     ( " Shop " ,          0x31 ,   0x31 ,  ( shop_address ( 3 ,  1 ) ,  None ) ,       ' Buy Blue Fire ' ,                          ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 3 " ,                                     ( " Shop " ,          0x31 ,   0x32 ,  ( shop_address ( 3 ,  2 ) ,  None ) ,       ' Buy Red Potion for 30 Rupees ' ,           ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 4 " ,                                     ( " Shop " ,          0x31 ,   0x33 ,  ( shop_address ( 3 ,  3 ) ,  None ) ,       ' Buy Fairy \' s Spirit ' ,                    ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 5 " ,                                     ( " Shop " ,          0x31 ,   0x34 ,  ( shop_address ( 3 ,  4 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 6 " ,                                     ( " Shop " ,          0x31 ,   0x35 ,  ( shop_address ( 3 ,  5 ) ,  None ) ,       ' Buy Bottle Bug ' ,                         ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 7 " ,                                     ( " Shop " ,          0x31 ,   0x36 ,  ( shop_address ( 3 ,  6 ) ,  None ) ,       ' Buy Poe ' ,                                ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Potion Shop Item 8 " ,                                     ( " Shop " ,          0x31 ,   0x37 ,  ( shop_address ( 3 ,  7 ) ,  None ) ,       ' Buy Fish ' ,                               ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 1 " ,                                    ( " Shop " ,          0x32 ,   0x30 ,  ( shop_address ( 2 ,  0 ) ,  None ) ,       ' Buy Bombchu (5) ' ,                        ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 2 " ,                                    ( " Shop " ,          0x32 ,   0x31 ,  ( shop_address ( 2 ,  1 ) ,  None ) ,       ' Buy Bombchu (10) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 3 " ,                                    ( " Shop " ,          0x32 ,   0x32 ,  ( shop_address ( 2 ,  2 ) ,  None ) ,       ' Buy Bombchu (10) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 4 " ,                                    ( " Shop " ,          0x32 ,   0x33 ,  ( shop_address ( 2 ,  3 ) ,  None ) ,       ' Buy Bombchu (10) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 5 " ,                                    ( " Shop " ,          0x32 ,   0x34 ,  ( shop_address ( 2 ,  4 ) ,  None ) ,       ' Buy Bombchu (20) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 6 " ,                                    ( " Shop " ,          0x32 ,   0x35 ,  ( shop_address ( 2 ,  5 ) ,  None ) ,       ' Buy Bombchu (20) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 7 " ,                                    ( " Shop " ,          0x32 ,   0x36 ,  ( shop_address ( 2 ,  6 ) ,  None ) ,       ' Buy Bombchu (20) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Bombchu Shop Item 8 " ,                                    ( " Shop " ,          0x32 ,   0x37 ,  ( shop_address ( 2 ,  7 ) ,  None ) ,       ' Buy Bombchu (20) ' ,                       ( " the Market " ,  " Market " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Light Arrows Cutscene " ,                                     ( " Cutscene " ,      0xFF ,   0x01 ,  None ,                             ' Light Arrows ' ,                           ( " Temple of Time " ,  " Market " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Market Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Night Red Rupee Crate " ,                                  ( " Crate " ,         0x21 ,   ( 0 , 0 , 23 ) ,  None ,                         ' Rupees (20) ' ,                            ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Night Green Rupee Crate 1 " ,                              ( " Crate " ,         0x21 ,   ( 0 , 0 , 24 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Night Green Rupee Crate 2 " ,                              ( " Crate " ,         0x21 ,   ( 0 , 0 , 25 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Night Green Rupee Crate 3 " ,                              ( " Crate " ,         0x21 ,   ( 0 , 0 , 26 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-22 10:38:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Market Dog Lady House Crate " ,                                   ( " Crate " ,         0x35 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Market Guard House Child Crate " ,                                ( " Crate " ,         0x4D ,   ( 0 , 0 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 1 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 2 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 3 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 4 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 5 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 6 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 7 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 8 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 16 ) ,  None ,                         ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 9 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 0 , 17 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 10 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 18 ) ,  None ,                         ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 11 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 19 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 12 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 20 ) ,  None ,                         ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 13 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 21 ) ,  None ,                         ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 14 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 22 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 15 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 23 ) ,  None ,                         ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 16 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 24 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 17 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 25 ) ,  None ,                         ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 18 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 26 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 19 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 27 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 20 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 28 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 21 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 29 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 22 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 30 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 23 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 31 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 24 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 32 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 25 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 33 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 26 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 34 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 27 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 35 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 28 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 36 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 29 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 37 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 30 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 38 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 31 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 39 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 32 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 40 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 33 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 41 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 34 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 42 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 35 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 43 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 36 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 44 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 37 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 45 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 38 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 46 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 39 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 47 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 40 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 48 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 41 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 49 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 42 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 50 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 43 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 51 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Child Pot 44 " ,                               ( " Pot " ,           0x4D ,   ( 0 , 0 , 52 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 1 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 2 ) ,   None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 2 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 4 ) ,   None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 3 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 5 ) ,   None ,                         ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 4 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 7 ) ,   None ,                         ' Rupees (20) ' ,                            ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 5 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 8 ) ,   None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 6 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Guard House Adult Pot 7 " ,                                ( " Pot " ,           0x4D ,   ( 0 , 2 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Man in Green House Pot 1 " ,                               ( " Pot " ,           0x2B ,   ( 0 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Man in Green House Pot 2 " ,                               ( " Pot " ,           0x2B ,   ( 0 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Market Man in Green House Pot 3 " ,                               ( " Pot " ,           0x2B ,   ( 0 , 0 , 5 ) ,  None ,                          ' Rupees (5) ' ,                             ( " the Market " ,  " Market " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Hyrule Castle 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " HC Malon Egg " ,                                                  ( " NPC " ,           0x5F ,   0x47 ,  None ,                             ' Weird Egg ' ,                              ( " Hyrule Castle " ,  " Market " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Zeldas Letter " ,                                              ( " NPC " ,           0x4A ,   0x0B ,  None ,                             ' Zeldas Letter ' ,                          ( " Hyrule Castle " ,  " Market " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Great Fairy Reward " ,                                         ( " Cutscene " ,      0xFF ,   0x11 ,  None ,                             ' Dins Fire ' ,                              ( " Hyrule Castle " ,  " Market " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC GS Tree " ,                                                    ( " GS Token " ,      0x0E ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Hyrule Castle " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC GS Storms Grotto " ,                                           ( " GS Token " ,      0x0E ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Hyrule Castle " ,  " Skulltulas " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Storms Grotto Pot 1 " ,                                        ( " Pot " ,           0x3E ,   ( 8 , 0 , 7 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Hyrule Castle " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Storms Grotto Pot 2 " ,                                        ( " Pot " ,           0x3E ,   ( 8 , 0 , 8 ) ,  None ,                          ' Bombs (5) ' ,                              ( " Hyrule Castle " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Storms Grotto Pot 3 " ,                                        ( " Pot " ,           0x3E ,   ( 8 , 0 , 10 ) ,  None ,                         ' Arrows (5) ' ,                             ( " Hyrule Castle " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Storms Grotto Pot 4 " ,                                        ( " Pot " ,           0x3E ,   ( 8 , 0 , 12 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Hyrule Castle " ,  " Grottos " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lon Lon Ranch 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " LLR Talons Chickens " ,                                           ( " NPC " ,           0x4C ,   0x14 ,  None ,                             ' Bottle with Milk ' ,                       ( " Lon Lon Ranch " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Freestanding PoH " ,                                          ( " Collectable " ,   0x4C ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Lon Lon Ranch " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Deku Scrub Grotto Left " ,                                    ( " GrottoScrub " ,   0xFC ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Lon Lon Ranch " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Deku Scrub Grotto Center " ,                                  ( " GrottoScrub " ,   0xFC ,   0x33 ,  None ,                             ' Buy Deku Seeds (30) ' ,                    ( " Lon Lon Ranch " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Deku Scrub Grotto Right " ,                                   ( " GrottoScrub " ,   0xFC ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Lon Lon Ranch " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Stables Left Cow " ,                                          ( " NPC " ,           0x36 ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Lon Lon Ranch " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Stables Right Cow " ,                                         ( " NPC " ,           0x36 ,   0x16 ,  None ,                             ' Milk ' ,                                   ( " Lon Lon Ranch " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Tower Left Cow " ,                                            ( " NPC " ,           0x4C ,   0x16 ,  None ,                             ' Milk ' ,                                   ( " Lon Lon Ranch " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Tower Right Cow " ,                                           ( " NPC " ,           0x4C ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Lon Lon Ranch " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR GS House Window " ,                                           ( " GS Token " ,      0x0B ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lon Lon Ranch " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR GS Tree " ,                                                   ( " GS Token " ,      0x0B ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lon Lon Ranch " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR GS Rain Shed " ,                                              ( " GS Token " ,      0x0B ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lon Lon Ranch " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR GS Back Wall " ,                                              ( " GS Token " ,      0x0B ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lon Lon Ranch " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lon Lon Ranch Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Front Pot 1 " ,                                               ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 5 ) ] ,  None ,                        ' Recovery Heart ' ,                         ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Front Pot 2 " ,                                               ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 4 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 3 ) ] ,  None ,                        ' Recovery Heart ' ,                         ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Front Pot 3 " ,                                               ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 7 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 6 ) ] ,  None ,                        ' Rupee (1) ' ,                              ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Front Pot 4 " ,                                               ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 5 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 4 ) ] ,  None ,                        ' Rupee (1) ' ,                              ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Rain Shed Pot 1 " ,                                           ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 8 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 7 ) ] ,  None ,                        ' Recovery Heart ' ,                         ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Rain Shed Pot 2 " ,                                           ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 9 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 8 ) ] ,  None ,                        ' Recovery Heart ' ,                         ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Rain Shed Pot 3 " ,                                           ( " Pot " ,           0x63 ,   [ ( 0 , 0 , 10 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 9 ) ] ,  None ,                        ' Recovery Heart ' ,                         ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Talons House Pot 1 " ,                                        ( " Pot " ,           0x4C ,   ( 2 , 0 , 1 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Talons House Pot 2 " ,                                        ( " Pot " ,           0x4C ,   ( 2 , 0 , 2 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Talons House Pot 3 " ,                                        ( " Pot " ,           0x4C ,   ( 2 , 0 , 3 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Lon Lon Ranch " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Child Crate " ,                                               ( " Crate " ,         0x63 ,   [ ( 0 , 0 , 25 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                                                                              ( 0 , 1 , 30 ) ] ,  None ,                       ' Rupee (1) ' ,                              ( " Lon Lon Ranch " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lon Lon Ranch Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LLR Grotto Beehive " ,                                            ( " Beehive " ,       0x3E ,   ( 12 , 0 , 0x44  +  ( 0x1C  *  2 ) ) ,  None ,         ' Rupees (20) ' ,                            ( " Lon Lon Ranch " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kakariko 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Kak Anju as Child " ,                                             ( " NPC " ,           0x52 ,   0x0F ,  None ,                             ' Bottle ' ,                                 ( " Kakariko Village " ,  " Kakariko " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Anju as Adult " ,                                             ( " NPC " ,           0x52 ,   0x1D ,  None ,                             ' Pocket Egg ' ,                             ( " Kakariko Village " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Impas House Freestanding PoH " ,                              ( " Collectable " ,   0x37 ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Windmill Freestanding PoH " ,                                 ( " Collectable " ,   0x48 ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Man on Roof " ,                                               ( " NPC " ,           0x52 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Open Grotto Chest " ,                                         ( " Chest " ,         0x3E ,   0x08 ,  None ,                             ' Rupees (20) ' ,                            ( " Kakariko Village " ,  " Kakariko " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Redead Grotto Chest " ,                                       ( " Chest " ,         0x3E ,   0x0A ,  None ,                             ' Rupees (200) ' ,                           ( " Kakariko Village " ,  " Kakariko " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Shooting Gallery Reward " ,                                   ( " NPC " ,           0x42 ,   0x30 ,  None ,                             ' Bow ' ,                                    ( " Kakariko Village " ,  " Kakariko " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak 10 Gold Skulltula Reward " ,                                  ( " NPC " ,           0x50 ,   0x45 ,  None ,                             ' Progressive Wallet ' ,                     ( " Kakariko Village " ,  " Kakariko " ,  " Skulltula House " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak 20 Gold Skulltula Reward " ,                                  ( " NPC " ,           0x50 ,   0x39 ,  None ,                             ' Stone of Agony ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Skulltula House " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak 30 Gold Skulltula Reward " ,                                  ( " NPC " ,           0x50 ,   0x46 ,  None ,                             ' Progressive Wallet ' ,                     ( " Kakariko Village " ,  " Kakariko " ,  " Skulltula House " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak 40 Gold Skulltula Reward " ,                                  ( " NPC " ,           0x50 ,   0x03 ,  None ,                             ' Bombchus (10) ' ,                          ( " Kakariko Village " ,  " Kakariko " ,  " Skulltula House " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak 50 Gold Skulltula Reward " ,                                  ( " NPC " ,           0x50 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Skulltula House " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Impas House Cow " ,                                           ( " NPC " ,           0x37 ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Kakariko Village " ,  " Kakariko " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS Tree " ,                                                   ( " GS Token " ,      0x10 ,   0x20 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS Near Gate Guard " ,                                        ( " GS Token " ,      0x10 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS Watchtower " ,                                             ( " GS Token " ,      0x10 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS Skulltula House " ,                                        ( " GS Token " ,      0x10 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS House Under Construction " ,                               ( " GS Token " ,      0x10 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak GS Above Impas House " ,                                      ( " GS Token " ,      0x10 ,   0x40 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Kakariko Village " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 1 " ,                                             ( " Shop " ,          0x2C ,   0x38 ,  ( shop_address ( 5 ,  0 ) ,  None ) ,       ' Buy Hylian Shield ' ,                      ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 2 " ,                                             ( " Shop " ,          0x2C ,   0x39 ,  ( shop_address ( 5 ,  1 ) ,  None ) ,       ' Buy Bombs (5) for 35 Rupees ' ,            ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 3 " ,                                             ( " Shop " ,          0x2C ,   0x3A ,  ( shop_address ( 5 ,  2 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 4 " ,                                             ( " Shop " ,          0x2C ,   0x3B ,  ( shop_address ( 5 ,  3 ) ,  None ) ,       ' Buy Heart ' ,                              ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 5 " ,                                             ( " Shop " ,          0x2C ,   0x3D ,  ( shop_address ( 5 ,  4 ) ,  None ) ,       ' Buy Arrows (10) ' ,                        ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 6 " ,                                             ( " Shop " ,          0x2C ,   0x3E ,  ( shop_address ( 5 ,  5 ) ,  None ) ,       ' Buy Arrows (50) ' ,                        ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 7 " ,                                             ( " Shop " ,          0x2C ,   0x3F ,  ( shop_address ( 5 ,  6 ) ,  None ) ,       ' Buy Deku Stick (1) ' ,                     ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Bazaar Item 8 " ,                                             ( " Shop " ,          0x2C ,   0x40 ,  ( shop_address ( 5 ,  7 ) ,  None ) ,       ' Buy Arrows (30) ' ,                        ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 1 " ,                                        ( " Shop " ,          0x30 ,   0x30 ,  ( shop_address ( 1 ,  0 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 2 " ,                                        ( " Shop " ,          0x30 ,   0x31 ,  ( shop_address ( 1 ,  1 ) ,  None ) ,       ' Buy Fish ' ,                               ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 3 " ,                                        ( " Shop " ,          0x30 ,   0x32 ,  ( shop_address ( 1 ,  2 ) ,  None ) ,       ' Buy Red Potion for 30 Rupees ' ,           ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 4 " ,                                        ( " Shop " ,          0x30 ,   0x33 ,  ( shop_address ( 1 ,  3 ) ,  None ) ,       ' Buy Green Potion ' ,                       ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 5 " ,                                        ( " Shop " ,          0x30 ,   0x34 ,  ( shop_address ( 1 ,  4 ) ,  None ) ,       ' Buy Blue Fire ' ,                          ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 6 " ,                                        ( " Shop " ,          0x30 ,   0x35 ,  ( shop_address ( 1 ,  5 ) ,  None ) ,       ' Buy Bottle Bug ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 7 " ,                                        ( " Shop " ,          0x30 ,   0x36 ,  ( shop_address ( 1 ,  6 ) ,  None ) ,       ' Buy Poe ' ,                                ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Potion Shop Item 8 " ,                                        ( " Shop " ,          0x30 ,   0x37 ,  ( shop_address ( 1 ,  7 ) ,  None ) ,       ' Buy Fairy \' s Spirit ' ,                    ( " Kakariko Village " ,  " Kakariko " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kak Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Potion Shop Pot 1 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 9 ) , ( 0 , 1 , 8 ) ] ,    None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Potion Shop Pot 2 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 10 ) , ( 0 , 1 , 9 ) ] ,   None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Potion Shop Pot 3 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 11 ) , ( 0 , 1 , 10 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Impas House Pot 1 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 12 ) , ( 0 , 1 , 11 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Impas House Pot 2 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 13 ) , ( 0 , 1 , 12 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Impas House Pot 3 " ,                                    ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 14 ) , ( 0 , 1 , 13 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Guards House Pot 1 " ,                                   ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 15 ) , ( 0 , 1 , 14 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Guards House Pot 2 " ,                                   ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 16 ) , ( 0 , 1 , 15 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Guards House Pot 3 " ,                                   ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 17 ) , ( 0 , 1 , 16 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Odd Medicine Building Pot 1 " ,                          ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 18 ) , ( 0 , 1 , 17 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Near Odd Medicine Building Pot 2 " ,                          ( " Pot " ,           0x52 ,   [ ( 0 , 0 , 19 ) , ( 0 , 1 , 18 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Kakariko Village " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Adult Red Rupee Crate " ,                                     ( " Crate " ,         0x52 ,   [ ( 0 , 2 , 46 ) , ( 0 , 3 , 43 ) ] ,  None ,              ' Rupees (20) ' ,                            ( " Kakariko Village " ,  " Kakariko " ,  " Crate " ) ) ) ,  # update crate flags to not conflict w/ child pots. These move day/night 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Adult Arrows Crate " ,                                        ( " Crate " ,         0x52 ,   [ ( 0 , 2 , 37 ) , ( 0 , 3 , 40 ) ] ,  None ,              ' Arrows (10) ' ,                            ( " Kakariko Village " ,  " Kakariko " ,  " Crate " ) ) ) ,  # update crate flags to not conflict w/ child pots. These move day/night 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Kak Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Open Grotto Beehive 1 " ,                                     ( " Beehive " ,       0x3E ,   ( 0 , 0 , 0x48  +  ( 0x08  *  2 ) ) ,  None ,          ' Rupees (5) ' ,                             ( " Kakariko Village " ,  " Kakariko " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Open Grotto Beehive 2 " ,                                     ( " Beehive " ,       0x3E ,   ( 0 , 0 , 0x49  +  ( 0x08  *  2 ) ) ,  None ,          ' Rupees (20) ' ,                            ( " Kakariko Village " ,  " Kakariko " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Graveyard 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Graveyard Shield Grave Chest " ,                                  ( " Chest " ,         0x40 ,   0x00 ,  None ,                             ' Hylian Shield ' ,                          ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Heart Piece Grave Chest " ,                             ( " Chest " ,         0x3F ,   0x00 ,  None ,                             ' Piece of Heart ' ,                         ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Royal Familys Tomb Chest " ,                            ( " Chest " ,         0x41 ,   0x00 ,  None ,                             ' Bombs (5) ' ,                              ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Freestanding PoH " ,                                    ( " Collectable " ,   0x53 ,   0x04 ,  None ,                             ' Piece of Heart ' ,                         ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Gravedigging Tour " ,                             ( " Collectable " ,   0x53 ,   0x08 ,  None ,                             ' Piece of Heart ' ,                         ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Hookshot Chest " ,                           ( " Chest " ,         0x48 ,   0x00 ,  None ,                             ' Progressive Hookshot ' ,                   ( " the Graveyard " ,  " Kakariko " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Freestanding PoH " ,                         ( " Collectable " ,   0x48 ,   0x07 ,  None ,                             ' Piece of Heart ' ,                         ( " the Graveyard " ,  " Kakariko " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard GS Bean Patch " ,                                       ( " GS Token " ,      0x10 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Graveyard " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard GS Wall " ,                                             ( " GS Token " ,      0x10 ,   0x80 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " the Graveyard " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Graveyard Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 1 " ,                                  ( " Freestanding " ,  0x48 ,   ( 1 , 0 , 1 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 2 " ,                                  ( " Freestanding " ,  0x48 ,   ( 1 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 3 " ,                                  ( " Freestanding " ,  0x48 ,   ( 1 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 4 " ,                                  ( " Freestanding " ,  0x48 ,   ( 2 , 0 , 1 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 5 " ,                                  ( " Freestanding " ,  0x48 ,   ( 2 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 6 " ,                                  ( " Freestanding " ,  0x48 ,   ( 2 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 7 " ,                                  ( " Freestanding " ,  0x48 ,   ( 3 , 0 , 1 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Race Rupee 8 " ,                                  ( " Freestanding " ,  0x48 ,   ( 3 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Graveyard Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 1 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 1 ) ,  None ,                          ' Recovery Heart ' ,                         ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 2 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 2 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 3 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Bombs (5) ' ,                              ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 4 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Arrows (10) ' ,                            ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 5 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 5 ) ,  None ,                          ' Rupees (20) ' ,                            ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Dampe Pot 6 " ,                                         ( " Pot " ,           0x48 ,   ( 0 , 0 , 6 ) ,  None ,                          ' Rupees (20) ' ,                            ( " the Graveyard " ,  " Kakariko " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Trail 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " DMT Freestanding PoH " ,                                          ( " Collectable " ,   0x60 ,   0x1E ,  None ,                             ' Piece of Heart ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Chest " ,                                                     ( " Chest " ,         0x60 ,   0x01 ,  None ,                             ' Rupees (50) ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Storms Grotto Chest " ,                                       ( " Chest " ,         0x3E ,   0x17 ,  None ,                             ' Rupees (200) ' ,                           ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Great Fairy Reward " ,                                        ( " Cutscene " ,      0xFF ,   0x13 ,  None ,                             ' Magic Meter ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Biggoron " ,                                                  ( " NPC " ,           0x60 ,   0x57 ,  None ,                             ' Biggoron Sword ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Cow " ,                                            ( " NPC " ,           0x3E ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Death Mountain Trail " ,  " Death Mountain " ,  " Cow " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT GS Near Kak " ,                                               ( " GS Token " ,      0x0F ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Trail " ,  " Skulltulas " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT GS Bean Patch " ,                                             ( " GS Token " ,      0x0F ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Trail " ,  " Skulltulas " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT GS Above Dodongos Cavern " ,                                  ( " GS Token " ,      0x0F ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Trail " ,  " Skulltulas " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT GS Falling Rocks Path " ,                                     ( " GS Token " ,      0x0F ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Trail " ,  " Skulltulas " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Trail Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Rock Red Rupee " ,                                            ( " Freestanding " ,  0x60 ,   ( 0 , 0 , 2 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Rock Blue Rupee " ,                                           ( " Freestanding " ,  0x60 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Trail " ,  " Death Mountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 1 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x40 ) ,  ( [ 0x026D2098 ] ,  None ) ,       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 2 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x41 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 3 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x42 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 4 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x43 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 5 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x44 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Green Rupee 6 " ,                                  ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x45 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Red Rupee " ,                                      ( " RupeeTower " ,    0x3E ,   ( 3 , 0 , 0x46 ) ,  None ,                       ' Rupees (20) ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Recovery Heart 1 " ,                               ( " Freestanding " ,  0x3E ,   ( 3 , 0 , 7 ) ,     None ,                       ' Recovery Heart ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Recovery Heart 2 " ,                               ( " Freestanding " ,  0x3E ,   ( 3 , 0 , 8 ) ,     None ,                       ' Recovery Heart ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Recovery Heart 3 " ,                               ( " Freestanding " ,  0x3E ,   ( 3 , 0 , 9 ) ,     None ,                       ' Recovery Heart ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Recovery Heart 4 " ,                               ( " Freestanding " ,  0x3E ,   ( 3 , 0 , 10 ) ,    None ,                       ' Recovery Heart ' ,                         ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Trial Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Cow Grotto Beehive " ,                                        ( " Beehive " ,       0x3E ,  ( 3 , 0 , 0x44  +  ( 0x18  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Storms Grotto Beehive 1 " ,                                   ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x17  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Storms Grotto Beehive 2 " ,                                   ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x17  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Death Mountain Trail " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Goron City 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " GC Darunias Joy " ,                                               ( " NPC " ,           0x62 ,   0x54 ,  None ,                             ' Progressive Strength Upgrade ' ,           ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Pot Freestanding PoH " ,                                       ( " Collectable " ,   0x62 ,   0x1F ,  None ,                             ' Piece of Heart ' ,                         ( " Goron City " ,  " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Rolling Goron as Child " ,                                     ( " NPC " ,           0x62 ,   0x34 ,  None ,                             ' Bomb Bag ' ,                               ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Rolling Goron as Adult " ,                                     ( " NPC " ,           0x62 ,   0x2C ,  None ,                             ' Goron Tunic ' ,                            ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Medigoron " ,                                                  ( " NPC " ,           0x62 ,   0x28 ,  None ,                             ' Giants Knife ' ,                           ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Maze Left Chest " ,                                            ( " Chest " ,         0x62 ,   0x00 ,  None ,                             ' Rupees (200) ' ,                           ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Maze Right Chest " ,                                           ( " Chest " ,         0x62 ,   0x01 ,  None ,                             ' Rupees (50) ' ,                            ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Maze Center Chest " ,                                          ( " Chest " ,         0x62 ,   0x02 ,  None ,                             ' Rupees (50) ' ,                            ( " Goron City " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Deku Scrub Grotto Left " ,                                     ( " GrottoScrub " ,   0xFB ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Goron City " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Deku Scrub Grotto Center " ,                                   ( " GrottoScrub " ,   0xFB ,   0x33 ,  None ,                             ' Buy Arrows (30) ' ,                        ( " Goron City " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Deku Scrub Grotto Right " ,                                    ( " GrottoScrub " ,   0xFB ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Goron City " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC GS Center Platform " ,                                         ( " GS Token " ,      0x0F ,   0x20 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Goron City " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC GS Boulder Maze " ,                                            ( " GS Token " ,      0x0F ,   0x40 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Goron City " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 1 " ,                                                ( " Shop " ,          0x2E ,   0x30 ,  ( shop_address ( 8 ,  0 ) ,  None ) ,       ' Buy Bombs (5) for 25 Rupees ' ,            ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 2 " ,                                                ( " Shop " ,          0x2E ,   0x31 ,  ( shop_address ( 8 ,  1 ) ,  None ) ,       ' Buy Bombs (10) ' ,                         ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 3 " ,                                                ( " Shop " ,          0x2E ,   0x32 ,  ( shop_address ( 8 ,  2 ) ,  None ) ,       ' Buy Bombs (20) ' ,                         ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 4 " ,                                                ( " Shop " ,          0x2E ,   0x33 ,  ( shop_address ( 8 ,  3 ) ,  None ) ,       ' Buy Bombs (30) ' ,                         ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 5 " ,                                                ( " Shop " ,          0x2E ,   0x34 ,  ( shop_address ( 8 ,  4 ) ,  None ) ,       ' Buy Goron Tunic ' ,                        ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 6 " ,                                                ( " Shop " ,          0x2E ,   0x35 ,  ( shop_address ( 8 ,  5 ) ,  None ) ,       ' Buy Heart ' ,                              ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 7 " ,                                                ( " Shop " ,          0x2E ,   0x36 ,  ( shop_address ( 8 ,  6 ) ,  None ) ,       ' Buy Red Potion for 40 Rupees ' ,           ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Shop Item 8 " ,                                                ( " Shop " ,          0x2E ,   0x37 ,  ( shop_address ( 8 ,  7 ) ,  None ) ,       ' Buy Heart ' ,                              ( " Goron City " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Bomb Drop 1 " ,                                   ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x41 ) ,  ( [ 0x22A82F4 ] ,  None ) ,        ' Bombs (5) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Bomb Drop 2 " ,                                   ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x42 ) ,  None ,                       ' Bombs (5) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Bomb Drop 3 " ,                                   ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x43 ) ,  None ,                       ' Bombs (5) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Rupee Drop 1 " ,                                  ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x44 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Rupee Drop 2 " ,                                  ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x45 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot Rupee Drop 3 " ,                                  ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x46 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot PoH Drop Rupee 1 " ,                              ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x47 ) ,  None ,                       ' Rupees (20) ' ,                            ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Spinning Pot PoH Drop Rupee 2 " ,                              ( " RupeeTower " ,    0x62 ,   ( 3 , 0 , 0x48 ) ,  None ,                       ' Rupees (5) ' ,                             ( " Goron City " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Goron City Pots.  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Darunia Pot 1 " ,                                              ( " Pot " ,           0x62 ,   [ ( 1 , 0 , 6 ) , ( 1 , 2 , 2 ) ] ,  None ,                ' Deku Stick (1) ' ,                         ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Darunia Pot 2 " ,                                              ( " Pot " ,           0x62 ,   [ ( 1 , 0 , 7 ) , ( 1 , 2 , 3 ) ] ,  None ,                ' Rupee (1) ' ,                              ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Darunia Pot 3 " ,                                              ( " Pot " ,           0x62 ,   [ ( 1 , 0 , 8 ) , ( 1 , 2 , 4 ) ] ,  None ,                ' Deku Stick (1) ' ,                         ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Medigoron Pot " ,                                              ( " Pot " ,           0x62 ,   [ ( 2 , 0 , 4 ) , ( 2 , 2 , 4 ) ] ,  None ,                ' Rupees (5) ' ,                             ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Lower Staircase Pot 1 " ,                                      ( " Pot " ,           0x62 ,   [ ( 3 , 0 , 42 ) , ( 3 , 2 , 9 ) ] ,  None ,               ' Deku Stick (1) ' ,                         ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Lower Staircase Pot 2 " ,                                      ( " Pot " ,           0x62 ,   [ ( 3 , 0 , 46 ) , ( 3 , 2 , 13 ) ] , None ,               ' Recovery Heart ' ,                         ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Upper Staircase Pot 1 " ,                                      ( " Pot " ,           0x62 ,   [ ( 3 , 0 , 43 ) , ( 3 , 2 , 10 ) ] , None ,               ' Rupees (5) ' ,                             ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Upper Staircase Pot 2 " ,                                      ( " Pot " ,           0x62 ,   [ ( 3 , 0 , 44 ) , ( 3 , 2 , 11 ) ] , None ,               ' Rupee (1) ' ,                              ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Upper Staircase Pot 3 " ,                                      ( " Pot " ,           0x62 ,   [ ( 3 , 0 , 45 ) , ( 3 , 2 , 12 ) ] , None ,               ' Rupees (5) ' ,                             ( " Goron City " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Boulder Maze Crate " ,                                         ( " Crate " ,         0x62 ,   [ ( 0 , 0 , 50 ) , ( 0 , 2 , 47 ) ] ,  None ,              ' Rupee (1) ' ,                              ( " Goron City " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Goron City Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Grotto Beehive " ,                                             ( " Beehive " ,       0x3E ,   ( 12 , 0 , 0x44  +  ( 0x1B  *  2 ) ) ,  None ,         ' Rupees (20) ' ,                            ( " Goron City " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Crater 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " DMC Volcano Freestanding PoH " ,                                  ( " Collectable " ,   0x61 ,   0x08 ,  None ,                             ' Piece of Heart ' ,                         ( " Death Mountain Crater " ,  " Death Mountain " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Wall Freestanding PoH " ,                                     ( " Collectable " ,   0x61 ,   0x02 ,  None ,                             ' Piece of Heart ' ,                         ( " Death Mountain Crater " ,  " Death Mountain " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Upper Grotto Chest " ,                                        ( " Chest " ,         0x3E ,   0x1A ,  None ,                             ' Bombs (20) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Great Fairy Reward " ,                                        ( " Cutscene " ,      0xFF ,   0x14 ,  None ,                             ' Magic Meter ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Deku Scrub " ,                                                ( " Scrub " ,         0x61 ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Deku Scrub Grotto Left " ,                                    ( " GrottoScrub " ,   0xF9 ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Death Mountain Crater " ,  " Death Mountain " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Deku Scrub Grotto Center " ,                                  ( " GrottoScrub " ,   0xF9 ,   0x33 ,  None ,                             ' Buy Arrows (30) ' ,                        ( " Death Mountain Crater " ,  " Death Mountain " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Deku Scrub Grotto Right " ,                                   ( " GrottoScrub " ,   0xF9 ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC GS Crate " ,                                                  ( " GS Token " ,      0x0F ,   0x80 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Crater " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC GS Bean Patch " ,                                             ( " GS Token " ,      0x0F ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Death Mountain Crater " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Crater Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 1 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x40 ) , ( [ 0x0225E63C ] ,  None  ) ,       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 2 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x41 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 3 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x42 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 4 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x43 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 5 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x44 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Green Rupee 6 " ,                                       ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x45 ) ,  None ,                       ' Rupee (1) ' ,                              ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Adult Red Rupee " ,                                           ( " RupeeTower " ,    0x61 ,   ( 1 , 2 , 0x46 ) ,  None ,                       ' Rupees (20) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " RupeeTower " ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Red Rupee 1 " ,                                         ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 2 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " , " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Red Rupee 2 " ,                                         ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 3 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 1 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 4 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 2 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 3 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 4 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 5 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Child Blue Rupee 6 " ,                                        ( " Freestanding " ,  0x61 ,   ( 1 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Freestanding " , ) ) ) ,     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death Mountain Crater Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Near GC Pot 1 " ,                                             ( " Pot " ,           0x61 ,   ( 1 , 2 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Death Mountain Crater " ,  " Death Mountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Near GC Pot 2 " ,                                             ( " Pot " ,           0x61 ,   ( 1 , 2 , 15 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Near GC Pot 3 " ,                                             ( " Pot " ,           0x61 ,   ( 1 , 2 , 16 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Near GC Pot 4 " ,                                             ( " Pot " ,           0x61 ,   ( 1 , 2 , 17 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Death mountain Crater Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Upper Grotto Beehive 1 " ,                                    ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x1A  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Death Mountain Crater " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Upper Grotto Beehive 2 " ,                                    ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x1A  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Hammer Grotto Beehive " ,                                     ( " Beehive " ,       0x3E ,  ( 12 , 0 , 0x44  +  ( 0x19  *  2 ) ) ,  None ,          ' Rupees (20) ' ,                            ( " Death Mountain Crater " ,  " Death Mountain " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's River 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " ZR Magic Bean Salesman " ,                                        ( " NPC " ,           0x54 ,   0x16 ,  None ,                             ' Buy Magic Bean ' ,                         ( " Zora ' s River " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Open Grotto Chest " ,                                          ( " Chest " ,         0x3E ,   0x09 ,  None ,                             ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Zeldas Lullaby " ,                                       ( " NPC " ,           0x54 ,   0x65 ,  None ,                             ' Rupees (50) ' ,                            ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Eponas Song " ,                                          ( " NPC " ,           0x54 ,   0x66 ,  None ,                             ' Rupees (50) ' ,                            ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Sarias Song " ,                                          ( " NPC " ,           0x54 ,   0x67 ,  None ,                             ' Rupees (50) ' ,                            ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Suns Song " ,                                            ( " NPC " ,           0x54 ,   0x68 ,  None ,                             ' Rupees (50) ' ,                            ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Song of Time " ,                                         ( " NPC " ,           0x54 ,   0x69 ,  None ,                             ' Rupees (50) ' ,                            ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs in the Rain " ,                                          ( " NPC " ,           0x54 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s River " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Frogs Ocarina Game " ,                                         ( " NPC " ,           0x54 ,   0x76 ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s River " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Near Open Grotto Freestanding PoH " ,                          ( " Collectable " ,   0x54 ,   0x04 ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s River " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Near Domain Freestanding PoH " ,                               ( " Collectable " ,   0x54 ,   0x0B ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s River " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Deku Scrub Grotto Front " ,                                    ( " GrottoScrub " ,   0xEB ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Zora ' s River " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Deku Scrub Grotto Rear " ,                                     ( " GrottoScrub " ,   0xEB ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Zora ' s River " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR GS Tree " ,                                                    ( " GS Token " ,      0x11 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s River " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR GS Ladder " ,                                                  ( " GS Token " ,      0x11 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s River " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR GS Near Raised Grottos " ,                                     ( " GS Token " ,      0x11 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s River " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR GS Above Bridge " ,                                            ( " GS Token " ,      0x11 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s River " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's River Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Waterfall Red Rupee 1 " ,                                      ( " Freestanding " ,  0x54 ,   ( 1 , 2 , 2 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Waterfall Red Rupee 2 " ,                                      ( " Freestanding " ,  0x54 ,   ( 1 , 2 , 3 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Waterfall Red Rupee 3 " ,                                      ( " Freestanding " ,  0x54 ,   ( 1 , 2 , 4 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Waterfall Red Rupee 4 " ,                                      ( " Freestanding " ,  0x54 ,   ( 1 , 2 , 5 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's River Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Open Grotto Beehive 1 " ,                                      ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x48  +  ( 0x09  *  2 ) ) ,  None ,           ' Rupees (5) ' ,                             ( " Zora ' s River " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Open Grotto Beehive 2 " ,                                      ( " Beehive " ,       0x3E ,  ( 0 , 0 , 0x49  +  ( 0x09  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Storms Grotto Beehive " ,                                      ( " Beehive " ,       0x3E ,  ( 9 , 0 , 0x43  +  ( 0x0B  *  2 ) ) ,  None ,           ' Rupees (20) ' ,                            ( " Zora ' s River " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Domain 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " ZD Diving Minigame " ,                                            ( " NPC " ,           0x58 ,   0x37 ,  None ,                             ' Progressive Scale ' ,                      ( " Zora ' s Domain " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Chest " ,                                                      ( " Chest " ,         0x58 ,   0x00 ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s Domain " ,  ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD King Zora Thawed " ,                                           ( " NPC " ,           0x58 ,   0x2D ,  None ,                             ' Zora Tunic ' ,                             ( " Zora ' s Domain " , ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD GS Frozen Waterfall " ,                                        ( " GS Token " ,      0x11 ,   0x40 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s Domain " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 1 " ,                                                ( " Shop " ,          0x2F ,   0x30 ,  ( shop_address ( 7 ,  0 ) ,  None ) ,       ' Buy Zora Tunic ' ,                         ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 2 " ,                                                ( " Shop " ,          0x2F ,   0x31 ,  ( shop_address ( 7 ,  1 ) ,  None ) ,       ' Buy Arrows (10) ' ,                        ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 3 " ,                                                ( " Shop " ,          0x2F ,   0x32 ,  ( shop_address ( 7 ,  2 ) ,  None ) ,       ' Buy Heart ' ,                              ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 4 " ,                                                ( " Shop " ,          0x2F ,   0x33 ,  ( shop_address ( 7 ,  3 ) ,  None ) ,       ' Buy Arrows (30) ' ,                        ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 5 " ,                                                ( " Shop " ,          0x2F ,   0x34 ,  ( shop_address ( 7 ,  4 ) ,  None ) ,       ' Buy Deku Nut (5) ' ,                       ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 6 " ,                                                ( " Shop " ,          0x2F ,   0x35 ,  ( shop_address ( 7 ,  5 ) ,  None ) ,       ' Buy Arrows (50) ' ,                        ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 7 " ,                                                ( " Shop " ,          0x2F ,   0x36 ,  ( shop_address ( 7 ,  6 ) ,  None ) ,       ' Buy Fish ' ,                               ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Shop Item 8 " ,                                                ( " Shop " ,          0x2F ,   0x37 ,  ( shop_address ( 7 ,  7 ) ,  None ) ,       ' Buy Red Potion for 50 Rupees ' ,           ( " Zora ' s Domain " ,  " Shops " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Domain Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Pot 1 " ,                                                      ( " Pot " ,           0x58 ,   [ ( 1 , 2 , 6 ) , ( 1 , 0 , 22 ) ] ,  None ,               ' Deku Stick (1) ' ,                         ( " Zora ' s Domain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Pot 2 " ,                                                      ( " Pot " ,           0x58 ,   [ ( 1 , 2 , 5 ) , ( 1 , 0 , 23 ) ] ,  None ,               ' Deku Nuts (5) ' ,                          ( " Zora ' s Domain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Pot 3 " ,                                                      ( " Pot " ,           0x58 ,   [ ( 1 , 2 , 4 ) , ( 1 , 0 , 24 ) ] ,  None ,               ' Recovery Heart ' ,                         ( " Zora ' s Domain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Pot 4 " ,                                                      ( " Pot " ,           0x58 ,   [ ( 1 , 2 , 3 ) , ( 1 , 0 , 25 ) ] ,  None ,               ' Recovery Heart ' ,                         ( " Zora ' s Domain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Pot 5 " ,                                                      ( " Pot " ,           0x58 ,   [ ( 1 , 2 , 2 ) , ( 1 , 0 , 26 ) ] ,  None ,               ' Rupees (5) ' ,                             ( " Zora ' s Domain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Domain Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD In Front of King Zora Beehive 1 " ,                            ( " Beehive " ,       0x58 ,   ( 0 , 0 , 10 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Zora ' s Domain " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD In Front of King Zora Beehive 2 " ,                            ( " Beehive " ,       0x58 ,   ( 0 , 0 , 11 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Zora ' s Domain " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Behind King Zora Beehive " ,                                   ( " Beehive " ,       0x58 ,   ( 0 , 0 , 12 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Zora ' s Domain " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Fountain 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " ZF Great Fairy Reward " ,                                         ( " Cutscene " ,      0xFF ,   0x10 ,  None ,                             ' Farores Wind ' ,                           ( " Zora ' s Fountain " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Iceberg Freestanding PoH " ,                                   ( " Collectable " ,   0x59 ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s Fountain " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Freestanding PoH " ,                                    ( " Collectable " ,   0x59 ,   0x14 ,  None ,                             ' Piece of Heart ' ,                         ( " Zora ' s Fountain " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF GS Above the Log " ,                                           ( " GS Token " ,      0x11 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s Fountain " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF GS Tree " ,                                                    ( " GS Token " ,      0x11 ,   0x80 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s Fountain " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF GS Hidden Cave " ,                                             ( " GS Token " ,      0x11 ,   0x20 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Zora ' s Fountain " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Fountain Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 1 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 1 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 2 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 3 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 4 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 4 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 5 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 6 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 7 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 8 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 9 " ,                                       ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 10 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 11 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 12 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 13 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 14 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 15 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 16 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 17 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 17 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Bottom Green Rupee 18 " ,                                      ( " Freestanding " ,  0x59 ,   ( 0 , 2 , 18 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Zora's Fountain Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Hidden Cave Pot 1 " ,                                          ( " Pot " ,           0x59 ,   ( 0 , 2 , 43 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Hidden Cave Pot 2 " ,                                          ( " Pot " ,           0x59 ,   ( 0 , 2 , 44 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Hidden Cave Pot 3 " ,                                          ( " Pot " ,           0x59 ,   ( 0 , 2 , 45 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Near Jabu Pot 1 " ,                                            ( " Pot " ,           0x59 ,   [ ( 0 , 0 , 20 ) , ( 0 , 1 , 20 ) ] ,  None ,              ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Near Jabu Pot 2 " ,                                            ( " Pot " ,           0x59 ,   [ ( 0 , 0 , 22 ) , ( 0 , 1 , 22 ) ] ,  None ,              ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Near Jabu Pot 3 " ,                                            ( " Pot " ,           0x59 ,   [ ( 0 , 0 , 23 ) , ( 0 , 1 , 23 ) ] ,  None ,              ' Rupee (1) ' ,                              ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Near Jabu Pot 4 " ,                                            ( " Pot " ,           0x59 ,   [ ( 0 , 0 , 24 ) , ( 0 , 1 , 24 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Zora ' s Fountain " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lake Hylia 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " LH Underwater Item " ,                                            ( " NPC " ,           0x57 ,   0x15 ,  None ,                             ' Rutos Letter ' ,                           ( " Lake Hylia " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Child Fishing " ,                                              ( " NPC " ,           0x49 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Lake Hylia " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Adult Fishing " ,                                              ( " NPC " ,           0x49 ,   0x38 ,  None ,                             ' Progressive Scale ' ,                      ( " Lake Hylia " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Lab Dive " ,                                                   ( " NPC " ,           0x38 ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Lake Hylia " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Freestanding PoH " ,                                           ( " Collectable " ,   0x57 ,   0x1E ,  None ,                             ' Piece of Heart ' ,                         ( " Lake Hylia " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Sun " ,                                                        ( " NPC " ,           0x57 ,   0x58 ,  None ,                             ' Fire Arrows ' ,                            ( " Lake Hylia " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Deku Scrub Grotto Left " ,                                     ( " GrottoScrub " ,   0xEF ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Lake Hylia " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Deku Scrub Grotto Center " ,                                   ( " GrottoScrub " ,   0xEF ,   0x33 ,  None ,                             ' Buy Deku Seeds (30) ' ,                    ( " Lake Hylia " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Deku Scrub Grotto Right " ,                                    ( " GrottoScrub " ,   0xEF ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Lake Hylia " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH GS Bean Patch " ,                                              ( " GS Token " ,      0x12 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lake Hylia " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH GS Lab Wall " ,                                                ( " GS Token " ,      0x12 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lake Hylia " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH GS Small Island " ,                                            ( " GS Token " ,      0x12 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lake Hylia " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH GS Lab Crate " ,                                               ( " GS Token " ,      0x12 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lake Hylia " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH GS Tree " ,                                                    ( " GS Token " ,      0x12 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Lake Hylia " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Lake Hylia Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Underwater Near Shore Green Rupee " ,                          ( " Freestanding " ,  0x57 ,   ( 0 , 0 , 50 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Underwater Green Rupee 1 " ,                                   ( " Freestanding " ,  0x57 ,   ( 0 , 0 , 51 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Underwater Green Rupee 2 " ,                                   ( " Freestanding " ,  0x57 ,   ( 0 , 0 , 52 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Lab Dive Red Rupee 1 " ,                                       ( " Freestanding " ,  0x38 ,   ( 0 , 0 , 2 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Lab Dive Red Rupee 2 " ,                                       ( " Freestanding " ,  0x38 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Lab Dive Red Rupee 3 " ,                                       ( " Freestanding " ,  0x38 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Lake Hylia " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #Lake Hylia Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Grotto Beehive " ,                                             ( " Beehive " ,       0x3E ,   ( 12 , 0 , 0x44  +  ( 0x0F  *  2 ) ) ,  None ,         ' Rupees (20) ' ,                            ( " Lake Hylia " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Valley 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " GV Crate Freestanding PoH " ,                                     ( " Collectable " ,   0x5A ,   0x02 ,  None ,                             ' Piece of Heart ' ,                         ( " Gerudo Valley " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Waterfall Freestanding PoH " ,                                 ( " Collectable " ,   0x5A ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Gerudo Valley " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Chest " ,                                                      ( " Chest " ,         0x5A ,   0x00 ,  None ,                             ' Rupees (50) ' ,                            ( " Gerudo Valley " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Deku Scrub Grotto Front " ,                                    ( " GrottoScrub " ,   0xF0 ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Gerudo Valley " ,  " Gerudo " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Deku Scrub Grotto Rear " ,                                     ( " GrottoScrub " ,   0xF0 ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Gerudo Valley " ,  " Gerudo " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Cow " ,                                                        ( " NPC " ,           0x5A ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Gerudo Valley " ,  " Gerudo " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV GS Small Bridge " ,                                            ( " GS Token " ,      0x13 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo Valley " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV GS Bean Patch " ,                                              ( " GS Token " ,      0x13 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo Valley " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV GS Behind Tent " ,                                             ( " GS Token " ,      0x13 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo Valley " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV GS Pillar " ,                                                  ( " GS Token " ,      0x13 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo Valley " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Valley Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Red Rupee " ,                                   ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 9 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Blue Rupee 1 " ,                                ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 2 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Blue Rupee 2 " ,                                ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 3 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Blue Rupee 3 " ,                                ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 4 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Green Rupee 1 " ,                               ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Green Rupee 2 " ,                               ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Green Rupee 3 " ,                               ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Octorok Grotto Green Rupee 4 " ,                               ( " Freestanding " ,  0x3E ,   ( 5 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Valley Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Crate Near Cow " ,                                             ( " Crate " ,         0x5A ,   ( 0 , 0 , 38 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Freestanding PoH Crate " ,                                     ( " Crate " ,         0x5A ,   [ ( 0 , 2 , 31 ) , ( 0 , 0 , 39 ) ] ,  None ,              ' Rupee (1) ' ,                              ( " Gerudo Valley " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Valley Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Storms Grotto Beehive " ,                                      ( " Beehive " ,       0x3E ,   ( 9 , 0 , 0x43  +  ( 0x10  *  2 ) ) ,  None ,          ' Rupees (20) ' ,                            ( " Gerudo Valley " ,  " Gerudo " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 13:05:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 14:44:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Gerudo's Fortress 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " GF Chest " ,                                                      ( " Chest " ,         0x5D ,   0x00 ,  None ,                             ' Piece of Heart ' ,                         ( " Gerudo ' s Fortress " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GF HBA 1000 Points " ,                                            ( " NPC " ,           0x5D ,   0x3E ,  None ,                             ' Piece of Heart ' ,                         ( " Gerudo ' s Fortress " ,  " Gerudo " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GF HBA 1500 Points " ,                                            ( " NPC " ,           0x5D ,   0x30 ,  None ,                             ' Bow ' ,                                    ( " Gerudo ' s Fortress " ,  " Gerudo " ,  " Minigames " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GF GS Top Floor " ,                                               ( " GS Token " ,      0x14 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo ' s Fortress " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GF GS Archery Range " ,                                           ( " GS Token " ,      0x14 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Gerudo ' s Fortress " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo's Fortress Crates/Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GF Above Jail Crate " ,                                           ( " Crate " ,         0x5D ,   [ ( 0 , 2 , 19 ) , ( 0 , 3 , 19 ) ] ,  None ,              ' Rupees (50) ' ,                            ( " Gerudo ' s Fortress " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Thieves' Hideout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 1 Torch Jail Gerudo Key " ,                               ( " Collectable " ,   0x0C ,   0x0C ,  None ,                             ' Small Key (Thieves Hideout) ' ,            ( " Thieves '  Hideout " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torches Jail Gerudo Key " ,                             ( " Collectable " ,   0x0C ,   0x0F ,  None ,                             ' Small Key (Thieves Hideout) ' ,            ( " Thieves '  Hideout " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 3 Torches Jail Gerudo Key " ,                             ( " Collectable " ,   0x0C ,   0x0A ,  None ,                             ' Small Key (Thieves Hideout) ' ,            ( " Thieves '  Hideout " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 4 Torches Jail Gerudo Key " ,                             ( " Collectable " ,   0x0C ,   0x0E ,  None ,                             ' Small Key (Thieves Hideout) ' ,            ( " Thieves '  Hideout " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Gerudo Membership Card " ,                                ( " NPC " ,           0x0C ,   0x3A ,  None ,                             ' Gerudo Membership Card ' ,                 ( " Thieves '  Hideout " ,  " Gerudo " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Thieves' Hideout Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Pot 1 " ,                                      ( " Pot " ,           0x0C ,   ( 0 , 0 , 5 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Pot 2 " ,                                      ( " Pot " ,           0x0C ,   ( 0 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 1 Torch Jail Pot 1 " ,                                    ( " Pot " ,           0x0C ,   ( 2 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 1 Torch Jail Pot 2 " ,                                    ( " Pot " ,           0x0C ,   ( 2 , 0 , 8 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 1 Torch Jail Pot 3 " ,                                    ( " Pot " ,           0x0C ,   ( 2 , 0 , 9 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Kitchen Pot 1 " ,                                         ( " Pot " ,           0x0C ,   ( 3 , 0 , 6 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Kitchen Pot 2 " ,                                         ( " Pot " ,           0x0C ,   ( 3 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 4 Torch Jail Pot 1 " ,                                    ( " Pot " ,           0x0C ,   ( 4 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 4 Torch Jail Pot 2 " ,                                    ( " Pot " ,           0x0C ,   ( 4 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail Pot 1 " ,                                    ( " Pot " ,           0x0C ,   ( 5 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail Pot 2 " ,                                    ( " Pot " ,           0x0C ,   ( 5 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail Pot 3 " ,                                    ( " Pot " ,           0x0C ,   ( 5 , 0 , 10 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail In Cell Pot 1 " ,                            ( " Pot " ,           0x0C ,   ( 5 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail In Cell Pot 2 " ,                            ( " Pot " ,           0x0C ,   ( 5 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail In Cell Pot 3 " ,                            ( " Pot " ,           0x0C ,   ( 5 , 0 , 13 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail In Cell Pot 4 " ,                            ( " Pot " ,           0x0C ,   ( 5 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Thieves '  Hideout " ,  " Gerudo " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Crate 1 " ,                                    ( " Crate " ,         0x0C ,   ( 0 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Crate 2 " ,                                    ( " Crate " ,         0x0C ,   ( 0 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Hallway Crate 1 " ,                            ( " Crate " ,         0x0C ,   ( 0 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Break Room Hallway Crate 2 " ,                            ( " Crate " ,         0x0C ,   ( 0 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 3 Torch Jail Crate " ,                                    ( " Crate " ,         0x0C ,   ( 1 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 1 Torch Jail Crate " ,                                    ( " Crate " ,         0x0C ,   ( 2 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Near Kitchen Crate 1 " ,                                  ( " Crate " ,         0x0C ,   ( 3 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Near Kitchen Crate 2 " ,                                  ( " Crate " ,         0x0C ,   ( 3 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Near Kitchen Crate 3 " ,                                  ( " Crate " ,         0x0C ,   ( 3 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Near Kitchen Crate 4 " ,                                  ( " Crate " ,         0x0C ,   ( 3 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout Near Kitchen Crate 5 " ,                                  ( " Crate " ,         0x0C ,   ( 3 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail Crate 1 " ,                                  ( " Crate " ,         0x0C ,   ( 5 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Hideout 2 Torch Jail Crate 2 " ,                                  ( " Crate " ,         0x0C ,   ( 5 , 0 , 17 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Thieves '  Hideout " ,  " Gerudo " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 14:44:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Wasteland 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Wasteland Bombchu Salesman " ,                                    ( " NPC " ,           0x5E ,   0x03 ,  None ,                             ' Bombchus (10) ' ,                          ( " Haunted Wasteland " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Chest " ,                                               ( " Chest " ,         0x5E ,   0x00 ,  None ,                             ' Rupees (50) ' ,                            ( " Haunted Wasteland " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland GS " ,                                                  ( " GS Token " ,      0x15 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Haunted Wasteland " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Wasteland Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Near GS Pot 1 " ,                                       ( " Pot " ,           0x5E ,   ( 0 , 0 , 1 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Haunted Wasteland " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Near GS Pot 2 " ,                                       ( " Pot " ,           0x5E ,   ( 0 , 0 , 2 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " Haunted Wasteland " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Wasteland Near GS Pot 3",                                      ("Pot",          0x5E,  (0,0,3), None,                            'Rupees (5)',                            ("Haunted Wasteland", "Pot"))), Fairy 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Near GS Pot 3 " ,                                       ( " Pot " ,           0x5E ,   ( 0 , 0 , 4 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Haunted Wasteland " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Crate Before Quicksand " ,                              ( " Crate " ,         0x5E ,   ( 1 , 0 , 38 ) , None ,                          ' Rupee (1) ' ,                              ( " Haunted Wasteland " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Crate After Quicksand 1 " ,                             ( " Crate " ,         0x5E ,   ( 1 , 0 , 35 ) , None ,                          ' Rupee (1) ' ,                              ( " Haunted Wasteland " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Crate After Quicksand 2 " ,                             ( " Crate " ,         0x5E ,   ( 1 , 0 , 36 ) , None ,                          ' Rupee (1) ' ,                              ( " Haunted Wasteland " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Crate After Quicksand 3 " ,                             ( " Crate " ,         0x5E ,   ( 1 , 0 , 37 ) , None ,                          ' Rupee (1) ' ,                              ( " Haunted Wasteland " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wasteland Crate Near Colossus " ,                                 ( " Crate " ,         0x5E ,   ( 1 , 0 , 34 ) , None ,                          ' Rupee (1) ' ,                              ( " Haunted Wasteland " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Colossus 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Colossus Great Fairy Reward " ,                                   ( " Cutscene " ,      0xFF ,   0x12 ,  None ,                             ' Nayrus Love ' ,                            ( " Desert Colossus " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus Freestanding PoH " ,                                     ( " Collectable " ,   0x5C ,   0x0D ,  None ,                             ' Piece of Heart ' ,                         ( " Desert Colossus " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus Deku Scrub Grotto Front " ,                              ( " GrottoScrub " ,   0xFD ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Desert Colossus " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus Deku Scrub Grotto Rear " ,                               ( " GrottoScrub " ,   0xFD ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Desert Colossus " ,  " Deku Scrub " ,  " Grottos " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus GS Bean Patch " ,                                        ( " GS Token " ,      0x15 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Desert Colossus " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus GS Tree " ,                                              ( " GS Token " ,      0x15 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Desert Colossus " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus GS Hill " ,                                              ( " GS Token " ,      0x15 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Desert Colossus " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Colossus Beehives 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus Grotto Beehive " ,                                       ( " Beehive " ,       0x3E ,   ( 9 , 0 , 0x43  +  ( 0x1D  *  2 ) ) ,  None ,          ' Rupees (20) ' ,                            ( " Desert Colossus " ,  " Grottos " ,  " Beehive " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Outside Ganon's Castle 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " OGC Great Fairy Reward " ,                                        ( " Cutscene " ,      0xFF ,   0x15 ,  None ,                             ' Double Defense ' ,                         ( " Outside Ganon ' s Castle " ,  " Market " ,  " Fairies " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " OGC GS " ,                                                        ( " GS Token " ,      0x0E ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Outside Ganon ' s Castle " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Dungeons 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Deku Tree vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Deku Tree Map Chest " ,                                           ( " Chest " ,         0x00 ,   0x03 ,  None ,                             ' Map (Deku Tree) ' ,                        ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Slingshot Room Side Chest " ,                           ( " Chest " ,         0x00 ,   0x05 ,  None ,                             ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Slingshot Chest " ,                                     ( " Chest " ,         0x00 ,   0x01 ,  None ,                             ' Slingshot ' ,                              ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Compass Chest " ,                                       ( " Chest " ,         0x00 ,   0x02 ,  None ,                             ' Compass (Deku Tree) ' ,                    ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Compass Room Side Chest " ,                             ( " Chest " ,         0x00 ,   0x06 ,  None ,                             ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Basement Chest " ,                                      ( " Chest " ,         0x00 ,   0x04 ,  None ,                             ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree GS Compass Room " ,                                     ( " GS Token " ,      0x00 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree GS Basement Vines " ,                                   ( " GS Token " ,      0x00 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree GS Basement Gate " ,                                    ( " GS Token " ,      0x00 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree GS Basement Back Room " ,                               ( " GS Token " ,      0x00 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Deku Tree Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Lower Lobby Recovery Heart " ,                          ( " Freestanding " ,  0x00 ,   ( 0 , 0 , 26 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Upper Lobby Recovery Heart " ,                          ( " Freestanding " ,  0x00 ,   ( 0 , 0 , 27 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Basement Recovery Heart 1 " ,                           ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Basement Recovery Heart 2 " ,                           ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree Basement Recovery Heart 3 " ,                           ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Deku Tree MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Map Chest " ,                                        ( " Chest " ,         0x00 ,   0x03 ,  None ,                             ' Map (Deku Tree) ' ,                        ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Slingshot Chest " ,                                  ( " Chest " ,         0x00 ,   0x06 ,  None ,                             ' Slingshot ' ,                              ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Slingshot Room Back Chest " ,                        ( " Chest " ,         0x00 ,   0x02 ,  None ,                             ' Deku Shield ' ,                            ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Compass Chest " ,                                    ( " Chest " ,         0x00 ,   0x01 ,  None ,                             ' Compass (Deku Tree) ' ,                    ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Basement Chest " ,                                   ( " Chest " ,         0x00 ,   0x04 ,  None ,                             ' Deku Shield ' ,                            ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Before Spinning Log Chest " ,                        ( " Chest " ,         0x00 ,   0x05 ,  None ,                             ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ After Spinning Log Chest " ,                         ( " Chest " ,         0x00 ,   0x00 ,  None ,                             ' Rupees (50) ' ,                            ( " Deku Tree " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Deku Scrub " ,                                       ( " Scrub " ,         0x00 ,   0x34 ,  None ,                             ' Buy Deku Shield ' ,                        ( " Deku Tree " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ GS Lobby " ,                                         ( " GS Token " ,      0x00 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ GS Compass Room " ,                                  ( " GS Token " ,      0x00 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ GS Basement Graves Room " ,                          ( " GS Token " ,      0x00 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ GS Basement Back Room " ,                            ( " GS Token " ,      0x00 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Deku Tree " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Deku Tree MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Lower Lobby Recovery Heart " ,                       ( " Freestanding " ,  0x00 ,   ( 0 , 0 , 19 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Near Compass Room Recovery Heart " ,                 ( " Freestanding " ,  0x00 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Compass Room Recovery Heart " ,                      ( " Freestanding " ,  0x00 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Basement Recovery Heart 1 " ,                        ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Basement Recovery Heart 2 " ,                        ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Basement Recovery Heart 3 " ,                        ( " Freestanding " ,  0x00 ,   ( 9 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Slingshot Room Recovery Heart " ,                    ( " Freestanding " ,  0x00 ,   ( 10 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Deku Tree " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Deku Tree MQ Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Lobby Crate " ,                                      ( " Crate " ,         0x0 ,    ( 0 , 0 , 29 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Deku Tree " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Slingshot Room Crate 1 " ,                           ( " Crate " ,         0x0 ,    ( 10 , 0 , 17 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Deku Tree " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Tree MQ Slingshot Room Crate 2 " ,                           ( " Crate " ,         0x0 ,    ( 10 , 0 , 18 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Deku Tree " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Deku Tree shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Deku Tree Queen Gohma Heart " ,                                   ( " BossHeart " ,     0x11 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Deku Tree " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Map Chest " ,                                     ( " Chest " ,         0x01 ,   0x08 ,  None ,                             ' Map (Dodongos Cavern) ' ,                  ( " Dodongo ' s Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Compass Chest " ,                                 ( " Chest " ,         0x01 ,   0x05 ,  None ,                             ' Compass (Dodongos Cavern) ' ,              ( " Dodongo ' s Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Bomb Flower Platform Chest " ,                    ( " Chest " ,         0x01 ,   0x06 ,  None ,                             ' Rupees (20) ' ,                            ( " Dodongo ' s Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Bomb Bag Chest " ,                                ( " Chest " ,         0x01 ,   0x04 ,  None ,                             ' Bomb Bag ' ,                               ( " Dodongo ' s Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern End of Bridge Chest " ,                           ( " Chest " ,         0x01 ,   0x0A ,  None ,                             ' Deku Shield ' ,                            ( " Dodongo ' s Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Deku Scrub Side Room Near Dodongos " ,            ( " Scrub " ,         0x01 ,   0x31 ,  None ,                             ' Buy Deku Stick (1) ' ,                     ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Deku Scrub Lobby " ,                              ( " Scrub " ,         0x01 ,   0x34 ,  None ,                             ' Buy Deku Shield ' ,                        ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Deku Scrub Near Bomb Bag Left " ,                 ( " Scrub " ,         0x01 ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Deku Scrub Near Bomb Bag Right " ,                ( " Scrub " ,         0x01 ,   0x33 ,  None ,                             ' Buy Deku Seeds (30) ' ,                    ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern GS Side Room Near Lower Lizalfos " ,              ( " GS Token " ,      0x01 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern GS Scarecrow " ,                                  ( " GS Token " ,      0x01 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern GS Alcove Above Stairs " ,                        ( " GS Token " ,      0x01 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern GS Vines Above Stairs " ,                         ( " GS Token " ,      0x01 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern GS Back Room " ,                                  ( " GS Token " ,      0x01 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lizalfos Upper Recovery Heart 1 " ,               ( " Freestanding " ,  0x01 ,   ( 3 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lizalfos Upper Recovery Heart 2 " ,               ( " Freestanding " ,  0x01 ,   ( 3 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Blade Room Behind Block Recovery Heart " ,        ( " Freestanding " ,  0x01 ,   ( 9 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 1 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 2 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 14 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 3 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 4 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 17 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 5 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 18 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Right Side Pot 6 " ,                              ( " Pot " ,           0x01 ,   ( 1 , 0 , 19 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lower Lizalfos Pot 1 " ,                          ( " Pot " ,           0x01 ,   ( 3 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lower Lizalfos Pot 2 " ,                          ( " Pot " ,           0x01 ,   ( 3 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lower Lizalfos Pot 3 " ,                          ( " Pot " ,           0x01 ,   ( 3 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lower Lizalfos Pot 4 " ,                          ( " Pot " ,           0x01 ,   ( 3 , 0 , 12 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Torch Room Pot 1 " ,                              ( " Pot " ,           0x01 ,   ( 4 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Torch Room Pot 2 " ,                              ( " Pot " ,           0x01 ,   ( 4 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Torch Room Pot 3 " ,                              ( " Pot " ,           0x01 ,   ( 4 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Torch Room Pot 4 " ,                              ( " Pot " ,           0x01 ,   ( 4 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Staircase Pot 1 " ,                               ( " Pot " ,           0x01 ,   ( 2 , 0 , 24 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Staircase Pot 2 " ,                               ( " Pot " ,           0x01 ,   ( 2 , 0 , 25 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Staircase Pot 3 " ,                               ( " Pot " ,           0x01 ,   ( 2 , 0 , 26 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Staircase Pot 4 " ,                               ( " Pot " ,           0x01 ,   ( 2 , 0 , 27 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Last Block Pot 1 " ,                              ( " Pot " ,           0x01 ,   ( 7 , 0 , 7 ) ,  None ,                          ' Bombs (5) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Last Block Pot 2 " ,                              ( " Pot " ,           0x01 ,   ( 7 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Last Block Pot 3 " ,                              ( " Pot " ,           0x01 ,   ( 8 , 0 , 7 ) ,  None ,                          ' Deku Seeds (30) ' ,                        ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Dodongos Cavern Last Block Pot 4",                             ("Pot",          0x01,  0x21, None,                            'Rupee (1)',                             ("Dodongo's Cavern", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Blade Room Pot 1 " ,                              ( " Pot " ,           0x01 ,   ( 9 , 0 , 15 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Blade Room Pot 2 " ,                              ( " Pot " ,           0x01 ,   ( 9 , 0 , 16 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Single Eye Switch Room Pot 1 " ,                  ( " Pot " ,           0x01 ,   ( 10 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Single Eye Switch Room Pot 2 " ,                  ( " Pot " ,           0x01 ,   ( 10 , 0 , 8 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Double Eye Switch Room Pot 1 " ,                  ( " Pot " ,           0x01 ,   ( 12 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Double Eye Switch Room Pot 2 " ,                  ( " Pot " ,           0x01 ,   ( 12 , 0 , 7 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Map Chest " ,                                  ( " Chest " ,         0x01 ,   0x00 ,  None ,                             ' Map (Dodongos Cavern) ' ,                  ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Bomb Bag Chest " ,                             ( " Chest " ,         0x01 ,   0x04 ,  None ,                             ' Bomb Bag ' ,                               ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Torch Puzzle Room Chest " ,                    ( " Chest " ,         0x01 ,   0x03 ,  None ,                             ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Chest " ,                          ( " Chest " ,         0x01 ,   0x02 ,  None ,                             ' Deku Shield ' ,                            ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Compass Chest " ,                              ( " Chest " ,         0x01 ,   0x05 ,  None ,                             ' Compass (Dodongos Cavern) ' ,              ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Under Grave Chest " ,                          ( " Chest " ,         0x01 ,   0x01 ,  None ,                             ' Hylian Shield ' ,                          ( " Dodongo ' s Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Deku Scrub Lobby Front " ,                     ( " Scrub " ,         0x01 ,   0x33 ,  None ,                             ' Buy Deku Seeds (30) ' ,                    ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Deku Scrub Lobby Rear " ,                      ( " Scrub " ,         0x01 ,   0x31 ,  None ,                             ' Buy Deku Stick (1) ' ,                     ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Deku Scrub Side Room Near Lower Lizalfos " ,   ( " Scrub " ,         0x01 ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Deku Scrub Staircase " ,                       ( " Scrub " ,         0x01 ,   0x34 ,  None ,                             ' Buy Deku Shield ' ,                        ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ GS Scrub Room " ,                              ( " GS Token " ,      0x01 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ GS Larvae Room " ,                             ( " GS Token " ,      0x01 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ GS Lizalfos Room " ,                           ( " GS Token " ,      0x01 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ GS Song of Time Block Room " ,                 ( " GS Token " ,      0x01 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ GS Back Area " ,                               ( " GS Token " ,      0x01 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Torch Puzzle Room Recovery Heart " ,           ( " Freestanding " ,  0x01 ,   ( 9 , 0 , 6 ) ,  None ,                             ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Right Side Pot 1 " ,                           ( " Pot " ,           0x01 ,   ( 1 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Right Side Pot 2 " ,                           ( " Pot " ,           0x01 ,   ( 1 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Right Side Pot 3 " ,                           ( " Pot " ,           0x01 ,   ( 1 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Right Side Pot 4 " ,                           ( " Pot " ,           0x01 ,   ( 1 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Pot 1 " ,                            ( " Pot " ,           0x01 ,   ( 2 , 0 , 17 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Pot 2 " ,                            ( " Pot " ,           0x01 ,   ( 2 , 0 , 18 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Pot 3 " ,                            ( " Pot " ,           0x01 ,   ( 2 , 0 , 19 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Pot 4 " ,                            ( " Pot " ,           0x01 ,   ( 2 , 0 , 20 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Upper Lizalfos Pot 1 " ,                       ( " Pot " ,           0x01 ,   ( 3 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Upper Lizalfos Pot 2 " ,                       ( " Pot " ,           0x01 ,   ( 3 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Upper Lizalfos Pot 3 " ,                       ( " Pot " ,           0x01 ,   ( 3 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Upper Lizalfos Pot 4 " ,                       ( " Pot " ,           0x01 ,   ( 3 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Pot 1 " ,                            ( " Pot " ,           0x01 ,   ( 4 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Pot 2 " ,                            ( " Pot " ,           0x01 ,   ( 4 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Pot 3 " ,                            ( " Pot " ,           0x01 ,   ( 4 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Pot 4 " ,                            ( " Pot " ,           0x01 ,   ( 4 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Room Before Boss Pot 1 " ,                     ( " Pot " ,           0x01 ,   ( 7 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Room Before Boss Pot 2 " ,                     ( " Pot " ,           0x01 ,   ( 7 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Armos Army Room Upper Pot " ,                  ( " Pot " ,           0x01 ,   ( 8 , 0 , 20 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Armos Army Room Pot 1 " ,                      ( " Pot " ,           0x01 ,   ( 8 , 0 , 22 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Armos Army Room Pot 2 " ,                      ( " Pot " ,           0x01 ,   ( 8 , 0 , 23 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Torch Puzzle Room Pot Pillar " ,               ( " Pot " ,           0x01 ,   ( 9 , 0 , 12 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Torch Puzzle Room Pot Corner " ,               ( " Pot " ,           0x01 ,   ( 9 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Before Upper Lizalfos Pot 1 " ,                ( " Pot " ,           0x01 ,   ( 10 , 0 , 17 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Before Upper Lizalfos Pot 2 " ,                ( " Pot " ,           0x01 ,   ( 10 , 0 , 18 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ After Upper Lizalfos Pot 1 " ,                 ( " Pot " ,           0x01 ,   ( 12 , 0 , 6 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ After Upper Lizalfos Pot 2 " ,                 ( " Pot " ,           0x01 ,   ( 12 , 0 , 7 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Back Poe Room Pot 1 " ,                        ( " Pot " ,           0x01 ,   ( 14 , 0 , 3 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Back Poe Room Pot 2 " ,                        ( " Pot " ,           0x01 ,   ( 14 , 0 , 4 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern MQ Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Bottom Left " ,                ( " Crate " ,         0x1 ,    ( 2 , 0 , 41 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Bottom Right " ,               ( " Crate " ,         0x1 ,    ( 2 , 0 , 42 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Mid Left " ,                   ( " Crate " ,         0x1 ,    ( 2 , 0 , 39 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Top Left " ,                   ( " Crate " ,         0x1 ,    ( 2 , 0 , 40 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Mid Right " ,                  ( " Crate " ,         0x1 ,    ( 2 , 0 , 43 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Staircase Crate Top Right " ,                  ( " Crate " ,         0x1 ,    ( 2 , 0 , 44 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 5 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 23 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 6 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 24 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 1 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 25 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 2 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 26 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 3 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 27 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 4 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 28 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate Near Bomb Flower " ,           ( " Crate " ,         0x1 ,    ( 4 , 0 , 29 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Poes Room Crate 7 " ,                          ( " Crate " ,         0x1 ,    ( 4 , 0 , 30 ) , None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 1 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 2 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 3 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 4 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 5 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ Larvae Room Crate 6 " ,                        ( " Crate " ,         0x1 ,    ( 6 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ After Upper Lizalfos Crate 1 " ,               ( " Crate " ,         0x1 ,    ( 12 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern MQ After Upper Lizalfos Crate 2 " ,               ( " Crate " ,         0x1 ,    ( 12 , 0 , 12 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Dodongo ' s Cavern " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Dodongo's Cavern shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Lower Lizalfos Hidden Recovery Heart " ,          ( " Freestanding " ,  0x01 ,   ( 3 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Boss Room Chest " ,                               ( " Chest " ,         0x12 ,   0x00 ,  None ,                             ' Bombs (5) ' ,                              ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern King Dodongo Heart " ,                            ( " BossHeart " ,     0x12 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Dodongo ' s Cavern " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Boomerang Chest " ,                              ( " Chest " ,         0x02 ,   0x01 ,  None ,                             ' Boomerang ' ,                              ( " Jabu Jabu ' s Belly " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Map Chest " ,                                    ( " Chest " ,         0x02 ,   0x02 ,  None ,                             ' Map (Jabu Jabus Belly) ' ,                 ( " Jabu Jabu ' s Belly " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Compass Chest " ,                                ( " Chest " ,         0x02 ,   0x04 ,  None ,                             ' Compass (Jabu Jabus Belly) ' ,             ( " Jabu Jabu ' s Belly " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Deku Scrub " ,                                   ( " Scrub " ,         0x02 ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly GS Water Switch Room " ,                         ( " GS Token " ,      0x02 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly GS Lobby Basement Lower " ,                      ( " GS Token " ,      0x02 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly GS Lobby Basement Upper " ,                      ( " GS Token " ,      0x02 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly GS Near Boss " ,                                 ( " GS Token " ,      0x02 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Jabu Jabus Belly Above Big Octo Pot X",                        ("Pot",          0x02,  0x28, None,                            'Deku Nuts (5)',                         ("Jabu Jabu's Belly", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Above Big Octo Pot 1 " ,                         ( " Pot " ,           0x02 ,   ( 6 , 0 , 8 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Above Big Octo Pot 2 " ,                         ( " Pot " ,           0x02 ,   ( 6 , 0 , 9 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Jabu Jabus Belly DLC Pot X",                                   ("Pot",          0x02,  0x20, None,                            'Deku Nuts (5)',                         ("Jabu Jabu's Belly", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement 2 Octoroks Pot 1 " ,                    ( " Pot " ,           0x02 ,   ( 13 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement 2 Octoroks Pot 2 " ,                    ( " Pot " ,           0x02 ,   ( 13 , 0 , 6 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement 2 Octoroks Pot 3 " ,                    ( " Pot " ,           0x02 ,   ( 13 , 0 , 7 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement 2 Octoroks Pot 4 " ,                    ( " Pot " ,           0x02 ,   ( 13 , 0 , 8 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement Switch Room Pot 1 " ,                   ( " Pot " ,           0x02 ,   ( 14 , 0 , 8 ) ,  None ,                         ' Deku Seeds (30) ' ,                        ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Jabu Jabus Belly Basement Switch Room Pot X",                  ("Pot",          0x02,  (14,0,9), None,                            'Deku Nuts (5)',                         ("Jabu Jabu's Belly", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Basement Switch Room Pot 2 " ,                   ( " Pot " ,           0x02 ,   ( 14 , 0 , 10 ) ,  None ,                        ' Deku Seeds (30) ' ,                        ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Small Wooden Crate " ,                           ( " SmallCrate " ,    0x02 ,   ( 1 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Map Chest " ,                                 ( " Chest " ,         0x02 ,   0x03 ,  None ,                             ' Map (Jabu Jabus Belly) ' ,                 ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ First Room Side Chest " ,                     ( " Chest " ,         0x02 ,   0x05 ,  None ,                             ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Second Room Lower Chest " ,                   ( " Chest " ,         0x02 ,   0x02 ,  None ,                             ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Compass Chest " ,                             ( " Chest " ,         0x02 ,   0x00 ,  None ,                             ' Compass (Jabu Jabus Belly) ' ,             ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Basement Near Switches Chest " ,              ( " Chest " ,         0x02 ,   0x08 ,  None ,                             ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Basement Near Vines Chest " ,                 ( " Chest " ,         0x02 ,   0x04 ,  None ,                             ' Bombchus (10) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Boomerang Room Small Chest " ,                ( " Chest " ,         0x02 ,   0x01 ,  None ,                             ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Boomerang Chest " ,                           ( " Chest " ,         0x02 ,   0x06 ,  None ,                             ' Boomerang ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Falling Like Like Room Chest " ,              ( " Chest " ,         0x02 ,   0x09 ,  None ,                             ' Deku Stick (1) ' ,                         ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Second Room Upper Chest " ,                   ( " Chest " ,         0x02 ,   0x07 ,  None ,                             ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Near Boss Chest " ,                           ( " Chest " ,         0x02 ,   0x0A ,  None ,                             ' Deku Shield ' ,                            ( " Jabu Jabu ' s Belly " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Cow " ,                                       ( " NPC " ,           0x02 ,   0x15 ,  None ,                             ' Milk ' ,                                   ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Cow " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ GS Boomerang Chest Room " ,                   ( " GS Token " ,      0x02 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ GS Tailpasaran Room " ,                       ( " GS Token " ,      0x02 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ GS Invisible Enemies Room " ,                 ( " GS Token " ,      0x02 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ GS Near Boss " ,                              ( " GS Token " ,      0x02 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Underwater Green Rupee 1 " ,                  ( " Freestanding " ,  0x02 ,   ( 1 , 0 , 1 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Underwater Green Rupee 2 " ,                  ( " Freestanding " ,  0x02 ,   ( 1 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Underwater Green Rupee 3 " ,                  ( " Freestanding " ,  0x02 ,   ( 1 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Recovery Heart 1 " ,                          ( " Freestanding " ,  0x02 ,   ( 1 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Recovery Heart 2 " ,                          ( " Freestanding " ,  0x02 ,   ( 1 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ First Room Pot 1 " ,                          ( " Pot " ,           0x02 ,   ( 0 , 0 , 16 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ First Room Pot 2 " ,                          ( " Pot " ,           0x02 ,   ( 0 , 0 , 17 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Elevator Room Pot 1 " ,                       ( " Pot " ,           0x02 ,   ( 1 , 0 , 22 ) ,  None ,                         ' Arrows (5) ' ,                             ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Elevator Room Pot 2 " ,                       ( " Pot " ,           0x02 ,   ( 1 , 0 , 23 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Jabu Jabus Belly MQ Near Boss Pot",                            ("Pot",          0x02,  0x31, None,                            'N/A',                                   ("Jabu Jabu's Belly", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Falling Like Like Room Pot 1 " ,              ( " Pot " ,           0x02 ,   ( 11 , 0 , 27 ) ,  None ,                        ' Arrows (5) ' ,                             ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Falling Like Like Room Pot 2 " ,              ( " Pot " ,           0x02 ,   ( 11 , 0 , 31 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Boomerang Room Pot 1 " ,                      ( " Pot " ,           0x02 ,   ( 14 , 0 , 11 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly MQ Boomerang Room Pot 2 " ,                      ( " Pot " ,           0x02 ,   ( 14 , 0 , 15 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Jabu Jabu ' s Belly " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Jabu Jabu's Belly shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Heart " ,                               ( " BossHeart " ,     0x13 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 1 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 2 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 2 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 3 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 4 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 5 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Jabu Jabus Belly Barinade Pot 6 " ,                               ( " Pot " ,           0x13 ,   ( 1 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Jabu Jabu ' s Belly " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Bottom of the Well Front Left Fake Wall Chest " ,                 ( " Chest " ,         0x08 ,   0x08 ,  None ,                             ' Small Key (Bottom of the Well) ' ,         ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Front Center Bombable Chest " ,                ( " Chest " ,         0x08 ,   0x02 ,  None ,                             ' Bombchus (10) ' ,                          ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Back Left Bombable Chest " ,                   ( " Chest " ,         0x08 ,   0x04 ,  None ,                             ' Deku Nuts (10) ' ,                         ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Underwater Left Chest " ,                      ( " Chest " ,         0x08 ,   0x09 ,  None ,                             ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Freestanding Key " ,                           ( " Collectable " ,   0x08 ,   0x01 ,  None ,                             ' Small Key (Bottom of the Well) ' ,         ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Compass Chest " ,                              ( " Chest " ,         0x08 ,   0x01 ,  None ,                             ' Compass (Bottom of the Well) ' ,           ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Skulltula Chest " ,                     ( " Chest " ,         0x08 ,   0x0E ,  None ,                             ' Deku Nuts (5) ' ,                          ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Right Bottom Fake Wall Chest " ,               ( " Chest " ,         0x08 ,   0x05 ,  None ,                             ' Small Key (Bottom of the Well) ' ,         ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Fire Keese Chest " ,                           ( " Chest " ,         0x08 ,   0x0A ,  None ,                             ' Deku Shield ' ,                            ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Like Like Chest " ,                            ( " Chest " ,         0x08 ,   0x0C ,  None ,                             ' Hylian Shield ' ,                          ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Map Chest " ,                                  ( " Chest " ,         0x08 ,   0x07 ,  None ,                             ' Map (Bottom of the Well) ' ,               ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Underwater Front Chest " ,                     ( " Chest " ,         0x08 ,   0x10 ,  None ,                             ' Bombs (10) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Invisible Chest " ,                            ( " Chest " ,         0x08 ,   0x14 ,  None ,                             ' Rupees (200) ' ,                           ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Lens of Truth Chest " ,                        ( " Chest " ,         0x08 ,   0x03 ,  None ,                             ' Lens of Truth ' ,                          ( " Bottom of the Well " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well GS West Inner Room " ,                         ( " GS Token " ,      0x08 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well GS East Inner Room " ,                         ( " GS Token " ,      0x08 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well GS Like Like Cage " ,                          ( " GS Token " ,      0x08 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Room Pit Fall Blue Rupee 1 " ,          ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 27 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Room Pit Fall Blue Rupee 2 " ,          ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 28 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Room Pit Fall Blue Rupee 3 " ,          ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 29 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Room Pit Fall Blue Rupee 4 " ,          ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 30 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Center Room Pit Fall Blue Rupee 5 " ,          ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 31 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Coffin Recovery Heart 1 " ,                    ( " Freestanding " ,  0x08 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Coffin Recovery Heart 2 " ,                    ( " Freestanding " ,  0x08 ,   ( 2 , 0 , 15 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Left Side Pot 1 " ,                            ( " Pot " ,           0x08 ,   ( 0 , 0 , 23 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Left Side Pot 2 " ,                            ( " Pot " ,           0x08 ,   ( 0 , 0 , 24 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Left Side Pot 3 " ,                            ( " Pot " ,           0x08 ,   ( 0 , 0 , 25 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Near Entrance Pot 1 " ,                        ( " Pot " ,           0x08 ,   ( 0 , 0 , 27 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Near Entrance Pot 2 " ,                        ( " Pot " ,           0x08 ,   ( 0 , 0 , 28 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Underwater Pot " ,                             ( " Pot " ,           0x08 ,   ( 0 , 0 , 30 ) ,  None ,                         ' Bombs (10) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 1 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 45 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 2 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 46 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 3 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 47 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 4 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 48 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 5 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 49 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 6 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 50 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 7 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 51 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 8 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 52 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 9 " ,                             ( " Pot " ,           0x08 ,   ( 1 , 0 , 53 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 10 " ,                            ( " Pot " ,           0x08 ,   ( 1 , 0 , 54 ) ,  None ,                         ' Rupees (20) ' ,                            ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 11 " ,                            ( " Pot " ,           0x08 ,   ( 1 , 0 , 55 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Basement Pot 12 " ,                            ( " Pot " ,           0x08 ,   ( 1 , 0 , 56 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well Fire Keese Pot " ,                             ( " Pot " ,           0x08 ,   ( 3 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Bottom of the Well " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well West Inner Room Flying Pot 1 " ,               ( " FlyingPot " ,     0x08 ,   ( 6 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well West Inner Room Flying Pot 2 " ,               ( " FlyingPot " ,     0x08 ,   ( 6 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well West Inner Room Flying Pot 3 " ,               ( " FlyingPot " ,     0x08 ,   ( 6 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Map Chest " ,                               ( " Chest " ,         0x08 ,   0x03 ,  None ,                             ' Map (Bottom of the Well) ' ,               ( " Bottom of the Well " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ East Inner Room Freestanding Key " ,        ( " Collectable " ,   0x08 ,   0x01 ,  None ,                             ' Small Key (Bottom of the Well) ' ,         ( " Bottom of the Well " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Compass Chest " ,                           ( " Chest " ,         0x08 ,   0x02 ,  None ,                             ' Compass (Bottom of the Well) ' ,           ( " Bottom of the Well " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Dead Hand Freestanding Key " ,              ( " Collectable " ,   0x08 ,   0x02 ,  None ,                             ' Small Key (Bottom of the Well) ' ,         ( " Bottom of the Well " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Lens of Truth Chest " ,                     ( " Chest " ,         0x08 ,   0x01 ,  None ,                             ' Lens of Truth ' ,                          ( " Bottom of the Well " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ GS Coffin Room " ,                          ( " GS Token " ,      0x08 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ GS West Inner Room " ,                      ( " GS Token " ,      0x08 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ GS Basement " ,                             ( " GS Token " ,      0x08 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Bottom of the Well " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Bombable Recovery Heart 1 " ,               ( " Freestanding " ,  0x08 ,   ( 0 , 0 , 37 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Bombable Recovery Heart 2 " ,               ( " Freestanding " ,  0x08 ,   ( 0 , 0 , 38 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Basement Recovery Heart 1 " ,               ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 28 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Basement Recovery Heart 2 " ,               ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 29 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Basement Recovery Heart 3 " ,               ( " Freestanding " ,  0x08 ,   ( 1 , 0 , 30 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Coffin Recovery Heart 1 " ,                 ( " Freestanding " ,  0x08 ,   ( 2 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Coffin Recovery Heart 2 " ,                 ( " Freestanding " ,  0x08 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Bottom of the Well MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Center Room Right Pot 1 " ,                 ( " Pot " ,           0x08 ,   ( 0 , 0 , 41 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Center Room Right Pot 2 " ,                 ( " Pot " ,           0x08 ,   ( 0 , 0 , 43 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ Center Room Right Pot 3 " ,                 ( " Pot " ,           0x08 ,   ( 0 , 0 , 45 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Bottom of the Well MQ Perimiter Behind Gate Bot",              ("Pot",          0x08,  0x2A, None,                            'N/A',                                   ("Bottom of the Well", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ East Inner Room Pot 1 " ,                   ( " Pot " ,           0x08 ,   ( 5 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ East Inner Room Pot 2 " ,                   ( " Pot " ,           0x08 ,   ( 5 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bottom of the Well MQ East Inner Room Pot 3 " ,                   ( " Pot " ,           0x08 ,   ( 5 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Bottom of the Well " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Forest Temple vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Forest Temple First Room Chest " ,                                ( " Chest " ,         0x03 ,   0x03 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple First Stalfos Chest " ,                             ( " Chest " ,         0x03 ,   0x00 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Raised Island Courtyard Chest " ,                   ( " Chest " ,         0x03 ,   0x05 ,  None ,                             ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Map Chest " ,                                       ( " Chest " ,         0x03 ,   0x01 ,  None ,                             ' Map (Forest Temple) ' ,                    ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Well Chest " ,                                      ( " Chest " ,         0x03 ,   0x09 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Eye Switch Chest " ,                                ( " Chest " ,         0x03 ,   0x04 ,  None ,                             ' Arrows (30) ' ,                            ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Boss Key Chest " ,                                  ( " Chest " ,         0x03 ,   0x0E ,  None ,                             ' Boss Key (Forest Temple) ' ,               ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Floormaster Chest " ,                               ( " Chest " ,         0x03 ,   0x02 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Red Poe Chest " ,                                   ( " Chest " ,         0x03 ,   0x0D ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Bow Chest " ,                                       ( " Chest " ,         0x03 ,   0x0C ,  None ,                             ' Bow ' ,                                    ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Blue Poe Chest " ,                                  ( " Chest " ,         0x03 ,   0x0F ,  None ,                             ' Compass (Forest Temple) ' ,                ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Falling Ceiling Room Chest " ,                      ( " Chest " ,         0x03 ,   0x07 ,  None ,                             ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Basement Chest " ,                                  ( " Chest " ,         0x03 ,   0x0B ,  None ,                             ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple GS First Room " ,                                   ( " GS Token " ,      0x03 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple GS Lobby " ,                                        ( " GS Token " ,      0x03 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple GS Raised Island Courtyard " ,                      ( " GS Token " ,      0x03 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple GS Level Island Courtyard " ,                       ( " GS Token " ,      0x03 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple GS Basement " ,                                     ( " GS Token " ,      0x03 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Forest Temple Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Courtyard Recovery Heart 1 " ,                      ( " Freestanding " ,  0x03 ,   ( 8 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Courtyard Recovery Heart 2 " ,                      ( " Freestanding " ,  0x03 ,   ( 8 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Well Recovery Heart 1 " ,                           ( " Freestanding " ,  0x03 ,   ( 9 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Well Recovery Heart 2 " ,                           ( " Freestanding " ,  0x03 ,   ( 9 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Forest Temple Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Right Pot 1 " ,                         ( " Pot " ,           0x03 ,   ( 2 , 0 , 16 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Right Pot 2 " ,                         ( " Pot " ,           0x03 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Right Pot 3 " ,                         ( " Pot " ,           0x03 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Left Pot 1 " ,                          ( " Pot " ,           0x03 ,   ( 2 , 0 , 17 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Left Pot 2 " ,                          ( " Pot " ,           0x03 ,   ( 2 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Center Room Left Pot 3 " ,                          ( " Pot " ,           0x03 ,   ( 2 , 0 , 15 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Lower Stalfos Pot " ,                               ( " Pot " ,           0x03 ,   ( 6 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Forest Temple Lower Stalfos Pot 2",                            ("Pot",          0x03,  (6,0,7), None,                            'Rupees (20)',                           ("Forest Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Upper Stalfos Pot 1 " ,                             ( " Pot " ,           0x03 ,   ( 6 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Upper Stalfos Pot 2 " ,                             ( " Pot " ,           0x03 ,   ( 6 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Upper Stalfos Pot 3 " ,                             ( " Pot " ,           0x03 ,   ( 6 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Upper Stalfos Pot 4 " ,                             ( " Pot " ,           0x03 ,   ( 6 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Blue Poe Room Pot 1 " ,                             ( " Pot " ,           0x03 ,   ( 13 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Blue Poe Room Pot 2 " ,                             ( " Pot " ,           0x03 ,   ( 13 , 0 , 7 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Blue Poe Room Pot 3 " ,                             ( " Pot " ,           0x03 ,   ( 13 , 0 , 8 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Frozen Eye Switch Room Pot 1 " ,                    ( " Pot " ,           0x03 ,   ( 14 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Frozen Eye Switch Room Pot 2 " ,                    ( " Pot " ,           0x03 ,   ( 14 , 0 , 7 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Green Poe Room Pot 1 " ,                            ( " Pot " ,           0x03 ,   ( 16 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple Green Poe Room Pot 2 " ,                            ( " Pot " ,           0x03 ,   ( 16 , 0 , 8 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Forest Temple MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Forest Temple MQ First Room Chest " ,                             ( " Chest " ,         0x03 ,   0x03 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Wolfos Chest " ,                                 ( " Chest " ,         0x03 ,   0x00 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Well Chest " ,                                   ( " Chest " ,         0x03 ,   0x09 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Raised Island Courtyard Lower Chest " ,          ( " Chest " ,         0x03 ,   0x01 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Raised Island Courtyard Upper Chest " ,          ( " Chest " ,         0x03 ,   0x05 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Boss Key Chest " ,                               ( " Chest " ,         0x03 ,   0x0E ,  None ,                             ' Boss Key (Forest Temple) ' ,               ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Redead Chest " ,                                 ( " Chest " ,         0x03 ,   0x02 ,  None ,                             ' Small Key (Forest Temple) ' ,              ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Map Chest " ,                                    ( " Chest " ,         0x03 ,   0x0D ,  None ,                             ' Map (Forest Temple) ' ,                    ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Bow Chest " ,                                    ( " Chest " ,         0x03 ,   0x0C ,  None ,                             ' Bow ' ,                                    ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Compass Chest " ,                                ( " Chest " ,         0x03 ,   0x0F ,  None ,                             ' Compass (Forest Temple) ' ,                ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Falling Ceiling Room Chest " ,                   ( " Chest " ,         0x03 ,   0x06 ,  None ,                             ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Basement Chest " ,                               ( " Chest " ,         0x03 ,   0x0B ,  None ,                             ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ GS First Hallway " ,                             ( " GS Token " ,      0x03 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ GS Raised Island Courtyard " ,                   ( " GS Token " ,      0x03 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ GS Level Island Courtyard " ,                    ( " GS Token " ,      0x03 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ GS Well " ,                                      ( " GS Token " ,      0x03 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ GS Block Push Room " ,                           ( " GS Token " ,      0x03 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Forest Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Forest Temple MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Courtyard Recovery Heart 1 " ,                   ( " Freestanding " ,  0x03 ,   ( 8 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Courtyard Recovery Heart 2 " ,                   ( " Freestanding " ,  0x03 ,   ( 8 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Courtyard Recovery Heart 3 " ,                   ( " Freestanding " ,  0x03 ,   ( 8 , 0 , 13 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Well Recovery Heart 1 " ,                        ( " Freestanding " ,  0x03 ,   ( 9 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Well Recovery Heart 2 " ,                        ( " Freestanding " ,  0x03 ,   ( 9 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Well Recovery Heart 3 " ,                        ( " Freestanding " ,  0x03 ,   ( 9 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Forest Temple MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Right Pot 1 " ,                      ( " Pot " ,           0x03 ,   ( 2 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Right Pot 2 " ,                      ( " Pot " ,           0x03 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Right Pot 3 " ,                      ( " Pot " ,           0x03 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Left Pot 1 " ,                       ( " Pot " ,           0x03 ,   ( 2 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Left Pot 2 " ,                       ( " Pot " ,           0x03 ,   ( 2 , 0 , 13 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Center Room Left Pot 3 " ,                       ( " Pot " ,           0x03 ,   ( 2 , 0 , 15 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Wolfos Room Pot " ,                              ( " Pot " ,           0x03 ,   ( 6 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Forest Temple MQ Wolfos Room Pot 2",                           ("Pot",          0x03,  (6,0,8), None,                         'N/A',                                   ("Forest Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Upper Stalfos Pot 1 " ,                          ( " Pot " ,           0x03 ,   ( 6 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Upper Stalfos Pot 2 " ,                          ( " Pot " ,           0x03 ,   ( 6 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Upper Stalfos Pot 3 " ,                          ( " Pot " ,           0x03 ,   ( 6 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Upper Stalfos Pot 4 " ,                          ( " Pot " ,           0x03 ,   ( 6 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Blue Poe Room Pot 1 " ,                          ( " Pot " ,           0x03 ,   ( 13 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Blue Poe Room Pot 2 " ,                          ( " Pot " ,           0x03 ,   ( 13 , 0 , 7 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Blue Poe Room Pot 3 " ,                          ( " Pot " ,           0x03 ,   ( 13 , 0 , 8 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Green Poe Room Pot 1 " ,                         ( " Pot " ,           0x03 ,   ( 16 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Green Poe Room Pot 2 " ,                         ( " Pot " ,           0x03 ,   ( 16 , 0 , 8 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Basement Pot 1 " ,                               ( " Pot " ,           0x03 ,   ( 17 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Basement Pot 2 " ,                               ( " Pot " ,           0x03 ,   ( 17 , 0 , 13 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Basement Pot 3 " ,                               ( " Pot " ,           0x03 ,   ( 17 , 0 , 14 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Basement Pot 4 " ,                               ( " Pot " ,           0x03 ,   ( 17 , 0 , 15 ) ,  None ,                        ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Frozen Eye Switch Room Small Wooden Crate 1 " ,  ( " SmallCrate " ,    0x03 ,   ( 14 , 0 , 8 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Forest Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Frozen Eye Switch Room Small Wooden Crate 2 " ,  ( " SmallCrate " ,    0x03 ,   ( 14 , 0 , 9 ) ,  None ,                         ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Forest Temple MQ Frozen Eye Switch Room Small Wooden Crate 3 " ,  ( " SmallCrate " ,    0x03 ,   ( 14 , 0 , 10 ) ,  None ,                        ' Arrows (5) ' ,                             ( " Forest Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Forest Temple shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Forest Temple Phantom Ganon Heart " ,                             ( " BossHeart " ,     0x14 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Forest Temple " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Fire Temple Near Boss Chest " ,                                   ( " Chest " ,         0x04 ,   0x01 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flare Dancer Chest " ,                                ( " Chest " ,         0x04 ,   0x00 ,  None ,                             ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Boss Key Chest " ,                                    ( " Chest " ,         0x04 ,   0x0C ,  None ,                             ' Boss Key (Fire Temple) ' ,                 ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Big Lava Room Lower Open Door Chest " ,               ( " Chest " ,         0x04 ,   0x04 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Big Lava Room Blocked Door Chest " ,                  ( " Chest " ,         0x04 ,   0x02 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Boulder Maze Lower Chest " ,                          ( " Chest " ,         0x04 ,   0x03 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Boulder Maze Side Room Chest " ,                      ( " Chest " ,         0x04 ,   0x08 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Map Chest " ,                                         ( " Chest " ,         0x04 ,   0x0A ,  None ,                             ' Map (Fire Temple) ' ,                      ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Boulder Maze Shortcut Chest " ,                       ( " Chest " ,         0x04 ,   0x0B ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Boulder Maze Upper Chest " ,                          ( " Chest " ,         0x04 ,   0x06 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Scarecrow Chest " ,                                   ( " Chest " ,         0x04 ,   0x0D ,  None ,                             ' Rupees (200) ' ,                           ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Compass Chest " ,                                     ( " Chest " ,         0x04 ,   0x07 ,  None ,                             ' Compass (Fire Temple) ' ,                  ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Megaton Hammer Chest " ,                              ( " Chest " ,         0x04 ,   0x05 ,  None ,                             ' Megaton Hammer ' ,                         ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Highest Goron Chest " ,                               ( " Chest " ,         0x04 ,   0x09 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple GS Boss Key Loop " ,                                  ( " GS Token " ,      0x04 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple GS Song of Time Room " ,                              ( " GS Token " ,      0x04 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple GS Boulder Maze " ,                                   ( " GS Token " ,      0x04 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple GS Scarecrow Climb " ,                                ( " GS Token " ,      0x04 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple GS Scarecrow Top " ,                                  ( " GS Token " ,      0x04 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Elevator Room Recovery Heart 1 " ,                    ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Elevator Room Recovery Heart 2 " ,                    ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 8 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Elevator Room Recovery Heart 3 " ,                    ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 9 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Narrow Path Room Recovery Heart 1 " ,                 ( " Freestanding " ,  0x04 ,   ( 6 , 0 , 1 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Narrow Path Room Recovery Heart 2 " ,                 ( " Freestanding " ,  0x04 ,   ( 6 , 0 , 2 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Narrow Path Room Recovery Heart 3 " ,                 ( " Freestanding " ,  0x04 ,   ( 6 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Moving Fire Room Recovery Heart 1 " ,                 ( " Freestanding " ,  0x04 ,   ( 16 , 0 , 8 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Moving Fire Room Recovery Heart 2 " ,                 ( " Freestanding " ,  0x04 ,   ( 16 , 0 , 9 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Moving Fire Room Recovery Heart 3 " ,                 ( " Freestanding " ,  0x04 ,   ( 16 , 0 , 10 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Big Lava Room Pot 1 " ,                               ( " Pot " ,           0x04 ,   ( 1 , 0 , 27 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Big Lava Room Pot 2 " ,                               ( " Pot " ,           0x04 ,   ( 1 , 0 , 28 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Big Lava Room Pot 3 " ,                               ( " Pot " ,           0x04 ,   ( 1 , 0 , 29 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Near Boss Pot 1 " ,                                   ( " Pot " ,           0x04 ,   ( 2 , 0 , 10 ) ,  None ,                         ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Near Boss Pot 2 " ,                                   ( " Pot " ,           0x04 ,   ( 2 , 0 , 11 ) ,  None ,                         ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Right Side Pot 1 " ,                       ( " Pot " ,           0x04 ,   ( 10 , 0 , 52 ) ,  None ,                        ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Right Side Pot 2 " ,                       ( " Pot " ,           0x04 ,   ( 10 , 0 , 53 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Right Side Pot 3 " ,                       ( " Pot " ,           0x04 ,   ( 10 , 0 , 54 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Right Side Pot 4 " ,                       ( " Pot " ,           0x04 ,   ( 10 , 0 , 55 ) ,  None ,                        ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Left Side Pot 1 " ,                        ( " Pot " ,           0x04 ,   ( 10 , 0 , 56 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Left Side Pot 2 " ,                        ( " Pot " ,           0x04 ,   ( 10 , 0 , 57 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Left Side Pot 3 " ,                        ( " Pot " ,           0x04 ,   ( 10 , 0 , 58 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple Flame Maze Left Side Pot 4 " ,                        ( " Pot " ,           0x04 ,   ( 10 , 0 , 59 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Fire Temple MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Map Room Side Chest " ,                            ( " Chest " ,         0x04 ,   0x02 ,  None ,                             ' Hylian Shield ' ,                          ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Megaton Hammer Chest " ,                           ( " Chest " ,         0x04 ,   0x00 ,  None ,                             ' Megaton Hammer ' ,                         ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Map Chest " ,                                      ( " Chest " ,         0x04 ,   0x0C ,  None ,                             ' Map (Fire Temple) ' ,                      ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Chest " ,                                ( " Chest " ,         0x04 ,   0x07 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Big Lava Room Blocked Door Chest " ,               ( " Chest " ,         0x04 ,   0x01 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Boss Key Chest " ,                                 ( " Chest " ,         0x04 ,   0x04 ,  None ,                             ' Boss Key (Fire Temple) ' ,                 ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lizalfos Maze Side Room Chest " ,                  ( " Chest " ,         0x04 ,   0x08 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Compass Chest " ,                                  ( " Chest " ,         0x04 ,   0x0B ,  None ,                             ' Compass (Fire Temple) ' ,                  ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lizalfos Maze Upper Chest " ,                      ( " Chest " ,         0x04 ,   0x06 ,  None ,                             ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lizalfos Maze Lower Chest " ,                      ( " Chest " ,         0x04 ,   0x03 ,  None ,                             ' Bombs (10) ' ,                             ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Freestanding Key " ,                               ( " Collectable " ,   0x04 ,   0x1C ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Chest On Fire " ,                                  ( " Chest " ,         0x04 ,   0x05 ,  None ,                             ' Small Key (Fire Temple) ' ,                ( " Fire Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ GS Big Lava Room Open Door " ,                     ( " GS Token " ,      0x04 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ GS Skull On Fire " ,                               ( " GS Token " ,      0x04 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ GS Flame Maze Center " ,                           ( " GS Token " ,      0x04 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ GS Flame Maze Side Room " ,                        ( " GS Token " ,      0x04 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ GS Above Flame Maze " ,                            ( " GS Token " ,      0x04 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Fire Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Elevator Room Recovery Heart 1 " ,                 ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 3 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Elevator Room Recovery Heart 2 " ,                 ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 4 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Elevator Room Recovery Heart 3 " ,                 ( " Freestanding " ,  0x04 ,   ( 21 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple MQ Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ First Room Pot 1 " ,                               ( " Pot " ,           0x04 ,   ( 0 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ First Room Pot 2 " ,                               ( " Pot " ,           0x04 ,   ( 0 , 0 , 11 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Big Lava Room Left Pot " ,                         ( " Pot " ,           0x04 ,   ( 1 , 0 , 18 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Big Lava Room Right Pot " ,                        ( " Pot " ,           0x04 ,   ( 1 , 0 , 20 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Big Lava Room Alcove Pot " ,                       ( " Pot " ,           0x04 ,   ( 1 , 0 , 19 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Pot 1 " ,                                ( " Pot " ,           0x04 ,   ( 2 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Pot 2 " ,                                ( " Pot " ,           0x04 ,   ( 2 , 0 , 10 ) ,  None ,                         ' Arrows (30) ' ,                            ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Narrow Path Room Pot 1 " ,                         ( " Pot " ,           0x04 ,   ( 6 , 0 , 3 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Narrow Path Room Pot 2 " ,                         ( " Pot " ,           0x04 ,   ( 6 , 0 , 4 ) ,  None ,                          ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Narrow Path Room Pot 3",                        ("Pot",          0x04,  (6,0,2), None,                             'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Flame Maze Right Upper Pot 1 " ,                   ( " Pot " ,           0x04 ,   ( 10 , 0 , 48 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Flame Maze Right Upper Pot 2 " ,                   ( " Pot " ,           0x04 ,   ( 10 , 0 , 49 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Flame Maze Right Pot 1 " ,                         ( " Pot " ,           0x04 ,   ( 10 , 0 , 50 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Flame Maze Right Pot 2 " ,                         ( " Pot " ,           0x04 ,   ( 10 , 0 , 51 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Flame Maze Left Pot 2",                         ("Pot",          0x04,  (10,0,52), None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Flame Maze Left Pot 1 " ,                          ( " Pot " ,           0x04 ,   ( 10 , 0 , 53 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Pot 1 " ,                 ( " Pot " ,           0x04 ,   ( 16 , 0 , 6 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Pot 2 " ,                 ( " Pot " ,           0x04 ,   ( 16 , 0 , 7 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Iron Knuckle Room Pot 1 " ,                        ( " Pot " ,           0x04 ,   ( 18 , 0 , 10 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Iron Knuckle Room Pot 2 " ,                        ( " Pot " ,           0x04 ,   ( 18 , 0 , 12 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Iron Knuckle Room Pot 3 " ,                        ( " Pot " ,           0x04 ,   ( 18 , 0 , 13 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Iron Knuckle Room Pot 4 " ,                        ( " Pot " ,           0x04 ,   ( 18 , 0 , 14 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Iron Knuckle Room Pot 5",                       ("Pot",          0x04,  (18,0,9)0x2F, None,                     'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Iron Knuckle Room Pot 6",                       ("Pot",          0x04,  (18,0,15)0x35, None,                    'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Iron Knuckle Room Pot 7",                       ("Pot",          0x04,  (18,0,16)0x36, None,                    'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Iron Knuckle Room Pot 8",                       ("Pot",          0x04,  (18,0,11)0x31, None,                    'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Boss Key Chest Room Pot " ,                        ( " Pot " ,           0x04 ,   ( 19 , 0 , 15 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Fire Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Boss Key Chest Room Pot 2",                     ("Pot",          0x04,  (19,0,14), None,                        'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Upper Maze Small Wooden Crate 1",               ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Upper Maze Small Wooden Crate 2",               ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 1", ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 2", ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 3", ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 4", ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Fire Temple MQ Shoot Torch On Wall Room Small Wooden Crate 5", ("Pot",          0x04,  0x3F, None,                            'N/A',                                   ("Fire Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Fire Temple MQ Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Left Crate 1 " ,                         ( " Crate " ,         0x04 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Left Crate 2 " ,                         ( " Crate " ,         0x04 ,   ( 2 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Right Lower Crate 1 " ,                  ( " Crate " ,         0x04 ,   ( 2 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Right Lower Crate 2 " ,                  ( " Crate " ,         0x04 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Right Mid Crate " ,                      ( " Crate " ,         0x04 ,   ( 2 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Near Boss Right Upper Crate " ,                    ( " Crate " ,         0x04 ,   ( 2 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 1 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 2 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 3 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 4 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 5 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shortcut Crate 6 " ,                               ( " Crate " ,         0x04 ,   ( 4 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lower Lizalfos Maze Crate 1 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 28 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lower Lizalfos Maze Crate 2 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 29 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Lower Lizalfos Maze Crate 3 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 30 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Upper Lizalfos Maze Crate 1 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 25 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Upper Lizalfos Maze Crate 2 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 26 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Upper Lizalfos Maze Crate 3 " ,                    ( " Crate " ,         0x04 ,   ( 5 , 0 , 27 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Right Crate 1 " ,         ( " Crate " ,         0x04 ,   ( 16 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Right Crate 2 " ,         ( " Crate " ,         0x04 ,   ( 16 , 0 , 13 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Center Crate " ,          ( " Crate " ,         0x04 ,   ( 16 , 0 , 10 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Left Crate 1 " ,          ( " Crate " ,         0x04 ,   ( 16 , 0 , 12 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fire Temple MQ Shoot Torch On Wall Room Left Crate 2 " ,          ( " Crate " ,         0x04 ,   ( 16 , 0 , 9 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Fire Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Fire Temple shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Fire Temple Volvagia Heart " ,                                    ( " BossHeart " ,     0x15 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Fire Temple " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Water Temple vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Water Temple Compass Chest " ,                                    ( " Chest " ,         0x05 ,   0x09 ,  None ,                             ' Compass (Water Temple) ' ,                 ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Map Chest " ,                                        ( " Chest " ,         0x05 ,   0x02 ,  None ,                             ' Map (Water Temple) ' ,                     ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Cracked Wall Chest " ,                               ( " Chest " ,         0x05 ,   0x00 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Torches Chest " ,                                    ( " Chest " ,         0x05 ,   0x01 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Boss Key Chest " ,                                   ( " Chest " ,         0x05 ,   0x05 ,  None ,                             ' Boss Key (Water Temple) ' ,                ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Central Pillar Chest " ,                             ( " Chest " ,         0x05 ,   0x06 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Central Bow Target Chest " ,                         ( " Chest " ,         0x05 ,   0x08 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Longshot Chest " ,                                   ( " Chest " ,         0x05 ,   0x07 ,  None ,                             ' Progressive Hookshot ' ,                   ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Chest " ,                                      ( " Chest " ,         0x05 ,   0x03 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Dragon Chest " ,                                     ( " Chest " ,         0x05 ,   0x0A ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple GS Behind Gate " ,                                   ( " GS Token " ,      0x05 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple GS Near Boss Key Chest " ,                           ( " GS Token " ,      0x05 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple GS Central Pillar " ,                                ( " GS Token " ,      0x05 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple GS Falling Platform Room " ,                         ( " GS Token " ,      0x05 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple GS River " ,                                         ( " GS Token " ,      0x05 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Water Temple Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Recovery Heart 1 " ,                           ( " Freestanding " ,  0x05 ,   ( 21 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Recovery Heart 2 " ,                           ( " Freestanding " ,  0x05 ,   ( 21 , 0 , 13 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Recovery Heart 3 " ,                           ( " Freestanding " ,  0x05 ,   ( 21 , 0 , 16 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Recovery Heart 4 " ,                           ( " Freestanding " ,  0x05 ,   ( 21 , 0 , 17 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Water Temple Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Main Room L2 Pot 1 " ,                               ( " Pot " ,           0x05 ,   ( 0 , 0 , 24 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Main Room L2 Pot 2 " ,                               ( " Pot " ,           0x05 ,   ( 0 , 0 , 25 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Behind Gate Pot 1 " ,                                ( " Pot " ,           0x05 ,   ( 3 , 0 , 10 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Behind Gate Pot 2 " ,                                ( " Pot " ,           0x05 ,   ( 3 , 0 , 11 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Behind Gate Pot 3 " ,                                ( " Pot " ,           0x05 ,   ( 3 , 0 , 14 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Behind Gate Pot 4 " ,                                ( " Pot " ,           0x05 ,   ( 3 , 0 , 15 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Near Compass Pot 1 " ,                               ( " Pot " ,           0x05 ,   ( 4 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Near Compass Pot 2 " ,                               ( " Pot " ,           0x05 ,   ( 4 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Near Compass Pot 3 " ,                               ( " Pot " ,           0x05 ,   ( 4 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Like Like Pot 1 " ,                                  ( " Pot " ,           0x05 ,   ( 6 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Like Like Pot 2 " ,                                  ( " Pot " ,           0x05 ,   ( 6 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple North Basement Block Puzzle Pot 1 " ,                ( " Pot " ,           0x05 ,   ( 14 , 0 , 12 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple North Basement Block Puzzle Pot 2 " ,                ( " Pot " ,           0x05 ,   ( 14 , 0 , 13 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Temple Boss Key Pot 1",                                  ("Pot",          0x05,  0x3D, None,                             'Recovery Heart',                       ("Water Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Temple Boss Key Pot 2",                                  ("Pot",          0x05,  0x3E, None,                             'Recovery Heart',                       ("Water Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple L1 Torch Pot 1 " ,                                   ( " Pot " ,           0x05 ,   ( 17 , 0 , 8 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple L1 Torch Pot 2 " ,                                   ( " Pot " ,           0x05 ,   ( 17 , 0 , 9 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple River Pot 1 " ,                                      ( " Pot " ,           0x05 ,   ( 21 , 0 , 14 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Temple River Pot 2",                                     ("Pot",          0x05,  (21,0,15), None,                         'Recovery Heart',                       ("Water Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Central Bow Target Pot 1 " ,                         ( " Pot " ,           0x05 ,   ( 20 , 0 , 4 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple Central Bow Target Pot 2 " ,                         ( " Pot " ,           0x05 ,   ( 20 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Water Temple MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Water Temple MQ Longshot Chest " ,                                ( " Chest " ,         0x05 ,   0x00 ,  None ,                             ' Progressive Hookshot ' ,                   ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Map Chest " ,                                     ( " Chest " ,         0x05 ,   0x02 ,  None ,                             ' Map (Water Temple) ' ,                     ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Compass Chest " ,                                 ( " Chest " ,         0x05 ,   0x01 ,  None ,                             ' Compass (Water Temple) ' ,                 ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Chest " ,                          ( " Chest " ,         0x05 ,   0x06 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest " ,                                ( " Chest " ,         0x05 ,   0x05 ,  None ,                             ' Boss Key (Water Temple) ' ,                ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key " ,                              ( " Collectable " ,   0x05 ,   0x01 ,  None ,                             ' Small Key (Water Temple) ' ,               ( " Water Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ GS Lizalfos Hallway " ,                           ( " GS Token " ,      0x05 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ GS Before Upper Water Switch " ,                  ( " GS Token " ,      0x05 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ GS River " ,                                      ( " GS Token " ,      0x05 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ GS Freestanding Key Area " ,                      ( " GS Token " ,      0x05 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ GS Triple Wall Torch " ,                          ( " GS Token " ,      0x05 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Water Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Water Temple MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Pot 1 " ,                       ( " Pot " ,           0x05 ,   ( 3 , 0 , 20 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Pot 2 " ,                       ( " Pot " ,           0x05 ,   ( 3 , 0 , 21 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Pot 3 " ,                       ( " Pot " ,           0x05 ,   ( 3 , 0 , 26 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Pot 4 " ,                       ( " Pot " ,           0x05 ,   ( 3 , 0 , 27 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Pot 1 " ,                            ( " Pot " ,           0x05 ,   ( 4 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Pot 2 " ,                            ( " Pot " ,           0x05 ,   ( 4 , 0 , 15 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Pot 3 " ,                            ( " Pot " ,           0x05 ,   ( 4 , 0 , 16 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Dark Link Top Pot 1 " ,                    ( " Pot " ,           0x05 ,   ( 6 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Dark Link Top Pot 2 " ,                    ( " Pot " ,           0x05 ,   ( 6 , 0 , 9 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Dark Link Lower Pot " ,                    ( " Pot " ,           0x05 ,   ( 6 , 0 , 10 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Tempe MQ Before Dark Link Lower Pot 2",                  ("Pot",          0x05,  (6,0,11), None,                            'N/A',                                   ("Water Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Tempe MQ Before Dark Link Lower Pot 3",                  ("Pot",          0x05,  (6,0,12), None,                            'N/A',                                   ("Water Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Room After Dark Link Pot " ,                      ( " Pot " ,           0x05 ,   ( 7 , 0 , 3 ) ,  None ,                          ' Arrows (30) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Tempe MQ Room After Dark Link Pot 2",                    ("Pot",          0x05,  (7,0,4), None,                            'N/A',                                   ("Water Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Pot " ,                       ( " Pot " ,           0x05 ,   ( 9 , 0 , 16 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Pot 1 " ,               ( " Pot " ,           0x05 ,   ( 10 , 0 , 18 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Pot 2 " ,               ( " Pot " ,           0x05 ,   ( 10 , 0 , 19 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Pot 3 " ,               ( " Pot " ,           0x05 ,   ( 10 , 0 , 20 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Pot 1 " ,                            ( " Pot " ,           0x05 ,   ( 14 , 0 , 15 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Pot 2 " ,                            ( " Pot " ,           0x05 ,   ( 14 , 0 , 16 ) ,  None ,                        ' Bombs (5) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Pot " ,                     ( " Pot " ,           0x05 ,   ( 16 , 0 , 10 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Temple MQ Freestanding Item Room Pot 2",                 ("Pot",          0x05,  (16,0,9), None,                            'N/A',                                   ("Water Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ L1 Torch Pot 1 " ,                                ( " Pot " ,           0x05 ,   ( 17 , 0 , 14 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ L1 Torch Pot 2 " ,                                ( " Pot " ,           0x05 ,   ( 17 , 0 , 15 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Pot 1 " ,                        ( " Pot " ,           0x05 ,   ( 20 , 0 , 18 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Pot 2 " ,                        ( " Pot " ,           0x05 ,   ( 20 , 0 , 19 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Pot 3 " ,                        ( " Pot " ,           0x05 ,   ( 20 , 0 , 20 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Gate Pot 1 " ,                   ( " Pot " ,           0x05 ,   ( 20 , 0 , 21 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Gate Pot 2 " ,                   ( " Pot " ,           0x05 ,   ( 20 , 0 , 22 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ River Pot " ,                                     ( " Pot " ,           0x05 ,   ( 21 , 0 , 19 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Water Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Water Temple MQ River Pot 2",                                  ("Pot",          0x05,  (21,0,20), None,                            'N/A',                                   ("Water Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Water Temple MQ Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Upper Crate 1 " ,                  ( " Crate " ,         0x05 ,   ( 1 , 0 , 4 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Upper Crate 2 " ,                  ( " Crate " ,         0x05 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 1 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 2 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 3 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 4 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 5 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 6 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 7 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 8 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 17 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 9 " ,                  ( " Crate " ,         0x05 ,   ( 2 , 0 , 18 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 10 " ,                 ( " Crate " ,         0x05 ,   ( 2 , 0 , 19 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 11 " ,                 ( " Crate " ,         0x05 ,   ( 2 , 0 , 20 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 12 " ,                 ( " Crate " ,         0x05 ,   ( 2 , 0 , 21 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 13 " ,                 ( " Crate " ,         0x05 ,   ( 2 , 0 , 22 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Central Pillar Lower Crate 14 " ,                 ( " Crate " ,         0x05 ,   ( 2 , 0 , 23 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 1 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 2 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 3 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 4 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 5 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Submerged Crate 6 " ,           ( " Crate " ,         0x05 ,   ( 3 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Behind Gate Crate 1 " ,         ( " Crate " ,         0x05 ,   ( 3 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Behind Gate Crate 2 " ,         ( " Crate " ,         0x05 ,   ( 3 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Triple Wall Torch Behind Gate Crate 3 " ,         ( " Crate " ,         0x05 ,   ( 3 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 1 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 2 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 4 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 3 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 4 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 5 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 7 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 6 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 8 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Storage Room Crate 7 " ,                          ( " Crate " ,         0x05 ,   ( 4 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue By Torches Crate 1 " ,              ( " Crate " ,         0x05 ,   ( 8 , 0 , 9 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue By Torches Crate 2 " ,              ( " Crate " ,         0x05 ,   ( 8 , 0 , 10 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Submerged Crate 1 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Submerged Crate 2 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 14 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Submerged Crate 3 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 15 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Submerged Crate 4 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 16 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Near Door Crate 1 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 11 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dragon Statue Near Door Crate 2 " ,               ( " Crate " ,         0x05 ,   ( 8 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Upper Crate " ,               ( " Crate " ,         0x05 ,   ( 9 , 0 , 3 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Lower Crate 1 " ,             ( " Crate " ,         0x05 ,   ( 9 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Lower Crate 2 " ,             ( " Crate " ,         0x05 ,   ( 9 , 0 , 4 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Lower Crate 3 " ,             ( " Crate " ,         0x05 ,   ( 9 , 0 , 5 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Boss Key Chest Room Lower Crate 4 " ,             ( " Crate " ,         0x05 ,   ( 9 , 0 , 6 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 1 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 4 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 2 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 5 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 3 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 6 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 4 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 7 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 5 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 8 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Lower Crate 6 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Upper Crate 1 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 9 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Before Upper Water Switch Upper Crate 2 " ,       ( " Crate " ,         0x05 ,   ( 10 , 0 , 10 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Behind Gate Crate 1 " ,     ( " Crate " ,         0x05 ,   ( 12 , 0 , 10 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Behind Gate Crate 2 " ,     ( " Crate " ,         0x05 ,   ( 12 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Behind Gate Crate 3 " ,     ( " Crate " ,         0x05 ,   ( 12 , 0 , 12 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Behind Gate Crate 4 " ,     ( " Crate " ,         0x05 ,   ( 12 , 0 , 13 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Front Crate 1 " ,           ( " Crate " ,         0x05 ,   ( 12 , 0 , 14 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Front Crate 2 " ,           ( " Crate " ,         0x05 ,   ( 12 , 0 , 15 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 1 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 16 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 2 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 17 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 3 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 18 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 4 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 19 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 5 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 20 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Area Submerged Crate 6 " ,       ( " Crate " ,         0x05 ,   ( 12 , 0 , 21 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Lower Crate 1 " ,                    ( " Crate " ,         0x05 ,   ( 14 , 0 , 9 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Lower Crate 2 " ,                    ( " Crate " ,         0x05 ,   ( 14 , 0 , 10 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Lower Crate 3 " ,                    ( " Crate " ,         0x05 ,   ( 14 , 0 , 13 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Upper Crate " ,                      ( " Crate " ,         0x05 ,   ( 14 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Dodongo Room Hall Crate " ,                       ( " Crate " ,         0x05 ,   ( 14 , 0 , 12 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Crate 1 " ,                 ( " Crate " ,         0x05 ,   ( 16 , 0 , 3 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Crate 2 " ,                 ( " Crate " ,         0x05 ,   ( 16 , 0 , 4 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Crate 3 " ,                 ( " Crate " ,         0x05 ,   ( 16 , 0 , 5 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Crate 4 " ,                 ( " Crate " ,         0x05 ,   ( 16 , 0 , 6 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Freestanding Key Room Crate 5 " ,                 ( " Crate " ,         0x05 ,   ( 16 , 0 , 7 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Gate Crate 1 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 5 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Gate Crate 2 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 6 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Room Crate 1 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 7 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Room Crate 2 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 8 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Room Crate 3 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 9 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Room Crate 4 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 10 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Room Crate 5 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 11 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Hall Crate 1 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 12 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Hall Crate 2 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 13 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Water Temple MQ Lizalfos Hallway Hall Crate 3 " ,                 ( " Crate " ,         0x05 ,   ( 20 , 0 , 14 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Water Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Water Temple shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Water Temple Morpha Heart " ,                                     ( " BossHeart " ,     0x16 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Water Temple " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Shadow Temple Map Chest " ,                                       ( " Chest " ,         0x07 ,   0x01 ,  None ,                             ' Map (Shadow Temple) ' ,                    ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Hover Boots Chest " ,                               ( " Chest " ,         0x07 ,   0x07 ,  None ,                             ' Hover Boots ' ,                            ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Compass Chest " ,                                   ( " Chest " ,         0x07 ,   0x03 ,  None ,                             ' Compass (Shadow Temple) ' ,                ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Early Silver Rupee Chest " ,                        ( " Chest " ,         0x07 ,   0x02 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Blades Visible Chest " ,                  ( " Chest " ,         0x07 ,   0x0C ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Blades Invisible Chest " ,                ( " Chest " ,         0x07 ,   0x16 ,  None ,                             ' Arrows (30) ' ,                            ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Lower Chest " ,                      ( " Chest " ,         0x07 ,   0x05 ,  None ,                             ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Upper Chest " ,                      ( " Chest " ,         0x07 ,   0x06 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Switch Chest " ,                     ( " Chest " ,         0x07 ,   0x04 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Spikes Chest " ,                          ( " Chest " ,         0x07 ,   0x09 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Freestanding Key " ,                                ( " Collectable " ,   0x07 ,   0x01 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Wind Hint Chest " ,                                 ( " Chest " ,         0x07 ,   0x15 ,  None ,                             ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Enemy Chest " ,                          ( " Chest " ,         0x07 ,   0x08 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Hidden Chest " ,                         ( " Chest " ,         0x07 ,   0x14 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Spike Walls Left Chest " ,                          ( " Chest " ,         0x07 ,   0x0A ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Boss Key Chest " ,                                  ( " Chest " ,         0x07 ,   0x0B ,  None ,                             ' Boss Key (Shadow Temple) ' ,               ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Floormaster Chest " ,                     ( " Chest " ,         0x07 ,   0x0D ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple GS Invisible Blades Room " ,                        ( " GS Token " ,      0x07 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple GS Falling Spikes Room " ,                          ( " GS Token " ,      0x07 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple GS Single Giant Pot " ,                             ( " GS Token " ,      0x07 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple GS Near Ship " ,                                    ( " GS Token " ,      0x07 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple GS Triple Giant Pot " ,                             ( " GS Token " ,      0x07 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Blades Recovery Heart 1 " ,               ( " Freestanding " ,  0x07 ,   ( 16 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Blades Recovery Heart 2 " ,               ( " Freestanding " ,  0x07 ,   ( 16 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Before Boat Recovery Heart 1 " ,                    ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Before Boat Recovery Heart 2 " ,                    ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 8 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Boat Upper Recovery Heart 1 " ,               ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 9 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Boat Upper Recovery Heart 2 " ,               ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 10 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Boat Lower Recovery Heart " ,                 ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 1 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 20 ) ,  ( [ 0x280D0D4 ,  0x280D0E4 ,  0x280D0F4 ] ,  None ) ,  ' Rupee (1) ' ,                    ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 2 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 21 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 3 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 22 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 4 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 23 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 5 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 24 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 6 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 25 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 7 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 26 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 8 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 27 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple 3 Spinning Pots Rupee 9 " ,                         ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 28 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #Shadow Temple Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Near Dead Hand Pot " ,             ( " Pot " ,           0x07 ,   ( 0 , 0 , 1 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Left Pot 1 " ,                     ( " Pot " ,           0x07 ,   ( 0 , 0 , 2 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Left Pot 2 " ,                     ( " Pot " ,           0x07 ,   ( 0 , 0 , 3 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Left Pot 3 " ,                     ( " Pot " ,           0x07 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Front Pot 1 " ,                    ( " Pot " ,           0x07 ,   ( 0 , 0 , 5 ) ,  None ,                          ' Deku Nuts (5) ' ,                          ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Front Pot 2 " ,                    ( " Pot " ,           0x07 ,   ( 0 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Whispering Walls Flying Pot " ,                     ( " FlyingPot " ,     0x07 ,   ( 0 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Map Chest Room Pot 1 " ,                            ( " Pot " ,           0x07 ,   ( 1 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Map Chest Room Pot 2 " ,                            ( " Pot " ,           0x07 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Lower Pot 2 " ,                      ( " Pot " ,           0x07 ,   ( 10 , 0 , 4 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Lower Pot 1 " ,                      ( " Pot " ,           0x07 ,   ( 10 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Upper Pot 1 " ,                      ( " Pot " ,           0x07 ,   ( 10 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Falling Spikes Upper Pot 2 " ,                      ( " Pot " ,           0x07 ,   ( 10 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Spike Walls Pot " ,                                 ( " Pot " ,           0x07 ,   ( 13 , 0 , 3 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Floormaster Pot 1 " ,                     ( " Pot " ,           0x07 ,   ( 17 , 0 , 2 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Invisible Floormaster Pot 2 " ,                     ( " Pot " ,           0x07 ,   ( 17 , 0 , 3 ) ,  None ,                         ' Arrows (30) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Pot 1 " ,                                ( " Pot " ,           0x07 ,   ( 20 , 0 , 3 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Pot 2 " ,                                ( " Pot " ,           0x07 ,   ( 20 , 0 , 4 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Flying Pot 1 " ,                         ( " FlyingPot " ,     0x07 ,   ( 20 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Wind Flying Pot 2 " ,                         ( " FlyingPot " ,     0x07 ,   ( 20 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple After Boat Pot " ,                                  ( " Pot " ,           0x07 ,   ( 21 , 0 , 17 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Shadow Temple After Boat Pot 2"                                ("Pot",          0x07,  (21,0,18), None,                        'Recovery Heart',                        ("Shadow Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Near Boss Pot 1 " ,                                 ( " Pot " ,           0x07 ,   ( 21 , 0 , 19 ) ,  None ,                        ' Arrows (30) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple Near Boss Pot 2 " ,                                 ( " Pot " ,           0x07 ,   ( 21 , 0 , 20 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Early Gibdos Chest " ,                           ( " Chest " ,         0x07 ,   0x03 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Map Chest " ,                                    ( " Chest " ,         0x07 ,   0x02 ,  None ,                             ' Map (Shadow Temple) ' ,                    ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Near Ship Invisible Chest " ,                    ( " Chest " ,         0x07 ,   0x0E ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Compass Chest " ,                                ( " Chest " ,         0x07 ,   0x01 ,  None ,                             ' Compass (Shadow Temple) ' ,                ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Hover Boots Chest " ,                            ( " Chest " ,         0x07 ,   0x07 ,  None ,                             ' Hover Boots ' ,                            ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Invisible Blades Invisible Chest " ,             ( " Chest " ,         0x07 ,   0x16 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Invisible Blades Visible Chest " ,               ( " Chest " ,         0x07 ,   0x0C ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Beamos Silver Rupees Chest " ,                   ( " Chest " ,         0x07 ,   0x0F ,  None ,                             ' Arrows (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Lower Chest " ,                   ( " Chest " ,         0x07 ,   0x05 ,  None ,                             ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Upper Chest " ,                   ( " Chest " ,         0x07 ,   0x06 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Switch Chest " ,                  ( " Chest " ,         0x07 ,   0x04 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Invisible Spikes Chest " ,                       ( " Chest " ,         0x07 ,   0x09 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Stalfos Room Chest " ,                           ( " Chest " ,         0x07 ,   0x10 ,  None ,                             ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Wind Hint Chest " ,                              ( " Chest " ,         0x07 ,   0x15 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Hidden Chest " ,                      ( " Chest " ,         0x07 ,   0x14 ,  None ,                             ' Arrows (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Enemy Chest " ,                       ( " Chest " ,         0x07 ,   0x08 ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Boss Key Chest " ,                               ( " Chest " ,         0x07 ,   0x0B ,  None ,                             ' Boss Key (Shadow Temple) ' ,               ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Spike Walls Left Chest " ,                       ( " Chest " ,         0x07 ,   0x0A ,  None ,                             ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Freestanding Key " ,                             ( " Collectable " ,   0x07 ,   0x06 ,  None ,                             ' Small Key (Shadow Temple) ' ,              ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Bomb Flower Chest " ,                            ( " Chest " ,         0x07 ,   0x0D ,  None ,                             ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ GS Falling Spikes Room " ,                       ( " GS Token " ,      0x07 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ GS Wind Hint Room " ,                            ( " GS Token " ,      0x07 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ GS After Wind " ,                                ( " GS Token " ,      0x07 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ GS After Ship " ,                                ( " GS Token " ,      0x07 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ GS Near Boss " ,                                 ( " GS Token " ,      0x07 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Shadow Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Invisible Blades Recovery Heart 1 " ,            ( " Freestanding " ,  0x07 ,   ( 16 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Invisible Blades Recovery Heart 2 " ,            ( " Freestanding " ,  0x07 ,   ( 16 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Before Boat Recovery Heart 1 " ,                 ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 10 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Before Boat Recovery Heart 2 " ,                 ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Boat Upper Recovery Heart 1 " ,            ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Boat Upper Recovery Heart 2 " ,            ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 13 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Boat Lower Recovery Heart " ,              ( " Freestanding " ,  0x07 ,   ( 21 , 0 , 14 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 1 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 20 ) ,  ( [ 0x28127b8 ,  0x28127c8 ,  0x28127d8 ] ,  None ) ,  ' Rupee (1) ' ,                    ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 2 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 21 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 3 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 22 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 4 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 23 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 5 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 24 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 6 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 25 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 7 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 26 ) ,  None ,                        ' Rupee (1) ' ,                              ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 8 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 27 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ 3 Spinning Pots Rupee 9 " ,                      ( " RupeeTower " ,    0x07 ,   ( 12 , 0 , 28 ) ,  None ,                        ' Rupees (20) ' ,                            ( " Shadow Temple " ,  " Vanilla " ,  " RupeeTower " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple MQ Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls Pot 1 " ,                       ( " Pot " ,          0x07 ,    ( 0 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls Pot 2 " ,                       ( " Pot " ,          0x07 ,    ( 0 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls After Time Block Flying Pot 1 " , ( " FlyingPot " ,   0x07 ,   ( 0 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls After Time Block Flying Pot 2 " , ( " FlyingPot " ,   0x07 ,   ( 0 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls Before Time Block Flying Pot 1 " , ( " FlyingPot " ,   0x07 ,  ( 0 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Whispering Walls Before Time Block Flying Pot 2 " , ( " FlyingPot " ,   0x07 ,  ( 0 , 0 , 10 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Compass Room Pot 1 " ,                           ( " Pot " ,           0x07 ,   ( 1 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Compass Room Pot 2 " ,                           ( " Pot " ,           0x07 ,   ( 1 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Lower Pot 1 " ,                   ( " Pot " ,           0x07 ,   ( 10 , 0 , 4 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Lower Pot 2 " ,                   ( " Pot " ,           0x07 ,   ( 10 , 0 , 5 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Upper Pot 1 " ,                   ( " Pot " ,           0x07 ,   ( 10 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Falling Spikes Upper Pot 2 " ,                   ( " Pot " ,           0x07 ,   ( 10 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Pot 1 " ,                             ( " Pot " ,           0x07 ,   ( 20 , 0 , 4 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Pot 2 " ,                             ( " Pot " ,           0x07 ,   ( 20 , 0 , 5 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Flying Pot 1 " ,                      ( " FlyingPot " ,     0x07 ,   ( 20 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Wind Flying Pot 2 " ,                      ( " FlyingPot " ,     0x07 ,   ( 20 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Boat Pot 1 " ,                             ( " Pot " ,           0x07 ,   ( 21 , 0 , 20 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ After Boat Pot 2 " ,                             ( " Pot " ,           0x07 ,   ( 21 , 0 , 21 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Near Boss Pot 1 " ,                              ( " Pot " ,           0x07 ,   ( 21 , 0 , 22 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Near Boss Pot 2 " ,                              ( " Pot " ,           0x07 ,   ( 21 , 0 , 23 ) ,  None ,                        ' Arrows (30) ' ,                            ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Bomb Flower Room Pot 1 " ,                       ( " Pot " ,           0x07 ,   ( 17 , 0 , 2 ) ,  None ,                         ' Arrows (30) ' ,                            ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Bomb Flower Room Pot 2 " ,                       ( " Pot " ,           0x07 ,   ( 17 , 0 , 3 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Spike Walls Pot " ,                              ( " Pot " ,           0x07 ,   ( 13 , 0 , 9 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Truth Spinner Small Wooden Crate 1 " ,           ( " SmallCrate " ,    0x07 ,   ( 2 , 0 , 16 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Shadow Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Truth Spinner Small Wooden Crate 2 " ,           ( " SmallCrate " ,    0x07 ,   ( 2 , 0 , 17 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Shadow Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Truth Spinner Small Wooden Crate 3 " ,           ( " SmallCrate " ,    0x07 ,   ( 2 , 0 , 18 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Shadow Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Shadow Temple MQ Truth Spinner Small Wooden Crate 4 " ,           ( " SmallCrate " ,    0x07 ,   ( 2 , 0 , 19 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Shadow Temple " ,  " Master Quest " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Shadow Temple shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Shadow Temple Bongo Bongo Heart " ,                               ( " BossHeart " ,     0x18 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Shadow Temple " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Spirit Temple shared 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Vanilla and MQ locations are mixed to ensure the positions of Silver Gauntlets/Mirror Shield chests are correct for both versions 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Bridge Chest " ,                              ( " Chest " ,         0x06 ,   0x08 ,  None ,                             ' Deku Shield ' ,                            ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Early Torches Chest " ,                       ( " Chest " ,         0x06 ,   0x00 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Climb North Chest " ,                         ( " Chest " ,         0x06 ,   0x06 ,  None ,                             ' Bombchus (10) ' ,                          ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Climb East Chest " ,                          ( " Chest " ,         0x06 ,   0x0C ,  None ,                             ' Deku Shield ' ,                            ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Map Chest " ,                                       ( " Chest " ,         0x06 ,   0x03 ,  None ,                             ' Map (Spirit Temple) ' ,                    ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Sun Block Room Chest " ,                            ( " Chest " ,         0x06 ,   0x01 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Entrance Front Left Chest " ,                    ( " Chest " ,         0x06 ,   0x1A ,  None ,                             ' Bombchus (10) ' ,                          ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Entrance Back Right Chest " ,                    ( " Chest " ,         0x06 ,   0x1F ,  None ,                             ' Bombchus (10) ' ,                          ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Entrance Front Right Chest " ,                   ( " Chest " ,         0x06 ,   0x1B ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Entrance Back Left Chest " ,                     ( " Chest " ,         0x06 ,   0x1E ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Map Chest " ,                                    ( " Chest " ,         0x06 ,   0x00 ,  None ,                             ' Map (Spirit Temple) ' ,                    ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Map Room Enemy Chest " ,                         ( " Chest " ,         0x06 ,   0x08 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Climb North Chest " ,                      ( " Chest " ,         0x06 ,   0x06 ,  None ,                             ' Bombchus (10) ' ,                          ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Climb South Chest " ,                      ( " Chest " ,         0x06 ,   0x0C ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Compass Chest " ,                                ( " Chest " ,         0x06 ,   0x03 ,  None ,                             ' Compass (Spirit Temple) ' ,                ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Silver Block Hallway Chest " ,                   ( " Chest " ,         0x06 ,   0x1C ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Sun Block Room Chest " ,                         ( " Chest " ,         0x06 ,   0x01 ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Silver Gauntlets Chest " ,                          ( " Chest " ,         0x5C ,   0x0B ,  None ,                             ' Progressive Strength Upgrade ' ,           ( " Spirit Temple " ,  " Vanilla " ,  " Master Quest " ,  " Desert Colossus " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Compass Chest " ,                                   ( " Chest " ,         0x06 ,   0x04 ,  None ,                             ' Compass (Spirit Temple) ' ,                ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Early Adult Right Chest " ,                         ( " Chest " ,         0x06 ,   0x07 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple First Mirror Left Chest " ,                         ( " Chest " ,         0x06 ,   0x0D ,  None ,                             ' Ice Trap ' ,                               ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple First Mirror Right Chest " ,                        ( " Chest " ,         0x06 ,   0x0E ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Statue Room Northeast Chest " ,                     ( " Chest " ,         0x06 ,   0x0F ,  None ,                             ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Statue Room Hand Chest " ,                          ( " Chest " ,         0x06 ,   0x02 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Near Four Armos Chest " ,                           ( " Chest " ,         0x06 ,   0x05 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Hallway Right Invisible Chest " ,                   ( " Chest " ,         0x06 ,   0x14 ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Hallway Left Invisible Chest " ,                    ( " Chest " ,         0x06 ,   0x15 ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Hammer Switch Chest " ,                    ( " Chest " ,         0x06 ,   0x1D ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Statue Room Lullaby Chest " ,                    ( " Chest " ,         0x06 ,   0x0F ,  None ,                             ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Statue Room Invisible Chest " ,                  ( " Chest " ,         0x06 ,   0x02 ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Leever Room Chest " ,                            ( " Chest " ,         0x06 ,   0x04 ,  None ,                             ' Rupees (50) ' ,                            ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Symphony Room Chest " ,                          ( " Chest " ,         0x06 ,   0x07 ,  None ,                             ' Rupees (50) ' ,                            ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Beamos Room Chest " ,                            ( " Chest " ,         0x06 ,   0x19 ,  None ,                             ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Chest Switch Chest " ,                           ( " Chest " ,         0x06 ,   0x18 ,  None ,                             ' Ice Trap ' ,                               ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Boss Key Chest " ,                               ( " Chest " ,         0x06 ,   0x05 ,  None ,                             ' Boss Key (Spirit Temple) ' ,               ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Mirror Shield Chest " ,                             ( " Chest " ,         0x5C ,   0x09 ,  None ,                             ' Mirror Shield ' ,                          ( " Spirit Temple " ,  " Vanilla " ,  " Master Quest " ,  " Desert Colossus " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Boss Key Chest " ,                                  ( " Chest " ,         0x06 ,   0x0A ,  None ,                             ' Boss Key (Spirit Temple) ' ,               ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Topmost Chest " ,                                   ( " Chest " ,         0x06 ,   0x12 ,  None ,                             ' Bombs (20) ' ,                             ( " Spirit Temple " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Mirror Puzzle Invisible Chest " ,                ( " Chest " ,         0x06 ,   0x12 ,  None ,                             ' Small Key (Spirit Temple) ' ,              ( " Spirit Temple " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple GS Metal Fence " ,                                  ( " GS Token " ,      0x06 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple GS Sun on Floor Room " ,                            ( " GS Token " ,      0x06 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple GS Hall After Sun Block Room " ,                    ( " GS Token " ,      0x06 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple GS Lobby " ,                                        ( " GS Token " ,      0x06 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple GS Boulder Room " ,                                 ( " GS Token " ,      0x06 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ GS Sun Block Room " ,                            ( " GS Token " ,      0x06 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ GS Leever Room " ,                               ( " GS Token " ,      0x06 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ GS Symphony Room " ,                             ( " GS Token " ,      0x06 ,   0x08 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ GS Nine Thrones Room West " ,                    ( " GS Token " ,      0x06 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ GS Nine Thrones Room North " ,                   ( " GS Token " ,      0x06 ,   0x10 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Spirit Temple " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Twinrova Heart " ,                                  ( " BossHeart " ,     0x17 ,   0x4F ,  None ,                             ' Heart Container ' ,                        ( " Spirit Temple " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Spirit Temple Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Shifting Wall Recovery Heart 1 " ,                  ( " Freestanding " ,  0x06 ,   ( 23 , 0 , 3 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Shifting Wall Recovery Heart 2 " ,                  ( " Freestanding " ,  0x06 ,   ( 23 , 0 , 4 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Recovery Heart 1 " ,                       ( " Freestanding " ,  0x06 ,   ( 1 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Recovery Heart 2 " ,                       ( " Freestanding " ,  0x06 ,   ( 1 , 0 , 15 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Spirit Temple Vanilla Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Lobby Pot 1 " ,                                     ( " Pot " ,           0x06 ,   ( 0 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Lobby Pot 2 " ,                                     ( " Pot " ,           0x06 ,   ( 0 , 0 , 12 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Lobby Flying Pot 1 " ,                              ( " FlyingPot " ,     0x06 ,   ( 0 , 0 , 13 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Lobby Flying Pot 2 " ,                              ( " FlyingPot " ,     0x06 ,   ( 0 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Climb Pot " ,                                 ( " Pot " ,           0x06 ,   ( 4 , 0 , 11 ) ,  None ,                         ' Deku Seeds (30) ' ,                        ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 1",                              ("Pot",          0x06,  0x24, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 2",                              ("Pot",          0x06,  0x25, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 3",                              ("Pot",          0x06,  0x26, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 4",                              ("Pot",          0x06,  0x27, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 5",                              ("Pot",          0x06,  0x28, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Statue Room Pot 6",                              ("Pot",          0x06,  0x29, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Hall After Sun Block Room Pot 1 " ,                 ( " Pot " ,           0x06 ,   ( 9 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Hall After Sun Block Room Pot 2 " ,                 ( " Pot " ,           0x06 ,   ( 9 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Beamos Hall Pot " ,                                 ( " Pot " ,           0x06 ,   ( 16 , 0 , 6 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Anubis Pot " ,                                ( " Pot " ,           0x06 ,   ( 27 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Child Bridge Flying Pot " ,                         ( " FlyingPot " ,     0x06 ,   ( 3 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Before Child Climb Small Wooden Crate 1 " ,         ( " SmallCrate " ,    0x06 ,   ( 1 , 0 , 10 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Spirit Temple " ,  " Vanilla " ,  " SmallCrate " ) ) ) ,  # Overwrite original flag 0x2C because it conflicts w/ Beamos hall pot 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Before Child Climb Small Wooden Crate 2 " ,         ( " SmallCrate " ,    0x06 ,   ( 1 , 0 , 11 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Spirit Temple " ,  " Vanilla " ,  " SmallCrate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Child Anubis Pot",                               ("Pot",          0x07,  0x2F, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Child Anubis Pot",                               ("Pot",          0x07,  0x2F, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple Child Anubis Pot",                               ("Pot",          0x07,  0x2F, None,                             'Recovery Heart'                        ("Spirit Temple", "Vanilla", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Central Chamber Flying Pot 1 " ,                    ( " FlyingPot " ,     0x06 ,   ( 5 , 0 , 21 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Central Chamber Flying Pot 2 " ,                    ( " FlyingPot " ,     0x06 ,   ( 5 , 0 , 22 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Adult Climb Flying Pot 1 " ,                        ( " FlyingPot " ,     0x06 ,   ( 15 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Adult Climb Flying Pot 2 " ,                        ( " FlyingPot " ,     0x06 ,   ( 15 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 1 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 2 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 3 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 7 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 4 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 8 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 5 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 9 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple Big Mirror Flying Pot 6 " ,                         ( " FlyingPot " ,     0x06 ,   ( 25 , 0 , 10 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Spirit Temple MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Lobby Pot 1 " ,                                  ( " Pot " ,           0x06 ,   ( 0 , 0 , 18 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Lobby Pot 2 " ,                                  ( " Pot " ,           0x06 ,   ( 0 , 0 , 19 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Lobby Pot 3 " ,                                  ( " Pot " ,           0x06 ,   ( 0 , 0 , 20 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Lobby Pot 4 " ,                                  ( " Pot " ,           0x06 ,   ( 0 , 0 , 22 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Torch Slugs Room Pot " ,                   ( " Pot " ,           0x06 ,   ( 1 , 0 , 12 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child 3 Gibdo Room Pot 1 " ,                     ( " Pot " ,           0x06 ,   ( 2 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child 3 Gibdo Room Pot 2 " ,                     ( " Pot " ,           0x06 ,   ( 2 , 0 , 14 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Stalfos Fight Pot 1 " ,                    ( " Pot " ,           0x06 ,   ( 27 , 0 , 10 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Stalfos Fight Pot 2 " ,                    ( " Pot " ,           0x06 ,   ( 27 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Stalfos Fight Pot 3 " ,                    ( " Pot " ,           0x06 ,   ( 27 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple MQ Child Stalfos Fight Pot 4",                   ("Pot",          0x06,  (27,0,13), None,                            'N/A',                                   ("Spirit Temple", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Child Climb Pot " ,                              ( " Pot " ,           0x06 ,   ( 4 , 0 , 13 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple MQ Central Chamber Flying Pot 1",                ("FlyingPot",    0x06,  0x25, None,                            'N/A',                                   ("Spirit Temple", "Master Quest", "FlyingPot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple MQ Central Chamber Flying Pot 2",                ("FlyingPot",    0x06,  0x28, None,                            'N/A',                                   ("Spirit Temple", "Master Quest", "FlyingPot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Spirit Temple MQ Central Chamber Flying Pot 3",                ("FlyingPot",    0x06,  0x36, None,                            'N/A',                                   ("Spirit Temple", "Master Quest", "FlyingPot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Floor Pot 1 " ,                  ( " Pot " ,           0x06 ,   ( 5 , 0 , 31 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Floor Pot 2 " ,                  ( " Pot " ,           0x06 ,   ( 5 , 0 , 35 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Floor Pot 3 " ,                  ( " Pot " ,           0x06 ,   ( 5 , 0 , 36 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Top Left Pot (Left) " ,          ( " Pot " ,           0x06 ,   ( 5 , 0 , 34 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Top Left Pot (Right) " ,         ( " Pot " ,           0x06 ,   ( 5 , 0 , 33 ) ,  None ,                         ' Arrows (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Sun Block Room Pot 1 " ,                         ( " Pot " ,           0x06 ,   ( 8 , 0 , 23 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Sun Block Room Pot 2 " ,                         ( " Pot " ,           0x06 ,   ( 8 , 0 , 25 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Below 4 Wallmasters Pot 1 " ,                    ( " Pot " ,           0x06 ,   ( 15 , 0 , 15 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Below 4 Wallmasters Pot 2 " ,                    ( " Pot " ,           0x06 ,   ( 15 , 0 , 16 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Shifting Wall Pot 1 " ,                          ( " Pot " ,           0x06 ,   ( 23 , 0 , 16 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Shifting Wall Pot 2 " ,                          ( " Pot " ,           0x06 ,   ( 23 , 0 , 17 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ After Shifting Wall Room Pot 1 " ,               ( " Pot " ,           0x06 ,   ( 24 , 0 , 4 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ After Shifting Wall Room Pot 2 " ,               ( " Pot " ,           0x06 ,   ( 24 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Pot 1 " ,                             ( " Pot " ,           0x06 ,   ( 25 , 0 , 10 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Pot 2 " ,                             ( " Pot " ,           0x06 ,   ( 25 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Pot 3 " ,                             ( " Pot " ,           0x06 ,   ( 25 , 0 , 12 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Pot 4 " ,                             ( " Pot " ,           0x06 ,   ( 25 , 0 , 13 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Spirit Temple " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Spirit Temple MQ Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Crate 1 " ,                      ( " Crate " ,         0x06 ,   ( 5 , 0 , 12 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Central Chamber Crate 2 " ,                      ( " Crate " ,         0x06 ,   ( 5 , 0 , 13 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Crate 1 " ,                           ( " Crate " ,         0x06 ,   ( 25 , 0 , 2 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Crate 2 " ,                           ( " Crate " ,         0x06 ,   ( 25 , 0 , 3 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Crate 3 " ,                           ( " Crate " ,         0x06 ,   ( 25 , 0 , 4 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Spirit Temple MQ Big Mirror Crate 4 " ,                           ( " Crate " ,         0x06 ,   ( 25 , 0 , 5 ) ,  None ,                         ' Rupee (1) ' ,                              ( " Spirit Temple " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ice Cavern vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Ice Cavern Map Chest " ,                                          ( " Chest " ,         0x09 ,   0x00 ,  None ,                             ' Map (Ice Cavern) ' ,                       ( " Ice Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Compass Chest " ,                                      ( " Chest " ,         0x09 ,   0x01 ,  None ,                             ' Compass (Ice Cavern) ' ,                   ( " Ice Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Iron Boots Chest " ,                                   ( " Chest " ,         0x09 ,   0x02 ,  None ,                             ' Iron Boots ' ,                             ( " Ice Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern GS Spinning Scythe Room " ,                            ( " GS Token " ,      0x09 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern GS Heart Piece Room " ,                                ( " GS Token " ,      0x09 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern GS Push Block Room " ,                                 ( " GS Token " ,      0x09 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Vanilla " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Freestanding PoH " ,                                   ( " Collectable " ,   0x09 ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ice Cavern Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Frozen Blue Rupee " ,                                  ( " Freestanding " ,  0x09 ,   ( 1 , 0 , 1 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Ice Cavern " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Map Room Recovery Heart 1 " ,                          ( " Freestanding " ,  0x09 ,   ( 9 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Map Room Recovery Heart 2 " ,                          ( " Freestanding " ,  0x09 ,   ( 9 , 0 , 8 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Map Room Recovery Heart 3 " ,                          ( " Freestanding " ,  0x09 ,   ( 9 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Block Room Red Rupee 1 " ,                             ( " Freestanding " ,  0x09 ,   ( 5 , 0 , 1 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Block Room Red Rupee 2 " ,                             ( " Freestanding " ,  0x09 ,   ( 5 , 0 , 2 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Block Room Red Rupee 3 " ,                             ( " Freestanding " ,  0x09 ,   ( 5 , 0 , 3 ) ,  None ,                          ' Rupees (20) ' ,                            ( " Ice Cavern " ,  " Vanilla " , " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ice Cavern Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Hall Pot 1 " ,                                         ( " Pot " ,           0x09 ,   ( 2 , 0 , 1 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Hall Pot 2 " ,                                         ( " Pot " ,           0x09 ,   ( 2 , 0 , 2 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Spinning Blade Pot 1 " ,                               ( " Pot " ,           0x09 ,   ( 3 , 0 , 9 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Spinning Blade Pot 2 " ,                               ( " Pot " ,           0x09 ,   ( 3 , 0 , 10 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Spinning Blade Pot 3 " ,                               ( " Pot " ,           0x09 ,   ( 3 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Spinning Blade Flying Pot " ,                          ( " FlyingPot " ,     0x09 ,   ( 3 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " FlyingPot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Near End Pot 1 " ,                                     ( " Pot " ,           0x09 ,   ( 6 , 0 , 1 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Near End Pot 2 " ,                                     ( " Pot " ,           0x09 ,   ( 6 , 0 , 2 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern Frozen Pot " ,                                         ( " Pot " ,           0x09 ,   ( 9 , 0 , 10 ) ,  None ,                         ' Rupees (50) ' ,                            ( " Ice Cavern " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Ice Cavern MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Map Chest " ,                                       ( " Chest " ,         0x09 ,   0x01 ,  None ,                             ' Map (Ice Cavern) ' ,                       ( " Ice Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Compass Chest " ,                                   ( " Chest " ,         0x09 ,   0x00 ,  None ,                             ' Compass (Ice Cavern) ' ,                   ( " Ice Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Freestanding PoH " ,                                ( " Collectable " ,   0x09 ,   0x01 ,  None ,                             ' Piece of Heart ' ,                         ( " Ice Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Iron Boots Chest " ,                                ( " Chest " ,         0x09 ,   0x02 ,  None ,                             ' Iron Boots ' ,                             ( " Ice Cavern " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ GS Red Ice " ,                                      ( " GS Token " ,      0x09 ,   0x02 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ GS Ice Block " ,                                    ( " GS Token " ,      0x09 ,   0x04 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ GS Scarecrow " ,                                    ( " GS Token " ,      0x09 ,   0x01 ,  None ,                             ' Gold Skulltula Token ' ,                   ( " Ice Cavern " ,  " Master Quest " ,  " Skulltulas " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ice Cavern MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ First Hall Pot " ,                                  ( " Pot " ,           0x09 ,   ( 0 , 0 , 4 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Tektite Room Pot 1 " ,                              ( " Pot " ,           0x09 ,   ( 1 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Tektite Room Pot 2 " ,                              ( " Pot " ,           0x09 ,   ( 1 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Center Room Pot 1 " ,                               ( " Pot " ,           0x09 ,   ( 3 , 0 , 14 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Center Room Pot 2 " ,                               ( " Pot " ,           0x09 ,   ( 3 , 0 , 16 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Ice Cavern MQ Center Room Pot 3",                              ("Pot",          0x09,  (3,0,13), None,                         'N/A',                                   ("Ice Cavern", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Ice Cavern MQ Center Room Pot 4",                              ("Pot",          0x09,  (3,0,19), None,                         'N/A',                                   ("Ice Cavern", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Near End Pot " ,                                    ( " Pot " ,           0x09 ,   ( 6 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   #("Ice Cavern MQ Near End Pot 2",                                 ("Pot",          0x09,  (6,0,6), None,                          'N/A',                                   ("Ice Cavern", "Master Quest", "Pot"))), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Compass Room Pot 1 " ,                              ( " Pot " ,           0x09 ,   ( 9 , 0 , 11 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ice Cavern MQ Compass Room Pot 2 " ,                              ( " Pot " ,           0x09 ,   ( 9 , 0 , 12 ) ,  None ,                         ' Bombs (5) ' ,                              ( " Ice Cavern " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 13:05:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Gerudo Training Ground vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Lobby Left Chest " ,                       ( " Chest " ,         0x0B ,   0x13 ,  None ,                             ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Lobby Right Chest " ,                      ( " Chest " ,         0x0B ,   0x07 ,  None ,                             ' Arrows (10) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Stalfos Chest " ,                          ( " Chest " ,         0x0B ,   0x00 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Before Heavy Block Chest " ,               ( " Chest " ,         0x0B ,   0x11 ,  None ,                             ' Arrows (30) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Heavy Block First Chest " ,                ( " Chest " ,         0x0B ,   0x0F ,  None ,                             ' Rupees (200) ' ,                           ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Heavy Block Second Chest " ,               ( " Chest " ,         0x0B ,   0x0E ,  None ,                             ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Heavy Block Third Chest " ,                ( " Chest " ,         0x0B ,   0x14 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Heavy Block Fourth Chest " ,               ( " Chest " ,         0x0B ,   0x02 ,  None ,                             ' Ice Trap ' ,                               ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Eye Statue Chest " ,                       ( " Chest " ,         0x0B ,   0x03 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Near Scarecrow Chest " ,                   ( " Chest " ,         0x0B ,   0x04 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Hammer Room Clear Chest " ,                ( " Chest " ,         0x0B ,   0x12 ,  None ,                             ' Arrows (10) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Hammer Room Switch Chest " ,               ( " Chest " ,         0x0B ,   0x10 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Freestanding Key " ,                       ( " Collectable " ,   0x0B ,   0x01 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Right Central Chest " ,               ( " Chest " ,         0x0B ,   0x05 ,  None ,                             ' Bombchus (5) ' ,                           ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Right Side Chest " ,                  ( " Chest " ,         0x0B ,   0x08 ,  None ,                             ' Arrows (30) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Underwater Silver Rupee Chest " ,          ( " Chest " ,         0x0B ,   0x0D ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Beamos Chest " ,                           ( " Chest " ,         0x0B ,   0x01 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Hidden Ceiling Chest " ,                   ( " Chest " ,         0x0B ,   0x0B ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Path First Chest " ,                  ( " Chest " ,         0x0B ,   0x06 ,  None ,                             ' Rupees (50) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Path Second Chest " ,                 ( " Chest " ,         0x0B ,   0x0A ,  None ,                             ' Rupees (20) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Path Third Chest " ,                  ( " Chest " ,         0x0B ,   0x09 ,  None ,                             ' Arrows (30) ' ,                            ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Maze Path Final Chest " ,                  ( " Chest " ,         0x0B ,   0x0C ,  None ,                             ' Ice Arrows ' ,                             ( " Gerudo Training Ground " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Training Ground Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Beamos Recovery Heart 1 " ,                ( " Freestanding " ,  0x0B ,   ( 7 , 0 , 11 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Gerudo Training Ground " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground Beamos Recovery Heart 2 " ,                ( " Freestanding " ,  0x0B ,   ( 7 , 0 , 12 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Gerudo Training Ground " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 13:05:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Gerudo Training Ground MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Left Chest " ,                    ( " Chest " ,         0x0B ,   0x13 ,  None ,                             ' Arrows (10) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Right Chest " ,                   ( " Chest " ,         0x0B ,   0x07 ,  None ,                             ' Bombchus (5) ' ,                           ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ First Iron Knuckle Chest " ,            ( " Chest " ,         0x0B ,   0x00 ,  None ,                             ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Before Heavy Block Chest " ,            ( " Chest " ,         0x0B ,   0x11 ,  None ,                             ' Arrows (10) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Heavy Block Chest " ,                   ( " Chest " ,         0x0B ,   0x02 ,  None ,                             ' Rupees (50) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Eye Statue Chest " ,                    ( " Chest " ,         0x0B ,   0x03 ,  None ,                             ' Bombchus (10) ' ,                          ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Ice Arrows Chest " ,                    ( " Chest " ,         0x0B ,   0x04 ,  None ,                             ' Ice Arrows ' ,                             ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Second Iron Knuckle Chest " ,           ( " Chest " ,         0x0B ,   0x12 ,  None ,                             ' Arrows (10) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Flame Circle Chest " ,                  ( " Chest " ,         0x0B ,   0x0E ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Right Central Chest " ,            ( " Chest " ,         0x0B ,   0x05 ,  None ,                             ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Right Side Chest " ,               ( " Chest " ,         0x0B ,   0x08 ,  None ,                             ' Rupee (Treasure Chest Game) ' ,            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Underwater Silver Rupee Chest " ,       ( " Chest " ,         0x0B ,   0x0D ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Dinolfos Chest " ,                      ( " Chest " ,         0x0B ,   0x01 ,  None ,                             ' Small Key (Gerudo Training Ground) ' ,     ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Hidden Ceiling Chest " ,                ( " Chest " ,         0x0B ,   0x0B ,  None ,                             ' Rupees (50) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Path First Chest " ,               ( " Chest " ,         0x0B ,   0x06 ,  None ,                             ' Rupee (1) ' ,                              ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Path Third Chest " ,               ( " Chest " ,         0x0B ,   0x09 ,  None ,                             ' Rupee (Treasure Chest Game) ' ,            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Path Second Chest " ,              ( " Chest " ,         0x0B ,   0x0A ,  None ,                             ' Rupees (20) ' ,                            ( " Gerudo Training Ground " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Gerudo Training Ground MQ Pots/Crates 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Left Pot 1 " ,                    ( " Pot " ,           0x0B ,   ( 0 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Gerudo Training Ground " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Left Pot 2 " ,                    ( " Pot " ,           0x0B ,   ( 0 , 0 , 7 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Right Pot 1 " ,                   ( " Pot " ,           0x0B ,   ( 0 , 0 , 8 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Gerudo Training Ground " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Lobby Right Pot 2 " ,                   ( " Pot " ,           0x0B ,   ( 0 , 0 , 9 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Gerudo Training Ground " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gerudo Training Ground MQ Maze Crate " ,                          ( " Crate " ,         0x0B ,   ( 8 , 0 , 2 ) ,  None ,                          ' Rupee (1) ' ,                              ( " Gerudo Training Ground " ,  " Master Quest " ,  " Crate " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganon's Castle vanilla 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Ganons Castle Forest Trial Chest " ,                              ( " Chest " ,         0x0D ,   0x09 ,  None ,                             ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Water Trial Left Chest " ,                          ( " Chest " ,         0x0D ,   0x07 ,  None ,                             ' Ice Trap ' ,                               ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Water Trial Right Chest " ,                         ( " Chest " ,         0x0D ,   0x06 ,  None ,                             ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Front Chest " ,                        ( " Chest " ,         0x0D ,   0x08 ,  None ,                             ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Golden Gauntlets Chest " ,             ( " Chest " ,         0x0D ,   0x05 ,  None ,                             ' Progressive Strength Upgrade ' ,           ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial First Left Chest " ,                    ( " Chest " ,         0x0D ,   0x0C ,  None ,                             ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Second Left Chest " ,                   ( " Chest " ,         0x0D ,   0x0B ,  None ,                             ' Ice Trap ' ,                               ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Third Left Chest " ,                    ( " Chest " ,         0x0D ,   0x0D ,  None ,                             ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial First Right Chest " ,                   ( " Chest " ,         0x0D ,   0x0E ,  None ,                             ' Ice Trap ' ,                               ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Second Right Chest " ,                  ( " Chest " ,         0x0D ,   0x0A ,  None ,                             ' Arrows (30) ' ,                            ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Third Right Chest " ,                   ( " Chest " ,         0x0D ,   0x0F ,  None ,                             ' Ice Trap ' ,                               ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Invisible Enemies Chest " ,             ( " Chest " ,         0x0D ,   0x10 ,  None ,                             ' Small Key (Ganons Castle) ' ,              ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Lullaby Chest " ,                       ( " Chest " ,         0x0D ,   0x11 ,  None ,                             ' Small Key (Ganons Castle) ' ,              ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Spirit Trial Crystal Switch Chest " ,               ( " Chest " ,         0x0D ,   0x12 ,  None ,                             ' Bombchus (20) ' ,                          ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Spirit Trial Invisible Chest " ,                    ( " Chest " ,         0x0D ,   0x14 ,  None ,                             ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Vanilla " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Deku Scrub Left " ,                                 ( " Scrub " ,         0x0D ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Ganon ' s Castle " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Deku Scrub Center-Left " ,                          ( " Scrub " ,         0x0D ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Ganon ' s Castle " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Deku Scrub Center-Right " ,                         ( " Scrub " ,         0x0D ,   0x33 ,  None ,                             ' Buy Arrows (30) ' ,                        ( " Ganon ' s Castle " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Deku Scrub Right " ,                                ( " Scrub " ,         0x0D ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Ganon ' s Castle " ,  " Vanilla " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganons Castle Vanilla Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Recovery Heart 1 " ,                   ( " Freestanding " ,  0x0D ,   ( 12 , 0 , 9 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Recovery Heart 2 " ,                   ( " Freestanding " ,  0x0D ,   ( 12 , 0 , 11 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Recovery Heart 3 " ,                   ( " Freestanding " ,  0x0D ,   ( 12 , 0 , 13 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Fire Trial Recovery Heart " ,                       ( " Freestanding " ,  0x0D ,   ( 14 , 0 , 20 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Spirit Trial Recovery Heart " ,                     ( " Freestanding " ,  0x0D ,   ( 17 , 0 , 28 ) ,  None ,                        ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganons Castle Vanilla Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Water Trial Pot 1 " ,                               ( " Pot " ,           0x0D ,   ( 4 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Water Trial Pot 2 " ,                               ( " Pot " ,           0x0D ,   ( 4 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Forest Trial Pot 1 " ,                              ( " Pot " ,           0x0D ,   ( 7 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Forest Trial Pot 2 " ,                              ( " Pot " ,           0x0D ,   ( 7 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Boulder Pot " ,                         ( " Pot " ,           0x0D ,   ( 8 , 0 , 11 ) ,  None ,                         ' Arrows (30) ' ,                            ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Pot 1 " ,                               ( " Pot " ,           0x0D ,   ( 11 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Light Trial Pot 2 " ,                               ( " Pot " ,           0x0D ,   ( 11 , 0 , 6 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Like Like Pot 1 " ,                    ( " Pot " ,           0x0D ,   ( 12 , 0 , 15 ) ,  None ,                        ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Like Like Pot 2 " ,                    ( " Pot " ,           0x0D ,   ( 12 , 0 , 16 ) ,  None ,                        ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Pot 1 " ,                              ( " Pot " ,           0x0D ,   ( 13 , 0 , 5 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Shadow Trial Pot 2 " ,                              ( " Pot " ,           0x0D ,   ( 13 , 0 , 6 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Fire Trial Pot 1 " ,                                ( " Pot " ,           0x0D ,   ( 15 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Fire Trial Pot 2 " ,                                ( " Pot " ,           0x0D ,   ( 15 , 0 , 6 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Spirit Trial Pot 1 " ,                              ( " Pot " ,           0x0D ,   ( 19 , 0 , 5 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle Spirit Trial Pot 2 " ,                              ( " Pot " ,           0x0D ,   ( 19 , 0 , 6 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Vanilla " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Ganon's Castle MQ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Forest Trial Freestanding Key " ,                ( " Collectable " ,   0x0D ,   0x01 ,  None ,                             ' Small Key (Ganons Castle) ' ,              ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Forest Trial Eye Switch Chest " ,                ( " Chest " ,         0x0D ,   0x02 ,  None ,                             ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Forest Trial Frozen Eye Switch Chest " ,         ( " Chest " ,         0x0D ,   0x03 ,  None ,                             ' Bombs (5) ' ,                              ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Water Trial Chest " ,                            ( " Chest " ,         0x0D ,   0x01 ,  None ,                             ' Rupees (20) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Shadow Trial Bomb Flower Chest " ,               ( " Chest " ,         0x0D ,   0x00 ,  None ,                             ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Shadow Trial Eye Switch Chest " ,                ( " Chest " ,         0x0D ,   0x05 ,  None ,                             ' Small Key (Ganons Castle) ' ,              ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Light Trial Lullaby Chest " ,                    ( " Chest " ,         0x0D ,   0x04 ,  None ,                             ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial First Chest " ,                     ( " Chest " ,         0x0D ,   0x0A ,  None ,                             ' Bombchus (10) ' ,                          ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Invisible Chest " ,                 ( " Chest " ,         0x0D ,   0x14 ,  None ,                             ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Sun Front Left Chest " ,            ( " Chest " ,         0x0D ,   0x09 ,  None ,                             ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Sun Back Left Chest " ,             ( " Chest " ,         0x0D ,   0x08 ,  None ,                             ' Small Key (Ganons Castle) ' ,              ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Sun Back Right Chest " ,            ( " Chest " ,         0x0D ,   0x07 ,  None ,                             ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Golden Gauntlets Chest " ,          ( " Chest " ,         0x0D ,   0x06 ,  None ,                             ' Progressive Strength Upgrade ' ,           ( " Ganon ' s Castle " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Deku Scrub Left " ,                              ( " Scrub " ,         0x0D ,   0x3A ,  None ,                             ' Buy Green Potion ' ,                       ( " Ganon ' s Castle " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Deku Scrub Center-Left " ,                       ( " Scrub " ,         0x0D ,   0x37 ,  None ,                             ' Buy Bombs (5) for 35 Rupees ' ,            ( " Ganon ' s Castle " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Deku Scrub Center " ,                            ( " Scrub " ,         0x0D ,   0x33 ,  None ,                             ' Buy Arrows (30) ' ,                        ( " Ganon ' s Castle " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Deku Scrub Center-Right " ,                      ( " Scrub " ,         0x0D ,   0x39 ,  None ,                             ' Buy Red Potion for 30 Rupees ' ,           ( " Ganon ' s Castle " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Deku Scrub Right " ,                             ( " Scrub " ,         0x0D ,   0x30 ,  None ,                             ' Buy Deku Nut (5) ' ,                       ( " Ganon ' s Castle " ,  " Master Quest " ,  " Deku Scrub " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganon's Castle MQ Freestanding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Water Trial Recovery Heart " ,                   ( " Freestanding " ,  0x0D ,   ( 2 , 0 , 30 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Light Trial Recovery Heart 1 " ,                 ( " Freestanding " ,  0x0D ,   ( 8 , 0 , 6 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Light Trial Recovery Heart 2 " ,                 ( " Freestanding " ,  0x0D ,   ( 8 , 0 , 7 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Freestanding " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganon's Castle MQ Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Water Trial Pot 1 " ,                            ( " Pot " ,           0x0D ,   ( 4 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Water Trial Pot 2 " ,                            ( " Pot " ,           0x0D ,   ( 4 , 0 , 6 ) ,  None ,                          ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Forest Trial Pot 1 " ,                           ( " Pot " ,           0x0D ,   ( 7 , 0 , 5 ) ,  None ,                          ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Forest Trial Pot 2 " ,                           ( " Pot " ,           0x0D ,   ( 7 , 0 , 6 ) ,  None ,                          ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Light Trial Pot 1 " ,                            ( " Pot " ,           0x0D ,   ( 11 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Light Trial Pot 2 " ,                            ( " Pot " ,           0x0D ,   ( 11 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Shadow Trial Pot 1 " ,                           ( " Pot " ,           0x0D ,   ( 13 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Shadow Trial Pot 2 " ,                           ( " Pot " ,           0x0D ,   ( 13 , 0 , 6 ) ,  None ,                         ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Fire Trial Pot 1 " ,                             ( " Pot " ,           0x0D ,   ( 15 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Fire Trial Pot 2 " ,                             ( " Pot " ,           0x0D ,   ( 15 , 0 , 6 ) ,  None ,                         ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Pot 1 " ,                           ( " Pot " ,           0x0D ,   ( 19 , 0 , 5 ) ,  None ,                         ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Castle MQ Spirit Trial Pot 2 " ,                           ( " Pot " ,           0x0D ,   ( 19 , 0 , 6 ) ,  None ,                         ' Deku Nuts (5) ' ,                          ( " Ganon ' s Castle " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # Ganon's Castle shared 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Ganons Tower Boss Key Chest " ,                                   ( " Chest " ,         0x0A ,   0x0B ,  None ,                             ' Boss Key (Ganons Castle) ' ,               ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Ganon's Tower Pots 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 1 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 2 ) , ( 0 , 0 , 48 ) ] ,  None ,               ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 2 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 3 ) , ( 0 , 0 , 49 ) ] ,  None ,               ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 3 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 4 ) , ( 0 , 0 , 50 ) ] ,  None ,               ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 4 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 5 ) , ( 0 , 0 , 51 ) ] ,  None ,               ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 5 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 6 ) , ( 0 , 0 , 52 ) ] ,  None ,               ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 6 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 7 ) , ( 0 , 0 , 53 ) ] ,  None ,               ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 7 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 8 ) , ( 0 , 0 , 54 ) ] ,  None ,               ' Rupees (5) ' ,                             ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 8 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 9 ) , ( 0 , 0 , 56 ) ] ,  None ,               ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 9 " ,                                            ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 12 ) , ( 0 , 0 , 58 ) ] ,  None ,              ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 10 " ,                                           ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 13 ) , ( 0 , 0 , 59 ) ] ,  None ,              ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 11 " ,                                           ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 14 ) , ( 0 , 0 , 60 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 12 " ,                                           ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 15 ) , ( 0 , 0 , 61 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 13 " ,                                           ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 16 ) , ( 0 , 0 , 62 ) ] ,  None ,              ' Recovery Heart ' ,                         ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganons Tower Pot 14 " ,                                           ( " Pot " ,           0x0A ,   [ ( 8 , 0 , 19 ) , ( 0 , 0 , 65 ) ] ,  None ,              ' Arrows (10) ' ,                            ( " Ganon ' s Castle " ,  " Ganon ' s Tower " ,  " Vanilla " ,  " Master Quest " ,  " Pot " ) ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Events and Drops 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " Pierre " ,                                                        ( " Event " ,         None ,   None ,  None ,                             ' Scarecrow Song ' ,                         None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deliver Rutos Letter " ,                                          ( " Event " ,         None ,   None ,  None ,                             ' Deliver Letter ' ,                         None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Master Sword Pedestal " ,                                         ( " Event " ,         None ,   None ,  None ,                             ' Time Travel ' ,                            None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Baba Sticks " ,                                              ( " Drop " ,          None ,   None ,  None ,                             ' Deku Stick Drop ' ,                        None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Baba Nuts " ,                                                ( " Drop " ,          None ,   None ,  None ,                             ' Deku Nut Drop ' ,                          None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Stick Pot " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Deku Stick Drop ' ,                        None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Nut Pot " ,                                                       ( " Drop " ,          None ,   None ,  None ,                             ' Deku Nut Drop ' ,                          None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Nut Crate " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Deku Nut Drop ' ,                          None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Blue Fire " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Blue Fire ' ,                              None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Lone Fish " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Fish ' ,                                   None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fish Group " ,                                                    ( " Drop " ,          None ,   None ,  None ,                             ' Fish ' ,                                   None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bug Rock " ,                                                      ( " Drop " ,          None ,   None ,  None ,                             ' Bugs ' ,                                   None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bug Shrub " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Bugs ' ,                                   None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wandering Bugs " ,                                                ( " Drop " ,          None ,   None ,  None ,                             ' Bugs ' ,                                   None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fairy Pot " ,                                                     ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Free Fairies " ,                                                  ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Wall Fairy " ,                                                    ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Butterfly Fairy " ,                                               ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Gossip Stone Fairy " ,                                            ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Bean Plant Fairy " ,                                              ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Fairy Pond " ,                                                    ( " Drop " ,          None ,   None ,  None ,                             ' Fairy ' ,                                  None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Big Poe Kill " ,                                                  ( " Drop " ,          None ,   None ,  None ,                             ' Big Poe ' ,                                None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Deku Shield Pot " ,                                               ( " Drop " ,          None ,   None ,  None ,                             ' Deku Shield Drop ' ,                       None ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ## Hints 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # These are not actual locations, but are filler spots used for hint reachability. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # Hint location types must start with 'Hint'. 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( " DMC Gossip Stone " ,                                              ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Gossip Stone " ,                                              ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Colossus Gossip Stone " ,                                         ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dodongos Cavern Gossip Stone " ,                                  ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GV Gossip Stone " ,                                               ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Maze Gossip Stone " ,                                          ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " GC Medigoron Gossip Stone " ,                                     ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Graveyard Gossip Stone " ,                                        ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Malon Gossip Stone " ,                                         ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Rock Wall Gossip Stone " ,                                     ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HC Storms Grotto Gossip Stone " ,                                 ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Cow Grotto Gossip Stone " ,                                    ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Deku Tree Gossip Stone (Left) " ,                              ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Deku Tree Gossip Stone (Right) " ,                             ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Gossip Stone " ,                                               ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Lab Gossip Stone " ,                                           ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Gossip Stone (Southeast) " ,                                   ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LH Gossip Stone (Southwest) " ,                                   ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Gossip Stone " ,                                               ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Maze Gossip Stone (Lower) " ,                                 ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Maze Gossip Stone (Upper) " ,                                 ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " SFM Saria Gossip Stone " ,                                        ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Gossip Stone (Left) " ,                                       ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Gossip Stone (Left-Center) " ,                                ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Gossip Stone (Right) " ,                                      ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Gossip Stone (Right-Center) " ,                               ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZD Gossip Stone " ,                                               ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Fairy Gossip Stone " ,                                         ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZF Jabu Gossip Stone " ,                                          ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Near Grottos Gossip Stone " ,                                  ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Near Domain Gossip Stone " ,                                   ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Near Market Grotto Gossip Stone " ,                            ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Southeast Grotto Gossip Stone " ,                              ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " HF Open Grotto Gossip Stone " ,                                   ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Kak Open Grotto Gossip Stone " ,                                  ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ZR Open Grotto Gossip Stone " ,                                   ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " KF Storms Grotto Gossip Stone " ,                                 ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " LW Near Shortcuts Grotto Gossip Stone " ,                         ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMT Storms Grotto Gossip Stone " ,                                ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " DMC Upper Grotto Gossip Stone " ,                                 ( " HintStone " ,     None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Child Altar Hint " ,                                          ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " ToT Adult Altar Hint " ,                                          ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Dampe Diary Hint " ,                                              ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " 10 Skulltulas Reward Hint " ,                                     ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " 20 Skulltulas Reward Hint " ,                                     ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " 30 Skulltulas Reward Hint " ,                                     ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " 40 Skulltulas Reward Hint " ,                                     ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " 50 Skulltulas Reward Hint " ,                                     ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( " Ganondorf Hint " ,                                                ( " Hint " ,          None ,   None ,  None ,                             None ,                                     None ) ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								] )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								location_sort_order  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    loc :  i  for  i ,  loc  in  enumerate ( location_table . keys ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Business Scrub Details  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								business_scrubs  =  [  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # id   price  text   text replacement 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x30 ,  20 ,    0x10A0 ,  [ " Deku Nuts " ,  " a  \x05 \x42 mysterious item \x05 \x40 " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x31 ,  15 ,    0x10A1 ,  [ " Deku Sticks " ,  " a  \x05 \x42 mysterious item \x05 \x40 " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x3E ,  10 ,    0x10A2 ,  [ " Piece of Heart " ,  " \x05 \x42 mysterious item \x05 \x40 " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x33 ,  40 ,    0x10CA ,  [ " \x05 \x41 Deku Seeds " ,  " a  \x05 \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x34 ,  50 ,    0x10CB ,  [ " \x41 Deku Shield " ,  " \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x37 ,  40 ,    0x10CC ,  [ " \x05 \x41 Bombs " ,  " a  \x05 \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x38 ,  00 ,    0x10CD ,  [ " \x05 \x41 Arrows " ,  " a  \x05 \x42 mysterious item " ] ) ,   # unused 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x39 ,  40 ,    0x10CE ,  [ " \x05 \x41 Red Potion " ,  " \x05 \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x3A ,  40 ,    0x10CF ,  [ " Green Potion " ,  " mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x77 ,  40 ,    0x10DC ,  [ " enable you to pick up more \x01 \x05 \x41 Deku Sticks " ,  " sell you a  \x05 \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( 0x79 ,  40 ,    0x10DD ,  [ " enable you to pick up more  \x05 \x41 Deku \x01 Nuts " ,  " sell you a  \x05 \x42 mysterious item " ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-01 13:05:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								dungeons  =  ( ' Deku Tree ' ,  ' Dodongo \' s Cavern ' ,  ' Jabu Jabu \' s Belly ' ,  ' Forest Temple ' ,  ' Fire Temple ' ,  ' Water Temple ' ,  ' Spirit Temple ' ,  ' Shadow Temple ' ,  ' Ice Cavern ' ,  ' Bottom of the Well ' ,  ' Gerudo Training Ground ' ,  ' Ganon \' s Castle ' )  
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								location_groups  =  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' Song ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  ==  ' Song ' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' Chest ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  ==  ' Chest ' ] , 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ' Collectable ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  in  [ ' Collectable ' ] ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' Boss ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  ==  ' Boss ' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' ActorOverride ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  ==  ' ActorOverride ' ] , 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    ' BossHeart ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  ==  ' BossHeart ' ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' CollectableLike ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 0 ]  in  ( ' Collectable ' ,  ' BossHeart ' ,  ' GS Token ' ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' CanSee ' :  [ name  for  ( name ,  data )  in  location_table . items ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								               if  data [ 0 ]  in  ( ' Collectable ' ,  ' BossHeart ' ,  ' GS Token ' ,  ' Shop ' ,  ' Freestanding ' ,  ' ActorOverride ' ,  ' RupeeTower ' ,  ' Pot ' ,  ' Crate ' ,  ' FlyingPot ' ,  ' SmallCrate ' ,  ' Beehive ' ) 
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								               # Treasure Box Shop, Bombchu Bowling, Hyrule Field (OoT), Lake Hylia (RL/FA) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               or  data [ 0 : 2 ]  in  [ ( ' Chest ' ,  0x10 ) ,  ( ' NPC ' ,  0x4B ) ,  ( ' NPC ' ,  0x51 ) ,  ( ' NPC ' ,  0x57 ) ] ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ' Dungeon ' :  [ name  for  ( name ,  data )  in  location_table . items ( )  if  data [ 5 ]  is  not  None  and  any ( dungeon  in  data [ 5 ]  for  dungeon  in  dungeons ) ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 21:11:40 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  location_is_viewable ( loc_name ,  correct_chest_appearances ,  fast_chests ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  ( ( ( correct_chest_appearances  in  [ ' textures ' ,  ' both ' ,  ' classic ' ]  or  not  fast_chests )  and  loc_name  in  location_groups [ ' Chest ' ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        or  loc_name  in  location_groups [ ' CanSee ' ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-11-02 01:32:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# relevant for both dungeon item fill and song fill  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								dungeon_song_locations  =  [  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Deku Tree Queen Gohma Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Dodongos Cavern King Dodongo Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Jabu Jabus Belly Barinade Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Forest Temple Phantom Ganon Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Fire Temple Volvagia Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Water Temple Morpha Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Shadow Temple Bongo Bongo Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Spirit Temple Twinrova Heart " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Song from Impa " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Sheik in Ice Cavern " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # only one exists 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Bottom of the Well Lens of Truth Chest " ,  " Bottom of the Well MQ Lens of Truth Chest " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # only one exists 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    " Gerudo Training Ground Maze Path Final Chest " ,  " Gerudo Training Ground MQ Ice Arrows Chest " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
											 
										
											
												Ocarina of Time (#64)
* first commit (not including OoT data files yet)
* added some basic options
* rule parser works now at least
* make sure to commit everything this time
* temporary change to BaseClasses for oot
* overworld location graph builds mostly correctly
* adding oot data files
* commenting out world options until later since they only existed to make the RuleParser work
* conversion functions between AP ids and OOT ids
* world graph outputs
* set scrub prices
* itempool generates, entrances connected, way too many options added
* fixed set_rules and set_shop_rules
* temp baseclasses changes
* Reaches the fill step now, old event-based system retained in case the new way breaks
* Song placements and misc fixes everywhere
* temporary changes to make oot work
* changed root exits for AP fill framework
* prevent infinite recursion due to OoT sharing usage of the address field
* age reachability works hopefully, songs are broken again
* working spoiler log generation on beatable-only
* Logic tricks implemented
* need this for logic tricks
* fixed map/compass being placed on Serenade location
* kill unreachable events before filling the world
* add a bunch of utility functions to prepare for rom patching
* move OptionList into generic options
* fixed some silly bugs with OptionList
* properly seed all random behavior (so far)
* ROM generation working
* fix hints trying to get alttp dungeon hint texts
* continue fixing hints
* add oot to network data package
* change item and location IDs to 66000 and 67000 range respectively
* push removed items to precollected items
* fixed various issues with cross-contamination with multiple world generation
* reenable glitched logic (hopefully)
* glitched world files age-check fix
* cleaned up some get_locations calls
* added token shuffle and scrub shuffle, modified some options slightly to make the parsing work
* reenable MQ dungeons
* fix forest mq exception
* made targeting style an option for now, will be cosmetic later
* reminder to move targeting to cosmetics
* some oot option maintenance
* enabled starting time of day
* fixed issue breaking shop slots in multiworld generation
* added "off" option for text shuffle and hints
* shopsanity functionality restored
* change patch file extension
* remove unnecessary utility functions + imports
* update MIT license
* change option to "patch_uncompressed_rom" instead of "compress_rom"
* compliance with new AutoWorld systems
* Kill only internal events, remove non-internal big poe event in code
* re-add the big poe event and handle it correctly
* remove extra method in Range option
* fix typo
* Starting items, starting with consumables option
* do not remove nonexistent item
* move set_shop_rules to after shop items are placed
* some cleanup
* add retries for song placement
* flagged Skull Mask and Mask of Truth as advancement items
* update OoT to use LogicMixin
* Fixed trying to assign starting items from the wrong players
* fixed song retry step
* improved option handling, comments, and starting item replacements
* DefaultOnToggle writes Yes or No to spoiler
* enable compression of output if Compress executable is present
* clean up compression
* check whether (de)compressor exists before running the process
* allow specification of rom path in host.yaml
* check if decompressed file already exists before decompressing again
* fix triforce hunt generation
* rename all the oot state functions with prefix
* OoT: mark triforce pieces as completion goal for triforce hunt
* added overworld and any-dungeon shuffle for dungeon items
* Hide most unshuffled locations and events from the list of locations in spoiler
* build oot option ranges with a generic function instead of defining each separately
* move oot output-type control to host.yaml instead of individual yamls
* implement dungeon song shuffle
* minor improvements to overworld dungeon item shuffle
* remove random ice trap names in shops, mostly to avoid maintaining a massive censor list
* always output patch file to folder, remove option to generate ROM in preparation for removal
* re-add the fix for infinite recursion due to not being light or dark world
* change AP-sendable to Ocarina of Time model, since the triforce piece has some extra code apparently
* oot: remove item_names and location_names
* oot: minor fixes
* oot: comment out ROM patching
* oot: only add CollectionState objects on creation if actually needed
* main entrance shuffle method and entrances-based rules
* fix entrances based rules
* disable master quest and big poe count options for client compatibility
* use get_player_name instead of get_player_names
* fix OptionList
* fix oot options for new option system
* new coop section in oot rom: expand player names to 16 bytes, write AP_PLAYER_NAME at end of PLAYER_NAMES
* fill AP player name in oot rom with 0 instead of 0xDF
* encode player name with ASCII for fixed-width
* revert oot player name array to 8 bytes per name
* remove Pierre location if fast scarecrow is on
* check player name length
* "free_scarecrow" not "fast_scarecrow"
* OoT locations now properly store the AP ID instead of the oot internal ID
* oot __version__ updates in lockstep with AP version
* pull in unmodified oot cosmetic files
* also grab JSONDump since it's needed apparently
* gather extra needed methods, modify imports
* delete cosmetics log, replace all instances of SettingsList with OOTWorld
* cosmetic options working, except for sound effects (due to ear-safe issues)
* SFX, Music, and Fanfare randomization reenabled
* move OoT data files into the worlds folder
* move Compress and Decompress into oot data folder
* Replace get_all_state with custom method to avoid the cache
* OoT ROM: increment item counter before setting incoming item/player values to 0, preventing desync issues
* set data_version to 0
* make Kokiri Sword shuffle off by default
* reenable "Random Choice" for various cosmetic options
* kill Ruto's Letter turnin if open fountain
also fix for shopsanity
* place Buy Goron/Zora Tunic first in shop shuffle
* make ice traps appear as other items instead of breaking generation
* managed to break ice traps on non-major-only
* only handle ice traps if they are on
* fix shopsanity for non-oot games, and write player name instead of player number
* light arrows hint uses player name instead of player number
* Reenable "skip child zelda" option
* fix entrances_based_rules
* fix ganondorf hint if starting with light arrows
* fix dungeonitem shuffle and shopsanity interaction
* remove has_all_of, has_any_of, count_of in BaseClasses, replace usage with has_all, has_any, has_group
* force local giveable item on ZL if skip_child_zelda and shuffle_song_items is any
* keep bosses and bombchu bowling chus out of data package
* revert workaround for infinite recursion and fix it properly
* fix shared shop id caches during patching process
* fix shop text box overflows, as much as possible
* add default oot host.yaml option
* add .apz5, .n64, .z64 to gitignore
* Properly document and name all (functioning) OOT options
* clean up some imports
* remove unnecessary files from oot's data
* fix typo in gitignore
* readd the Compress and Decompress utilities, since they are needed for generation
* cleanup of imports and some minor optimizations
* increase shop offset for item IDs to 0xCB
* remove shop item AP ids entirely
* prevent triforce pieces for other players from being received by yourself
* add "excluded" property to Location
* Hint system adapted and reenabled; hints still unseeded
* make hints deterministic with lists instead of sets
* do not allow hints to point to Light Arrows on non-vanilla bridge
* foreign locations hint as their full name in OoT rather than their region
* checkedLocations now stores hint names by player ID, so that the same location in different worlds can have hints associated
* consolidate versioning in Utils
* ice traps appear as major items rather than any progression item
* set prescription and claim check as defaults for adult trade item settings
* add oot options to playerSettings
* allow case-insensitive logic tricks in yaml
* fix oot shopsanity option formatting
* Write OoT override info even if local item, enabling local checks to show up immediately in the client
* implement CollectionState.can_live_dmg for oot glitched logic
* filter item names for invalid characters when patching shops
* make ice traps appear according to the settings of the world they are shuffled into, rather than the original world
* set hidden-spoiler items and locations with Shop items to events
* make GF carpenters, Gerudo Card, Malon, ZL, and Impa events if the relevant settings are enabled, preventing them from appearing in the client on game start
* Fix oot Glitched and No Logic generation
* fix indenting
* Greatly reduce displayed cosmetic options
* Change oot data version to 1
* add apz5 distribution to webhost
* print player name if an ALttP dungeon contains a good item for OoT world
* delete unneeded commented code
* remove OcarinaSongs import to satisfy lint
											 
										 
										
											2021-09-02 08:35:05 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Function to run exactly once after after placing items in drop locations for each world  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Sets all Drop locations to a unique name in order to avoid name issues and to identify locations in the spoiler  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Also cause them to not be shown in the list of locations, only in playthrough  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								def  set_drop_location_names ( ootworld ) :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  region  in  ootworld . regions : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  location  in  region . locations : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  location . type  ==  ' Drop ' :  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                location . name  =  location . parent_region . name  +  "   "  +  location . name 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                location . show_in_spoiler  =  False