From dd5b25399a3e5a5a920eecf30350df86fa864f77 Mon Sep 17 00:00:00 2001 From: PinkSwitch <52474902+PinkSwitch@users.noreply.github.com> Date: Sat, 20 Dec 2025 06:36:20 -0600 Subject: [PATCH] Yoshi's Island - Fix some small logic issues that were reported, add json file (#5742) * Fix Piece of Luigi not goaling until reset * Update .gitignore * fix logic thing that one guy said * fix platform being missing from chomp rock zone rules * add json file * added the wrong one * remove extraneous lnk * Update archipelago.json --------- Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> --- worlds/yoshisisland/Rules.py | 8 +++++--- worlds/yoshisisland/archipelago.json | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 worlds/yoshisisland/archipelago.json diff --git a/worlds/yoshisisland/Rules.py b/worlds/yoshisisland/Rules.py index 68d4f29a73..57805fd7df 100644 --- a/worlds/yoshisisland/Rules.py +++ b/worlds/yoshisisland/Rules.py @@ -34,7 +34,7 @@ def set_easy_rules(world: "YoshisIslandWorld") -> None: set_rule(world.multiworld.get_location("Shy-Guys On Stilts: Level Clear", player), lambda state: state.has_all({"Large Spring Ball", "Beanstalk"}, player)) set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Red Coins", player), lambda state: state.has_all({"Flashing Eggs", "Spring Ball", "Chomp Rock", "Beanstalk"}, player)) - set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Stars", player), lambda state: logic.has_midring(state) or (logic.cansee_clouds and state.has_all({"Spring Ball", "Chomp Rock", "Beanstalk"}, player))) + set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Stars", player), lambda state: logic.has_midring(state) or (logic.cansee_clouds(state) and state.has_all({"Spring Ball", "Chomp Rock", "Beanstalk"}, player))) set_rule(world.multiworld.get_location("Salvo The Slime's Castle: Red Coins", player), lambda state: state.has("Platform Ghost", player)) set_rule(world.multiworld.get_location("Salvo The Slime's Castle: Flowers", player), lambda state: state.has("Platform Ghost", player)) @@ -127,7 +127,7 @@ def set_easy_rules(world: "YoshisIslandWorld") -> None: set_rule(world.multiworld.get_location("Marching Milde's Fort: Flowers", player), lambda state: state.has_all({"Dashed Stairs", "Vanishing Arrow Wheel", "Arrow Wheel", "Bucket"}, player) and (state.has("Egg Capacity Upgrade", player, 1) or logic.combat_item(state))) set_rule(world.multiworld.get_location("Marching Milde's Fort: Stars", player), lambda state: state.has("Dashed Stairs", player) and (logic.has_midring(state) or state.has("Vanishing Arrow Wheel", player) or logic.cansee_clouds(state))) - set_rule(world.multiworld.get_location("Chomp Rock Zone: Red Coins", player), lambda state: state.has_all({"Large Spring Ball", "Chomp Rock"}, player)) + set_rule(world.multiworld.get_location("Chomp Rock Zone: Red Coins", player), lambda state: state.has_all({"Large Spring Ball", "Chomp Rock", "Dashed Platform", "! Switch"}, player)) set_rule(world.multiworld.get_location("Chomp Rock Zone: Flowers", player), lambda state: state.has_all({"Chomp Rock", "! Switch", "Spring Ball", "Dashed Platform"}, player)) set_rule(world.multiworld.get_location("Chomp Rock Zone: Stars", player), lambda state: state.has_all({"Chomp Rock", "! Switch", "Spring Ball", "Dashed Platform"}, player)) @@ -262,7 +262,7 @@ def set_normal_rules(world: "YoshisIslandWorld") -> None: set_rule(world.multiworld.get_location("Shy-Guys On Stilts: Level Clear", player), lambda state: state.has_all({"Large Spring Ball", "Beanstalk"}, player)) set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Red Coins", player), lambda state: state.has_all({"Flashing Eggs", "Spring Ball", "Chomp Rock", "Beanstalk"}, player)) - set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Stars", player), lambda state: logic.has_midring(state) or (logic.cansee_clouds and state.has_all({"Spring Ball", "Chomp Rock", "Beanstalk"}, player))) + set_rule(world.multiworld.get_location("Touch Fuzzy Get Dizzy: Stars", player), lambda state: logic.has_midring(state) or (logic.cansee_clouds(state) and state.has_all({"Spring Ball", "Chomp Rock", "Beanstalk"}, player))) set_rule(world.multiworld.get_location("Salvo The Slime's Castle: Red Coins", player), lambda state: state.has("Platform Ghost", player)) set_rule(world.multiworld.get_location("Salvo The Slime's Castle: Flowers", player), lambda state: state.has("Platform Ghost", player)) @@ -610,3 +610,5 @@ def set_hard_extra_rules(world: "YoshisIslandWorld") -> None: set_rule(world.multiworld.get_location("Castles - Masterpiece Set: Flowers", player), lambda state: state.has(("Large Spring Ball"), player)) set_rule(world.multiworld.get_location("Castles - Masterpiece Set: Stars", player), lambda state: True) set_rule(world.multiworld.get_location("Castles - Masterpiece Set: Level Clear", player), lambda state: state.has(("Large Spring Ball"), player)) + + diff --git a/worlds/yoshisisland/archipelago.json b/worlds/yoshisisland/archipelago.json new file mode 100644 index 0000000000..8b5a465e36 --- /dev/null +++ b/worlds/yoshisisland/archipelago.json @@ -0,0 +1,5 @@ +{"game": "Yoshi's Island", +"authors": ["Pink Switch"], +"minimum_ap_version": "0.6.3", + +"world_version": "1.0.0"}