 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
		
			
				
	
	
		
			154 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # items
 | |
| # listing individual groups first for easy lookup
 | |
| NOTES = [
 | |
|     "Key of Hope",
 | |
|     "Key of Chaos",
 | |
|     "Key of Courage",
 | |
|     "Key of Love",
 | |
|     "Key of Strength",
 | |
|     "Key of Symbiosis"
 | |
| ]
 | |
| 
 | |
| PROG_ITEMS = [
 | |
|     "Wingsuit",
 | |
|     "Rope Dart",
 | |
|     "Ninja Tabi",
 | |
|     "Power Thistle",
 | |
|     "Demon King Crown",
 | |
|     "Ruxxtin's Amulet",
 | |
|     "Fairy Bottle",
 | |
|     "Sun Crest",
 | |
|     "Moon Crest",
 | |
|     # "Astral Seed",
 | |
|     # "Astral Tea Leaves"
 | |
| ]
 | |
| 
 | |
| PHOBEKINS = [
 | |
|     "Necro",
 | |
|     "Pyro",
 | |
|     "Claustro",
 | |
|     "Acro"
 | |
| ]
 | |
| 
 | |
| USEFUL_ITEMS = [
 | |
|     "Windmill Shuriken"
 | |
| ]
 | |
| 
 | |
| # item_name_to_id needs to be deterministic and match upstream
 | |
| ALL_ITEMS = [
 | |
|     *NOTES,
 | |
|     "Windmill Shuriken",
 | |
|     "Wingsuit",
 | |
|     "Rope Dart",
 | |
|     "Ninja Tabi",
 | |
|     # "Astral Seed",
 | |
|     # "Astral Tea Leaves",
 | |
|     "Candle",
 | |
|     "Seashell",
 | |
|     "Power Thistle",
 | |
|     "Demon King Crown",
 | |
|     "Ruxxtin's Amulet",
 | |
|     "Fairy Bottle",
 | |
|     "Sun Crest",
 | |
|     "Moon Crest",
 | |
|     *PHOBEKINS,
 | |
|     "Power Seal",
 | |
|     "Time Shard"  # there's 45 separate instances of this in the client lookup, but hopefully we don't care?
 | |
| ]
 | |
| 
 | |
| # locations
 | |
| # the names of these don't actually matter, but using the upstream's names for now
 | |
| # order must be exactly the same as upstream
 | |
| ALWAYS_LOCATIONS = [
 | |
|     # notes
 | |
|     "Key of Love",
 | |
|     "Key of Courage",
 | |
|     "Key of Chaos",
 | |
|     "Key of Symbiosis",
 | |
|     "Key of Strength",
 | |
|     "Key of Hope",
 | |
|     # upgrades
 | |
|     "Wingsuit",
 | |
|     "Rope Dart",
 | |
|     "Ninja Tabi",
 | |
|     "Climbing Claws",
 | |
|     # quest items
 | |
|     "Astral Seed",
 | |
|     "Astral Tea Leaves",
 | |
|     "Candle",
 | |
|     "Seashell",
 | |
|     "Power Thistle",
 | |
|     "Demon King Crown",
 | |
|     "Ruxxtin's Amulet",
 | |
|     "Fairy Bottle",
 | |
|     "Sun Crest",
 | |
|     "Moon Crest",
 | |
|     # phobekins
 | |
|     "Necro",
 | |
|     "Pyro",
 | |
|     "Claustro",
 | |
|     "Acro"
 | |
| ]
 | |
| 
 | |
| SEALS = [
 | |
|     "Ninja Village Seal - Tree House",
 | |
| 
 | |
|     "Autumn Hills Seal - Trip Saws",
 | |
|     "Autumn Hills Seal - Double Swing Saws",
 | |
|     "Autumn Hills Seal - Spike Ball Swing",
 | |
|     "Autumn Hills Seal - Spike Ball Darts",
 | |
| 
 | |
|     "Catacombs Seal - Triple Spike Crushers",
 | |
|     "Catacombs Seal - Crusher Gauntlet",
 | |
|     "Catacombs Seal - Dirty Pond",
 | |
| 
 | |
|     "Bamboo Creek Seal - Spike Crushers and Doors",
 | |
|     "Bamboo Creek Seal - Spike Ball Pits",
 | |
|     "Bamboo Creek Seal - Spike Crushers and Doors v2",
 | |
| 
 | |
|     "Howling Grotto Seal - Windy Saws and Balls",
 | |
|     "Howling Grotto Seal - Crushing Pits",
 | |
|     "Howling Grotto Seal - Breezy Crushers",
 | |
| 
 | |
|     "Quillshroom Marsh Seal - Spikey Window",
 | |
|     "Quillshroom Marsh Seal - Sand Trap",
 | |
|     "Quillshroom Marsh Seal - Do the Spike Wave",
 | |
| 
 | |
|     "Searing Crags Seal - Triple Ball Spinner",
 | |
|     "Searing Crags Seal - Raining Rocks",
 | |
|     "Searing Crags Seal - Rhythm Rocks",
 | |
| 
 | |
|     "Glacial Peak Seal - Ice Climbers",
 | |
|     "Glacial Peak Seal - Projectile Spike Pit",
 | |
|     "Glacial Peak Seal - Glacial Air Swag",
 | |
| 
 | |
|     "Tower of Time Seal - Time Waster Seal",
 | |
|     "Tower of Time Seal - Lantern Climb",
 | |
|     "Tower of Time Seal - Arcane Orbs",
 | |
| 
 | |
|     "Cloud Ruins Seal - Ghost Pit",
 | |
|     "Cloud Ruins Seal - Toothbrush Alley",
 | |
|     "Cloud Ruins Seal - Saw Pit",
 | |
|     "Cloud Ruins Seal - Money Farm Room",
 | |
| 
 | |
|     "Underworld Seal - Sharp and Windy Climb",
 | |
|     "Underworld Seal - Spike Wall",
 | |
|     "Underworld Seal - Fireball Wave",
 | |
|     "Underworld Seal - Rising Fanta",
 | |
| 
 | |
|     "Forlorn Temple Seal - Rocket Maze",
 | |
|     "Forlorn Temple Seal - Rocket Sunset",
 | |
| 
 | |
|     "Sunken Shrine Seal - Ultra Lifeguard",
 | |
|     "Sunken Shrine Seal - Waterfall Paradise",
 | |
|     "Sunken Shrine Seal - Tabi Gauntlet",
 | |
| 
 | |
|     "Riviere Turquoise Seal - Bounces and Balls",
 | |
|     "Riviere Turquoise Seal - Launch of Faith",
 | |
|     "Riviere Turquoise Seal - Flower Power",
 | |
| 
 | |
|     "Elemental Skylands Seal - Air",
 | |
|     "Elemental Skylands Seal - Water",
 | |
|     "Elemental Skylands Seal - Fire"
 | |
| ]
 |