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) |