mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00

* initial commit of messenger integration * setup no_logic and needed slot_data * fix some typos and determinism * make all of it deterministic * add documentation * swapped to non local items so change the fed data * ~~deathlink~~ * satisfy the docs test * update doc test to show expected name * split custom classes into a separate file and fix an errant rule * make access dependency test give more useful errors * implement tests * remove some unneccessary back entrances and make names clearer * fix some big dumbs * successful unit tests are good also some slight reorganizing * add astral tea quest line, and potentially power seals as items * if TYPE_CHECKING... aahhhhhh * oop forgot to remove legacy code * having the seed and leaves as actual items doesn't seem to do anything so remove them. locations still work though * update setup guide with some changes * Tower HQ was creating duplicate locations * allow self locking items * cleanup * move self_locking_items function to core * docstring * implement choice of notes needed for music box * test the default value * don't create any starting inventory items * make item creation faster * change default accessibility and power seals options * improve documentation * precollected_items is a dict of Items... * implement shop chest goal * tests * always assign total and required seals * add new goals and set music box as requiring shop chest on shop chest goals instead of just setting it as the completion * fix dumb test quirk * implement music box skip as an option * world rewrite/cleanup * default to apworld and add game to readme * revert bleeding commits from other PRs * more bleeds * fix some errors in options docstrings * ??? * make my set rules method not have an awful name * test cleanup * add a test for item accessibility * fix issues with tests * make the self locking item behavior work correctly * misc cleanup * more general cleanup to be a good example * quick rules rewrite * more general cleanup and typing * more speed, more clean * bump data version * make sure the locked item belongs to current player * fix bad name and indent. call MessengerItem directly for events * add poptracker pack to docs * doc cleanup and "known issues" section that I probably won't be able to fix any time soon. * missed some spots * add another bug i forgot about * be consistently wrong
53 lines
2.2 KiB
Python
53 lines
2.2 KiB
Python
from typing import Dict, Set, List
|
|
|
|
REGIONS: Dict[str, List[str]] = {
|
|
"Menu": [],
|
|
"Tower HQ": [],
|
|
"The Shop": [],
|
|
"Tower of Time": [],
|
|
"Ninja Village": ["Candle", "Astral Seed"],
|
|
"Autumn Hills": ["Climbing Claws", "Key of Hope"],
|
|
"Forlorn Temple": ["Demon King Crown"],
|
|
"Catacombs": ["Necro", "Ruxxtin's Amulet"],
|
|
"Bamboo Creek": ["Claustro"],
|
|
"Howling Grotto": ["Wingsuit"],
|
|
"Quillshroom Marsh": ["Seashell"],
|
|
"Searing Crags": ["Rope Dart"],
|
|
"Searing Crags Upper": ["Power Thistle", "Key of Strength", "Astral Tea Leaves"],
|
|
"Glacial Peak": [],
|
|
"Cloud Ruins": ["Acro"],
|
|
"Underworld": ["Pyro", "Key of Chaos"],
|
|
"Dark Cave": [],
|
|
"Riviere Turquoise": ["Fairy Bottle"],
|
|
"Sunken Shrine": ["Ninja Tabi", "Sun Crest", "Moon Crest", "Key of Love"],
|
|
"Elemental Skylands": ["Key of Symbiosis"],
|
|
"Corrupted Future": ["Key of Courage"],
|
|
"Music Box": ["Rescue Phantom"]
|
|
}
|
|
"""seal locations have the region in their name and may not need to be created so skip them here"""
|
|
|
|
|
|
REGION_CONNECTIONS: Dict[str, Set[str]] = {
|
|
"Menu": {"Tower HQ"},
|
|
"Tower HQ": {"Autumn Hills", "Howling Grotto", "Searing Crags", "Glacial Peak", "Tower of Time", "Riviere Turquoise",
|
|
"Sunken Shrine", "Corrupted Future", "The Shop", "Music Box"},
|
|
"Tower of Time": set(),
|
|
"Ninja Village": set(),
|
|
"Autumn Hills": {"Ninja Village", "Forlorn Temple", "Catacombs"},
|
|
"Forlorn Temple": {"Catacombs", "Bamboo Creek"},
|
|
"Catacombs": {"Autumn Hills", "Bamboo Creek", "Dark Cave"},
|
|
"Bamboo Creek": {"Catacombs", "Howling Grotto"},
|
|
"Howling Grotto": {"Bamboo Creek", "Quillshroom Marsh", "Sunken Shrine"},
|
|
"Quillshroom Marsh": {"Howling Grotto", "Searing Crags"},
|
|
"Searing Crags": {"Searing Crags Upper", "Quillshroom Marsh", "Underworld"},
|
|
"Searing Crags Upper": {"Searing Crags", "Glacial Peak"},
|
|
"Glacial Peak": {"Searing Crags Upper", "Tower HQ", "Cloud Ruins", "Elemental Skylands"},
|
|
"Cloud Ruins": {"Underworld"},
|
|
"Underworld": set(),
|
|
"Dark Cave": {"Catacombs", "Riviere Turquoise"},
|
|
"Riviere Turquoise": set(),
|
|
"Sunken Shrine": {"Howling Grotto"},
|
|
"Elemental Skylands": set()
|
|
}
|
|
"""Vanilla layout mapping with all Tower HQ portals open. from -> to"""
|