| 
									
										
										
										
											2022-10-23 13:23:30 -07:00
										 |  |  | from typing import cast | 
					
						
							| 
									
										
										
										
											2022-12-11 13:15:23 +01:00
										 |  |  | from test.TestBase import WorldTestBase | 
					
						
							| 
									
										
										
										
											2022-10-23 13:23:30 -07:00
										 |  |  | from worlds.zillion 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. | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2022-10-31 21:41:21 -05:00
										 |  |  |         zz_world = cast(ZillionWorld, self.multiworld.worlds[1]) | 
					
						
							| 
									
										
										
										
											2022-10-23 13:23:30 -07:00
										 |  |  |         assert zz_world.zz_system.randomizer | 
					
						
							|  |  |  |         for zz_loc_name, zz_loc in zz_world.zz_system.randomizer.locations.items(): | 
					
						
							|  |  |  |             if zz_loc_name.startswith("r15c6"): | 
					
						
							|  |  |  |                 zz_loc.req.gun = 3 |