| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  | import math | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from BaseClasses import MultiWorld | 
					
						
							|  |  |  | from .Names import LocationName, ItemName | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  | from worlds.AutoWorld import World | 
					
						
							| 
									
										
										
										
											2023-02-19 03:10:32 -05:00
										 |  |  | from worlds.generic.Rules import add_rule, set_rule | 
					
						
							| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  | def set_rules(world: World): | 
					
						
							| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  |     if world.options.goal == "yoshi_egg_hunt": | 
					
						
							|  |  |  |         required_yoshi_eggs = world.required_egg_count | 
					
						
							| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  |         add_rule(world.multiworld.get_location(LocationName.yoshis_house, world.player), | 
					
						
							|  |  |  |                  lambda state: state.has(ItemName.yoshi_egg, world.player, required_yoshi_eggs)) | 
					
						
							| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  |     else: | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  |         add_rule(world.multiworld.get_location(LocationName.bowser, world.player), lambda state: state.has(ItemName.mario_carry, world.player)) | 
					
						
							| 
									
										
										
										
											2022-09-29 14:16:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-12 17:00:13 -04:00
										 |  |  |     world.multiworld.completion_condition[world.player] = lambda state: state.has(ItemName.victory, world.player) |