| 
									
										
										
										
											2024-08-31 06:15:00 -05:00
										 |  |  | from typing import List | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 09:59:55 -06:00
										 |  |  | grass_land_1_a1 = "Grass Land 1 - Animal 1"  # Nago | 
					
						
							|  |  |  | grass_land_1_a2 = "Grass Land 1 - Animal 2"  # Rick | 
					
						
							|  |  |  | grass_land_2_a1 = "Grass Land 2 - Animal 1"  # ChuChu | 
					
						
							|  |  |  | grass_land_2_a2 = "Grass Land 2 - Animal 2"  # Pitch | 
					
						
							|  |  |  | grass_land_3_a1 = "Grass Land 3 - Animal 1"  # Kine | 
					
						
							|  |  |  | grass_land_3_a2 = "Grass Land 3 - Animal 2"  # Coo | 
					
						
							|  |  |  | grass_land_4_a1 = "Grass Land 4 - Animal 1"  # ChuChu | 
					
						
							|  |  |  | grass_land_4_a2 = "Grass Land 4 - Animal 2"  # Nago | 
					
						
							|  |  |  | grass_land_5_a1 = "Grass Land 5 - Animal 1"  # Coo | 
					
						
							|  |  |  | grass_land_5_a2 = "Grass Land 5 - Animal 2"  # Kine | 
					
						
							|  |  |  | grass_land_5_a3 = "Grass Land 5 - Animal 3"  # Nago | 
					
						
							|  |  |  | grass_land_5_a4 = "Grass Land 5 - Animal 4"  # Rick | 
					
						
							|  |  |  | grass_land_6_a1 = "Grass Land 6 - Animal 1"  # Rick | 
					
						
							|  |  |  | grass_land_6_a2 = "Grass Land 6 - Animal 2"  # ChuChu | 
					
						
							|  |  |  | grass_land_6_a3 = "Grass Land 6 - Animal 3"  # Nago | 
					
						
							|  |  |  | grass_land_6_a4 = "Grass Land 6 - Animal 4"  # Coo | 
					
						
							|  |  |  | ripple_field_1_a1 = "Ripple Field 1 - Animal 1"  # Pitch | 
					
						
							|  |  |  | ripple_field_1_a2 = "Ripple Field 1 - Animal 2"  # Nago | 
					
						
							|  |  |  | ripple_field_2_a1 = "Ripple Field 2 - Animal 1"  # Kine | 
					
						
							|  |  |  | ripple_field_2_a2 = "Ripple Field 2 - Animal 2"  # ChuChu | 
					
						
							|  |  |  | ripple_field_2_a3 = "Ripple Field 2 - Animal 3"  # Rick | 
					
						
							|  |  |  | ripple_field_2_a4 = "Ripple Field 2 - Animal 4"  # Coo | 
					
						
							|  |  |  | ripple_field_3_a1 = "Ripple Field 3 - Animal 1"  # Kine | 
					
						
							|  |  |  | ripple_field_3_a2 = "Ripple Field 3 - Animal 2"  # Rick | 
					
						
							|  |  |  | ripple_field_4_a1 = "Ripple Field 4 - Animal 1"  # ChuChu | 
					
						
							|  |  |  | ripple_field_4_a2 = "Ripple Field 4 - Animal 2"  # Kine | 
					
						
							|  |  |  | ripple_field_4_a3 = "Ripple Field 4 - Animal 3"  # Nago | 
					
						
							|  |  |  | ripple_field_5_a1 = "Ripple Field 5 - Animal 1"  # Kine | 
					
						
							|  |  |  | ripple_field_5_a2 = "Ripple Field 5 - Animal 2"  # Pitch | 
					
						
							|  |  |  | ripple_field_6_a1 = "Ripple Field 6 - Animal 1"  # Nago | 
					
						
							|  |  |  | ripple_field_6_a2 = "Ripple Field 6 - Animal 2"  # Pitch | 
					
						
							|  |  |  | ripple_field_6_a3 = "Ripple Field 6 - Animal 3"  # Rick | 
					
						
							|  |  |  | ripple_field_6_a4 = "Ripple Field 6 - Animal 4"  # Coo | 
					
						
							|  |  |  | sand_canyon_1_a1 = "Sand Canyon 1 - Animal 1"  # Rick | 
					
						
							|  |  |  | sand_canyon_1_a2 = "Sand Canyon 1 - Animal 2"  # Pitch | 
					
						
							|  |  |  | sand_canyon_2_a1 = "Sand Canyon 2 - Animal 1"  # ChuChu | 
					
						
							|  |  |  | sand_canyon_2_a2 = "Sand Canyon 2 - Animal 2"  # Coo | 
					
						
							|  |  |  | sand_canyon_3_a1 = "Sand Canyon 3 - Animal 1"  # Pitch | 
					
						
							|  |  |  | sand_canyon_3_a2 = "Sand Canyon 3 - Animal 2"  # Coo | 
					
						
							|  |  |  | sand_canyon_3_a3 = "Sand Canyon 3 - Animal 3"  # ChuChu | 
					
						
							|  |  |  | sand_canyon_4_a1 = "Sand Canyon 4 - Animal 1"  # Rick | 
					
						
							|  |  |  | sand_canyon_4_a2 = "Sand Canyon 4 - Animal 2"  # Pitch | 
					
						
							|  |  |  | sand_canyon_4_a3 = "Sand Canyon 4 - Animal 3"  # Nago | 
					
						
							|  |  |  | sand_canyon_5_a1 = "Sand Canyon 5 - Animal 1"  # Rick | 
					
						
							|  |  |  | sand_canyon_5_a2 = "Sand Canyon 5 - Animal 2"  # ChuChu | 
					
						
							|  |  |  | sand_canyon_6_a1 = "Sand Canyon 6 - Animal 1"  # Coo | 
					
						
							|  |  |  | sand_canyon_6_a2 = "Sand Canyon 6 - Animal 2"  # Kine | 
					
						
							|  |  |  | sand_canyon_6_a3 = "Sand Canyon 6 - Animal 3"  # Rick | 
					
						
							|  |  |  | sand_canyon_6_a4 = "Sand Canyon 6 - Animal 4"  # ChuChu | 
					
						
							|  |  |  | sand_canyon_6_a5 = "Sand Canyon 6 - Animal 5"  # Nago | 
					
						
							|  |  |  | sand_canyon_6_a6 = "Sand Canyon 6 - Animal 6"  # Pitch | 
					
						
							|  |  |  | cloudy_park_1_a1 = "Cloudy Park 1 - Animal 1"  # Rick | 
					
						
							|  |  |  | cloudy_park_1_a2 = "Cloudy Park 1 - Animal 2"  # Nago | 
					
						
							|  |  |  | cloudy_park_1_a3 = "Cloudy Park 1 - Animal 3"  # Coo | 
					
						
							|  |  |  | cloudy_park_1_a4 = "Cloudy Park 1 - Animal 4"  # Kine | 
					
						
							|  |  |  | cloudy_park_1_a5 = "Cloudy Park 1 - Animal 5"  # ChuChu | 
					
						
							|  |  |  | cloudy_park_1_a6 = "Cloudy Park 1 - Animal 6"  # Pitch | 
					
						
							|  |  |  | cloudy_park_2_a1 = "Cloudy Park 2 - Animal 1"  # Nago | 
					
						
							|  |  |  | cloudy_park_2_a2 = "Cloudy Park 2 - Animal 2"  # Pitch | 
					
						
							|  |  |  | cloudy_park_2_a3 = "Cloudy Park 2 - Animal 3"  # ChuChu | 
					
						
							|  |  |  | cloudy_park_3_a1 = "Cloudy Park 3 - Animal 1"  # Kine | 
					
						
							|  |  |  | cloudy_park_3_a2 = "Cloudy Park 3 - Animal 2"  # Rick | 
					
						
							|  |  |  | cloudy_park_3_a3 = "Cloudy Park 3 - Animal 3"  # ChuChu | 
					
						
							|  |  |  | cloudy_park_4_a1 = "Cloudy Park 4 - Animal 1"  # Coo | 
					
						
							|  |  |  | cloudy_park_4_a2 = "Cloudy Park 4 - Animal 2"  # ChuChu | 
					
						
							|  |  |  | cloudy_park_5_a1 = "Cloudy Park 5 - Animal 1"  # Rick | 
					
						
							|  |  |  | cloudy_park_5_a2 = "Cloudy Park 5 - Animal 2"  # Coo | 
					
						
							|  |  |  | cloudy_park_6_a1 = "Cloudy Park 6 - Animal 1"  # Nago | 
					
						
							|  |  |  | cloudy_park_6_a2 = "Cloudy Park 6 - Animal 2"  # Coo | 
					
						
							|  |  |  | cloudy_park_6_a3 = "Cloudy Park 6 - Animal 3"  # Rick | 
					
						
							|  |  |  | iceberg_1_a1 = "Iceberg 1 - Animal 1"  # Pitch | 
					
						
							|  |  |  | iceberg_1_a2 = "Iceberg 1 - Animal 2"  # Rick | 
					
						
							|  |  |  | iceberg_2_a1 = "Iceberg 2 - Animal 1"  # Nago | 
					
						
							|  |  |  | iceberg_2_a2 = "Iceberg 2 - Animal 2"  # Pitch | 
					
						
							|  |  |  | iceberg_3_a1 = "Iceberg 3 - Animal 1"  # Pitch | 
					
						
							|  |  |  | iceberg_3_a2 = "Iceberg 3 - Animal 2"  # Coo | 
					
						
							|  |  |  | iceberg_3_a3 = "Iceberg 3 - Animal 3"  # Nago | 
					
						
							|  |  |  | iceberg_3_a4 = "Iceberg 3 - Animal 4"  # Rick | 
					
						
							|  |  |  | iceberg_3_a5 = "Iceberg 3 - Animal 5"  # Kine | 
					
						
							|  |  |  | iceberg_4_a1 = "Iceberg 4 - Animal 1"  # ChuChu | 
					
						
							|  |  |  | iceberg_4_a2 = "Iceberg 4 - Animal 2"  # Coo | 
					
						
							|  |  |  | iceberg_4_a3 = "Iceberg 4 - Animal 3"  # Pitch | 
					
						
							|  |  |  | iceberg_4_a4 = "Iceberg 4 - Animal 4"  # Coo | 
					
						
							|  |  |  | iceberg_4_a5 = "Iceberg 4 - Animal 5"  # Rick | 
					
						
							|  |  |  | iceberg_5_a1 = "Iceberg 5 - Animal 1"  # Kine | 
					
						
							|  |  |  | iceberg_5_a2 = "Iceberg 5 - Animal 2"  # Rick | 
					
						
							|  |  |  | iceberg_5_a3 = "Iceberg 5 - Animal 3"  # Pitch | 
					
						
							|  |  |  | iceberg_5_a4 = "Iceberg 5 - Animal 4"  # ChuChu | 
					
						
							|  |  |  | iceberg_5_a5 = "Iceberg 5 - Animal 5"  # Kine | 
					
						
							|  |  |  | iceberg_5_a6 = "Iceberg 5 - Animal 6"  # Coo | 
					
						
							|  |  |  | iceberg_5_a7 = "Iceberg 5 - Animal 7"  # Rick | 
					
						
							|  |  |  | iceberg_5_a8 = "Iceberg 5 - Animal 8"  # ChuChu | 
					
						
							|  |  |  | iceberg_6_a1 = "Iceberg 6 - Animal 1"  # Rick | 
					
						
							|  |  |  | iceberg_6_a2 = "Iceberg 6 - Animal 2"  # Coo | 
					
						
							|  |  |  | iceberg_6_a3 = "Iceberg 6 - Animal 3"  # Nago | 
					
						
							|  |  |  | iceberg_6_a4 = "Iceberg 6 - Animal 4"  # Kine | 
					
						
							|  |  |  | iceberg_6_a5 = "Iceberg 6 - Animal 5"  # ChuChu | 
					
						
							|  |  |  | iceberg_6_a6 = "Iceberg 6 - Animal 6"  # Nago | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | animal_friend_spawns = { | 
					
						
							|  |  |  |     grass_land_1_a1: "Nago Spawn", | 
					
						
							|  |  |  |     grass_land_1_a2: "Rick Spawn", | 
					
						
							|  |  |  |     grass_land_2_a1: "ChuChu Spawn", | 
					
						
							|  |  |  |     grass_land_2_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     grass_land_3_a1: "Kine Spawn", | 
					
						
							|  |  |  |     grass_land_3_a2: "Coo Spawn", | 
					
						
							|  |  |  |     grass_land_4_a1: "ChuChu Spawn", | 
					
						
							|  |  |  |     grass_land_4_a2: "Nago Spawn", | 
					
						
							|  |  |  |     grass_land_5_a1: "Coo Spawn", | 
					
						
							|  |  |  |     grass_land_5_a2: "Kine Spawn", | 
					
						
							|  |  |  |     grass_land_5_a3: "Nago Spawn", | 
					
						
							|  |  |  |     grass_land_5_a4: "Rick Spawn", | 
					
						
							|  |  |  |     grass_land_6_a1: "Rick Spawn", | 
					
						
							|  |  |  |     grass_land_6_a2: "ChuChu Spawn", | 
					
						
							|  |  |  |     grass_land_6_a3: "Nago Spawn", | 
					
						
							|  |  |  |     grass_land_6_a4: "Coo Spawn", | 
					
						
							|  |  |  |     ripple_field_1_a1: "Pitch Spawn", | 
					
						
							|  |  |  |     ripple_field_1_a2: "Nago Spawn", | 
					
						
							|  |  |  |     ripple_field_2_a1: "Kine Spawn", | 
					
						
							|  |  |  |     ripple_field_2_a2: "ChuChu Spawn", | 
					
						
							|  |  |  |     ripple_field_2_a3: "Rick Spawn", | 
					
						
							|  |  |  |     ripple_field_2_a4: "Coo Spawn", | 
					
						
							|  |  |  |     ripple_field_3_a1: "Kine Spawn", | 
					
						
							|  |  |  |     ripple_field_3_a2: "Rick Spawn", | 
					
						
							|  |  |  |     ripple_field_4_a1: "ChuChu Spawn", | 
					
						
							|  |  |  |     ripple_field_4_a2: "Kine Spawn", | 
					
						
							|  |  |  |     ripple_field_4_a3: "Nago Spawn", | 
					
						
							|  |  |  |     ripple_field_5_a1: "Kine Spawn", | 
					
						
							|  |  |  |     ripple_field_5_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     ripple_field_6_a1: "Nago Spawn", | 
					
						
							|  |  |  |     ripple_field_6_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     ripple_field_6_a3: "Rick Spawn", | 
					
						
							|  |  |  |     ripple_field_6_a4: "Coo Spawn", | 
					
						
							|  |  |  |     sand_canyon_1_a1: "Rick Spawn", | 
					
						
							|  |  |  |     sand_canyon_1_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     sand_canyon_2_a1: "ChuChu Spawn", | 
					
						
							|  |  |  |     sand_canyon_2_a2: "Coo Spawn", | 
					
						
							|  |  |  |     sand_canyon_3_a1: "Pitch Spawn", | 
					
						
							|  |  |  |     sand_canyon_3_a2: "Coo Spawn", | 
					
						
							|  |  |  |     sand_canyon_3_a3: "ChuChu Spawn", | 
					
						
							|  |  |  |     sand_canyon_4_a1: "Rick Spawn", | 
					
						
							|  |  |  |     sand_canyon_4_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     sand_canyon_4_a3: "Nago Spawn", | 
					
						
							|  |  |  |     sand_canyon_5_a1: "Rick Spawn", | 
					
						
							|  |  |  |     sand_canyon_5_a2: "ChuChu Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a1: "Coo Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a2: "Kine Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a3: "Rick Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a4: "ChuChu Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a5: "Nago Spawn", | 
					
						
							|  |  |  |     sand_canyon_6_a6: "Pitch Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a1: "Rick Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a2: "Nago Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a3: "Coo Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a4: "Kine Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a5: "ChuChu Spawn", | 
					
						
							|  |  |  |     cloudy_park_1_a6: "Pitch Spawn", | 
					
						
							|  |  |  |     cloudy_park_2_a1: "Nago Spawn", | 
					
						
							|  |  |  |     cloudy_park_2_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     cloudy_park_2_a3: "ChuChu Spawn", | 
					
						
							|  |  |  |     cloudy_park_3_a1: "Kine Spawn", | 
					
						
							|  |  |  |     cloudy_park_3_a2: "Rick Spawn", | 
					
						
							|  |  |  |     cloudy_park_3_a3: "ChuChu Spawn", | 
					
						
							|  |  |  |     cloudy_park_4_a1: "Coo Spawn", | 
					
						
							|  |  |  |     cloudy_park_4_a2: "ChuChu Spawn", | 
					
						
							|  |  |  |     cloudy_park_5_a1: "Rick Spawn", | 
					
						
							|  |  |  |     cloudy_park_5_a2: "Coo Spawn", | 
					
						
							|  |  |  |     cloudy_park_6_a1: "Nago Spawn", | 
					
						
							|  |  |  |     cloudy_park_6_a2: "Coo Spawn", | 
					
						
							|  |  |  |     cloudy_park_6_a3: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_1_a1: "Pitch Spawn", | 
					
						
							|  |  |  |     iceberg_1_a2: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_2_a1: "Nago Spawn", | 
					
						
							|  |  |  |     iceberg_2_a2: "Pitch Spawn", | 
					
						
							|  |  |  |     iceberg_3_a1: "Pitch Spawn", | 
					
						
							|  |  |  |     iceberg_3_a2: "Coo Spawn", | 
					
						
							|  |  |  |     iceberg_3_a3: "Nago Spawn", | 
					
						
							|  |  |  |     iceberg_3_a4: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_3_a5: "Kine Spawn", | 
					
						
							|  |  |  |     iceberg_4_a1: "ChuChu Spawn", | 
					
						
							|  |  |  |     iceberg_4_a2: "Coo Spawn", | 
					
						
							|  |  |  |     iceberg_4_a3: "Pitch Spawn", | 
					
						
							|  |  |  |     iceberg_4_a4: "Coo Spawn", | 
					
						
							|  |  |  |     iceberg_4_a5: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_5_a1: "Kine Spawn", | 
					
						
							|  |  |  |     iceberg_5_a2: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_5_a3: "Pitch Spawn", | 
					
						
							|  |  |  |     iceberg_5_a4: "ChuChu Spawn", | 
					
						
							|  |  |  |     iceberg_5_a5: "Kine Spawn", | 
					
						
							|  |  |  |     iceberg_5_a6: "Coo Spawn", | 
					
						
							|  |  |  |     iceberg_5_a7: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_5_a8: "ChuChu Spawn", | 
					
						
							|  |  |  |     iceberg_6_a1: "Rick Spawn", | 
					
						
							|  |  |  |     iceberg_6_a2: "Coo Spawn", | 
					
						
							|  |  |  |     iceberg_6_a3: "Nago Spawn", | 
					
						
							|  |  |  |     iceberg_6_a4: "Kine Spawn", | 
					
						
							|  |  |  |     iceberg_6_a5: "ChuChu Spawn", | 
					
						
							|  |  |  |     iceberg_6_a6: "Nago Spawn", | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-08-31 06:15:00 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | problematic_sets: List[List[str]] = [ | 
					
						
							|  |  |  |     # Animal groups that must be guaranteed unique. Potential for softlocks on future-ER if not. | 
					
						
							|  |  |  |     [ripple_field_4_a1, ripple_field_4_a2, ripple_field_4_a3], | 
					
						
							|  |  |  |     [sand_canyon_3_a1, sand_canyon_3_a2, sand_canyon_3_a3], | 
					
						
							|  |  |  |     [cloudy_park_6_a1, cloudy_park_6_a2, cloudy_park_6_a3], | 
					
						
							|  |  |  |     [iceberg_6_a1, iceberg_6_a2, iceberg_6_a3], | 
					
						
							|  |  |  |     [iceberg_6_a4, iceberg_6_a5, iceberg_6_a6] | 
					
						
							|  |  |  | ] |