DKC3: Long-overdue World code cleanup (#2820)

Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
This commit is contained in:
PoryGone
2024-02-27 22:53:13 -05:00
committed by GitHub
parent 59a6e4a1b5
commit 36cee91a2c
6 changed files with 287 additions and 280 deletions

View File

@@ -1,32 +1,31 @@
import math
from BaseClasses import MultiWorld
from .Names import LocationName, ItemName
from worlds.AutoWorld import LogicMixin
from worlds.AutoWorld import LogicMixin, World
from worlds.generic.Rules import add_rule, set_rule
def set_rules(world: MultiWorld, player: int):
def set_rules(world: World):
if False:#world.include_trade_sequence[player]:
add_rule(world.get_location(LocationName.barnacles_island, player),
lambda state: state.has(ItemName.shell, player))
if False:#world.options.include_trade_sequence:
add_rule(world.multiworld.get_location(LocationName.barnacles_island, world.player),
lambda state: state.has(ItemName.shell, world.player))
add_rule(world.get_location(LocationName.blues_beach_hut, player),
lambda state: state.has(ItemName.present, player))
add_rule(world.multiworld.get_location(LocationName.blues_beach_hut, world.player),
lambda state: state.has(ItemName.present, world.player))
add_rule(world.get_location(LocationName.brambles_bungalow, player),
lambda state: state.has(ItemName.flower, player))
add_rule(world.multiworld.get_location(LocationName.brambles_bungalow, world.player),
lambda state: state.has(ItemName.flower, world.player))
add_rule(world.get_location(LocationName.barters_swap_shop, player),
lambda state: state.has(ItemName.mirror, player))
add_rule(world.multiworld.get_location(LocationName.barters_swap_shop, world.player),
lambda state: state.has(ItemName.mirror, world.player))
if world.goal[player] != "knautilus":
if world.options.goal != "knautilus":
required_banana_birds = math.floor(
world.number_of_banana_birds[player].value * (world.percentage_of_banana_birds[player].value / 100.0))
world.options.number_of_banana_birds.value * (world.options.percentage_of_banana_birds.value / 100.0))
add_rule(world.get_location(LocationName.banana_bird_mother, player),
lambda state: state.has(ItemName.banana_bird, player, required_banana_birds))
add_rule(world.multiworld.get_location(LocationName.banana_bird_mother, world.player),
lambda state: state.has(ItemName.banana_bird, world.player, required_banana_birds))
world.completion_condition[player] = lambda state: state.has(ItemName.victory, player)
world.multiworld.completion_condition[world.player] = lambda state: state.has(ItemName.victory, world.player)