 070a92e76c
			
		
	
	070a92e76c
	
	
	
		
			
			* 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"""
 |