From ce94fb28d447e946a71bcda7cc0e4b2b656e20d4 Mon Sep 17 00:00:00 2001 From: "(V)ariable" Date: Mon, 30 Oct 2023 16:51:29 -0400 Subject: [PATCH 1/2] Fix Screw Attack Create region Screw Attack, connect it to World, put Screw Attack in Screw Attack so you can Screw Attack while you Screw Attack (we heard you like Screw Attack) --- worlds/am2r/locations.py | 2 +- worlds/am2r/regions.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/worlds/am2r/locations.py b/worlds/am2r/locations.py index 71290734aa53..c32b29249633 100644 --- a/worlds/am2r/locations.py +++ b/worlds/am2r/locations.py @@ -113,7 +113,7 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("Underwater Distro Connection", "Distribution Center: Spikey Tunnel Shinespark", 8680076, lambda state: state.has("Gravity Suit", player) and state.has("Speed Booster", player)), # grav + speed LocationData("Underwater Distro Connection", "Distribution Center: After Spikey Tunnel", 8680078, lambda state: state.has("Power Bomb", player) and state.has("Speed Booster", player) and state.has("Gravity Suit", player) and state.has("Space Jump", player)), # speed + grav + space + pb - LocationData("Pipe Hell R", "Distribution Center: Screw Attack", 8680080), + LocationData("Screw Attack", "Distribution Center: Screw Attack", 8680080), LocationData("Pipe Hell Outside", "Distribution Center: Outside after Gravity", 8680081, lambda state: state.has("Power Bomb", player) and state.has("Space Jump", player) and state.has("Gravity Suit", player)), # pb + space + grav LocationData("Pipe Hell R", "Distribution Center: Before Underwater Pipe", 8680082, lambda state: state.has("Power Bomb", player) and state.has("Speed Booster", player)), # pb + speed diff --git a/worlds/am2r/regions.py b/worlds/am2r/regions.py index b04e543d20bf..1aba517ec3b5 100644 --- a/worlds/am2r/regions.py +++ b/worlds/am2r/regions.py @@ -51,6 +51,7 @@ def create_regions_and_locations(world: MultiWorld, player: int): create_region(world, player, locations_per_region, "Fast Travel"), create_region(world, player, locations_per_region, "Gravity"), create_region(world, player, locations_per_region, "EMP"), + create_region(world, player, locations_per_region, "Screw Attack"), create_region(world, player, locations_per_region, "GFS Thoth"), create_region(world, player, locations_per_region, "Genesis"), create_region(world, player, locations_per_region, "Deep Caves"), @@ -188,6 +189,9 @@ def create_regions_and_locations(world: MultiWorld, player: int): connect(world, player, "Pipe Hell Outside", "Pipe Hell R", logic.AM2R_can_bomb), connect(world, player, "Pipe Hell R", "Pipe Hell Outside", lambda state: state.can_reach("Pipe Hell Outside", "Region", player)), + connect(world, player, "Screw Attack", "Pipe Hell R", lambda state: state.has("Screw Attack", player) and logic.AM2R_can_schmove(state)), + connect(world, player, "Pipe Hell R", "Screw Attack", logic.AM2R_can_spider), + connect(world, player, "Underwater Distribution Center", "Underwater Distro Connection", lambda state: state.has("Ice Beam", player) or (state.has("Gravity Suit", player) and state.has("Speed Booster", player))), connect(world, player, "Underwater Distro Connection", "Underwater Distribution Center", lambda state: state.has("Ice Beam", player) or (state.has("Gravity Suit", player) and state.has("Speed Booster", player))), From 724e8ee8fd1d5934e2eb4f18538e2f53610ae93e Mon Sep 17 00:00:00 2001 From: "(V)ariable" Date: Mon, 30 Oct 2023 20:27:38 -0400 Subject: [PATCH 2/2] fix some logic insert funny joke --- worlds/am2r/locations.py | 6 +++--- worlds/am2r/regions.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/worlds/am2r/locations.py b/worlds/am2r/locations.py index c32b29249633..9834340245c1 100644 --- a/worlds/am2r/locations.py +++ b/worlds/am2r/locations.py @@ -20,7 +20,7 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): location_table: List[LocationData] = [ LocationData("Main Caves", "Main Caves: Vertical Spike Room Upper", 8680000, lambda state: logic.AM2R_can_fly(state) or state.has("Spider Ball", player) and state.has("Bombs", player)), # spider + bomb LocationData("Main Caves", "Main Caves: Vertical Spike Room Lower", 8680001, logic.AM2R_can_bomb), # bomb - LocationData("Main Caves", "Main Caves: Crumble Spike Room", 8680002, logic.AM2R_can_jump), # jump + LocationData("Main Caves", "Main Caves: Crumble Spike Room", 8680002, lambda state: state.has_any({'Hi Jump', 'Space Jump'}, player) and logic.AM2R_can_bomb(state)), # jump. just jump. ibj and dbj can come later in advanced logic frogtroll LocationData("Main Caves", "Main Caves: Maze", 8680003), LocationData("Main Caves", "Main Caves: Shinespark Before the drop", 8680004, lambda state: state.has("Speed Booster", player)), # speed LocationData("Main Caves", "Main Caves: Shinespark After the drop", 8680005, lambda state: state.has("Speed Booster", player)), # speed @@ -46,7 +46,7 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("Hydro Station", "Hydro Station: Cliff", 8680022, logic.AM2R_can_fly), LocationData("Hydro Station", "Hydro Station: Morph Tunnel", 8680023), LocationData("Hydro Station", "Hydro Station: Turbine Room", 8680024, logic.AM2R_can_bomb), # bomb - LocationData("Hydro Station", "Hydro Station: Not so Secret Tunel", 8680025, logic.AM2R_can_schmove), # schmove + LocationData("Hydro Station", "Hydro Station: Not so Secret Tunnel", 8680025, logic.AM2R_can_schmove), # schmove LocationData("Hydro Station", "Hydro Station: Water puzzle Beside Varia", 8680026, logic.AM2R_can_bomb), # bomb LocationData("Hydro Station", "Hydro Station: Varia Suit", 8680027, logic.AM2R_can_bomb), # bomb LocationData("Hydro Station", "Hydro Station: EMP room", 8680028, lambda state: state.has("Super Missile", player) and state.has("Speed Booster", player)), # super + speed @@ -108,7 +108,7 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("EMP", "Distribution Center: After EMP Activation", 8680073, lambda state: state.has("Screw Attack", player)), # screw - LocationData("Underwater Distro Connection", "Distribution Center: Spiderball Spike \"Maze\"", 8680074, lambda state: state.has("Spider Ball", player)), # spiderball + LocationData("Underwater Distro Connection", "Distribution Center: Spiderball Spike \"Maze\"", 8680074, lambda state: state.has("Spider Ball", player) and state.has("Gravity Suit", player)), # spiderball underwater LocationData("Underwater Distro Connection", "Distribution Center: Before Spikey Tunnel", 8680075), LocationData("Underwater Distro Connection", "Distribution Center: Spikey Tunnel Shinespark", 8680076, lambda state: state.has("Gravity Suit", player) and state.has("Speed Booster", player)), # grav + speed LocationData("Underwater Distro Connection", "Distribution Center: After Spikey Tunnel", 8680078, lambda state: state.has("Power Bomb", player) and state.has("Speed Booster", player) and state.has("Gravity Suit", player) and state.has("Space Jump", player)), # speed + grav + space + pb diff --git a/worlds/am2r/regions.py b/worlds/am2r/regions.py index 1aba517ec3b5..2bf68d85253c 100644 --- a/worlds/am2r/regions.py +++ b/worlds/am2r/regions.py @@ -87,7 +87,7 @@ def create_regions_and_locations(world: MultiWorld, player: int): connect(world, player, "Main Caves", "The Tower"), connect(world, player, "The Tower", "Main Caves"), - connect(world, player, "Main Caves", "Underwater Distribution Center", lambda state: state.has("Power Bomb", player) or state.has("Super Missile", player)), + connect(world, player, "Main Caves", "Underwater Distribution Center", lambda state: (state.has("Power Bomb", player) or state.has("Super Missile", player)) and state.has("Ice Beam", player)), # when s&q is fixed, remove ice beam connect(world, player, "Underwater Distribution Center", "Main Caves", lambda state: state.has("Ice Beam", player)), connect(world, player, "Main Caves", "Deep Caves", logic.AM2R_can_down), @@ -147,8 +147,8 @@ def create_regions_and_locations(world: MultiWorld, player: int): connect(world, player, "Tester Lower", "The Tower", logic.AM2R_can_bomb), connect(world, player, "Tester Upper", "The Tower", logic.AM2R_can_bomb), # A5 - connect(world, player, "Underwater Distribution Center", "EMP"), - connect(world, player, "EMP", "Underwater Distribution Center"), + connect(world, player, "Underwater Distribution Center", "EMP", logic.AM2R_can_bomb), + connect(world, player, "EMP", "Underwater Distribution Center", logic.AM2R_can_bomb), connect(world, player, "Underwater Distribution Center", "Serris"), connect(world, player, "Serris", "Underwater Distribution Center", lambda state: state.has("Gravity Suit", player)),