21 lines
		
	
	
		
			831 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			831 B
		
	
	
	
		
			Python
		
	
	
	
| import math
 | |
| 
 | |
| from BaseClasses import MultiWorld
 | |
| from .Names import LocationName, ItemName
 | |
| from worlds.AutoWorld import LogicMixin
 | |
| from worlds.generic.Rules import add_rule, set_rule
 | |
| 
 | |
| 
 | |
| def set_rules(world: MultiWorld, player: int):
 | |
| 
 | |
|     if world.goal[player] == "yoshi_egg_hunt":
 | |
|         required_yoshi_eggs = max(math.floor(
 | |
|                 world.number_of_yoshi_eggs[player].value * (world.percentage_of_yoshi_eggs[player].value / 100.0)), 1)
 | |
| 
 | |
|         add_rule(world.get_location(LocationName.yoshis_house, player),
 | |
|                  lambda state: state.has(ItemName.yoshi_egg, player, required_yoshi_eggs))
 | |
|     else:
 | |
|         add_rule(world.get_location(LocationName.bowser, player), lambda state: state.has(ItemName.mario_carry, player))
 | |
| 
 | |
|     world.completion_condition[player] = lambda state: state.has(ItemName.victory, player)
 |