33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import math
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from BaseClasses import MultiWorld
							 | 
						||
| 
								 | 
							
								from .Names import LocationName, ItemName
							 | 
						||
| 
								 | 
							
								from ..AutoWorld import LogicMixin
							 | 
						||
| 
								 | 
							
								from ..generic.Rules import add_rule, set_rule
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def set_rules(world: MultiWorld, player: int):
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if False:#world.include_trade_sequence[player]:
							 | 
						||
| 
								 | 
							
								        add_rule(world.get_location(LocationName.barnacles_island, player),
							 | 
						||
| 
								 | 
							
								                    lambda state: state.has(ItemName.shell, player))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        add_rule(world.get_location(LocationName.blues_beach_hut, player),
							 | 
						||
| 
								 | 
							
								                    lambda state: state.has(ItemName.present, player))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        add_rule(world.get_location(LocationName.brambles_bungalow, player),
							 | 
						||
| 
								 | 
							
								                    lambda state: state.has(ItemName.flower, player))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        add_rule(world.get_location(LocationName.barters_swap_shop, player),
							 | 
						||
| 
								 | 
							
								                    lambda state: state.has(ItemName.mirror, player))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if world.goal[player] != "knautilus":
							 | 
						||
| 
								 | 
							
								        required_banana_birds = math.floor(
							 | 
						||
| 
								 | 
							
								                world.number_of_banana_birds[player].value * (world.percentage_of_banana_birds[player].value / 100.0))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        add_rule(world.get_location(LocationName.banana_bird_mother, player),
							 | 
						||
| 
								 | 
							
								                 lambda state: state.has(ItemName.banana_bird, player, required_banana_birds))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    world.completion_condition[player] = lambda state: state.has(ItemName.victory, player)
							 |