LADX: more item groups, location groups, keysanity preset (#3936)

* add groups and a preset

* formatting

* typing

* alias groups for progressive items

* add bush breakers item group

* fix typo

* some manual location groups

* drop dummy dungeon items from groups
This commit is contained in:
threeandthreee
2024-12-05 06:06:52 -05:00
committed by GitHub
parent d80069385d
commit 4d42814f5d
3 changed files with 184 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
from BaseClasses import Region, Entrance, Location, CollectionState
import typing
from .LADXR.checkMetadata import checkMetadataTable
from .Common import *
@@ -25,6 +25,39 @@ links_awakening_dungeon_names = [
def meta_to_name(meta):
return f"{meta.name} ({meta.area})"
def get_location_name_groups() -> typing.Dict[str, typing.Set[str]]:
groups = {
"Instrument Pedestals": {
"Full Moon Cello (Tail Cave)",
"Conch Horn (Bottle Grotto)",
"Sea Lily's Bell (Key Cavern)",
"Surf Harp (Angler's Tunnel)",
"Wind Marimba (Catfish's Maw)",
"Coral Triangle (Face Shrine)",
"Organ of Evening Calm (Eagle's Tower)",
"Thunder Drum (Turtle Rock)",
},
"Boss Rewards": {
"Moldorm Heart Container (Tail Cave)",
"Genie Heart Container (Bottle Grotto)",
"Slime Eye Heart Container (Key Cavern)",
"Angler Fish Heart Container (Angler's Tunnel)",
"Slime Eel Heart Container (Catfish's Maw)",
"Facade Heart Container (Face Shrine)",
"Evil Eagle Heart Container (Eagle's Tower)",
"Hot Head Heart Container (Turtle Rock)",
"Tunic Fairy Item 1 (Color Dungeon)",
"Tunic Fairy Item 2 (Color Dungeon)",
},
}
# Add region groups
for s, v in checkMetadataTable.items():
if s == "None":
continue
groups.setdefault(v.area, set()).add(meta_to_name(v))
return groups
links_awakening_location_name_groups = get_location_name_groups()
def get_locations_to_id():
ret = {