2022-09-29 18:16:59 +00:00
|
|
|
import math
|
|
|
|
|
|
|
|
from BaseClasses import MultiWorld
|
|
|
|
from .Names import LocationName, ItemName
|
2024-03-12 21:00:13 +00:00
|
|
|
from worlds.AutoWorld import World
|
2023-02-19 08:10:32 +00:00
|
|
|
from worlds.generic.Rules import add_rule, set_rule
|
2022-09-29 18:16:59 +00:00
|
|
|
|
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
def set_rules(world: World):
|
2022-09-29 18:16:59 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
if world.options.goal == "yoshi_egg_hunt":
|
|
|
|
required_yoshi_eggs = world.required_egg_count
|
2022-09-29 18:16:59 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
add_rule(world.multiworld.get_location(LocationName.yoshis_house, world.player),
|
|
|
|
lambda state: state.has(ItemName.yoshi_egg, world.player, required_yoshi_eggs))
|
2022-09-29 18:16:59 +00:00
|
|
|
else:
|
2024-03-12 21:00:13 +00:00
|
|
|
add_rule(world.multiworld.get_location(LocationName.bowser, world.player), lambda state: state.has(ItemName.mario_carry, world.player))
|
2022-09-29 18:16:59 +00:00
|
|
|
|
2024-03-12 21:00:13 +00:00
|
|
|
world.multiworld.completion_condition[world.player] = lambda state: state.has(ItemName.victory, world.player)
|