| 
									
										
										
										
											2023-12-06 09:23:43 -08:00
										 |  |  | from test.bases import WorldTestBase | 
					
						
							| 
									
										
										
										
											2024-06-27 08:51:27 +02:00
										 |  |  | from .. import ZillionWorld | 
					
						
							| 
									
										
										
										
											2022-10-20 10:41:11 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ZillionTestBase(WorldTestBase): | 
					
						
							|  |  |  |     game = "Zillion" | 
					
						
							| 
									
										
										
										
											2022-10-21 18:42:16 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-23 13:23:30 -07:00
										 |  |  |     def ensure_gun_3_requirement(self) -> None: | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         There's a low probability that gun 3 is not required. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         This makes sure that gun 3 is required by making all the canisters | 
					
						
							|  |  |  |         in O-7 (including key word canisters) require gun 3. | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-11-29 12:25:01 -08:00
										 |  |  |         z_world = self.multiworld.worlds[1] | 
					
						
							|  |  |  |         assert isinstance(z_world, ZillionWorld) | 
					
						
							|  |  |  |         assert z_world.zz_system.randomizer | 
					
						
							|  |  |  |         for zz_loc_name, zz_loc in z_world.zz_system.randomizer.locations.items(): | 
					
						
							| 
									
										
										
										
											2022-10-23 13:23:30 -07:00
										 |  |  |             if zz_loc_name.startswith("r15c6"): | 
					
						
							|  |  |  |                 zz_loc.req.gun = 3 |