Super Mario World: Implement New Game (#1045)

This commit is contained in:
PoryGone
2022-09-29 14:16:59 -04:00
committed by GitHub
parent 885c8d3fcc
commit 13edfa60be
23 changed files with 4923 additions and 2 deletions

20
worlds/smw/Rules.py Normal file
View File

@@ -0,0 +1,20 @@
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 world.goal[player] == "yoshi_egg_hunt":
required_yoshi_eggs = max(math.floor(
world.number_of_yoshi_eggs[player].value * (world.percentage_of_yoshi_eggs[player].value / 100.0)), 1)
add_rule(world.get_location(LocationName.yoshis_house, player),
lambda state: state.has(ItemName.yoshi_egg, player, required_yoshi_eggs))
else:
add_rule(world.get_location(LocationName.bowser, player), lambda state: state.has(ItemName.mario_carry, player))
world.completion_condition[player] = lambda state: state.has(ItemName.victory, player)