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