diff --git a/worlds/AM2R/items.py b/worlds/AM2R/items.py index 7f02014cd6dd..435f6977a79f 100644 --- a/worlds/AM2R/items.py +++ b/worlds/AM2R/items.py @@ -77,7 +77,6 @@ def create_all_items(multiworld: MultiWorld, player: int) -> None: multiworld.itempool += [create_item(player, name) for name in itempool] - item_table: Dict[str, ItemData] = { "Missile": ItemData(8678000, "Ammo", ItemClassification.filler), "Super Missile": ItemData(8678001, "Ammo", ItemClassification.progression, 1), @@ -104,7 +103,7 @@ def create_all_items(multiworld: MultiWorld, player: int) -> None: "Freeze Trap": ItemData(8678022, "Trap", ItemClassification.trap), "Short Beam": ItemData(8678023, "Trap", ItemClassification.trap), "EMP Trap": ItemData(8678024, "Trap", ItemClassification.trap), - "Metroid": ItemData(8678025, "Metroid", ItemClassification.progression_skip_balancing), + "Metroid": ItemData(8678025, "MacGuffin", ItemClassification.progression_skip_balancing), "The Galaxy is at Peace": ItemData(8678026, "Victory", ItemClassification.progression) } diff --git a/worlds/AM2R/locations.py b/worlds/AM2R/locations.py index d35a47ce08b7..cce458b5be9d 100644 --- a/worlds/AM2R/locations.py +++ b/worlds/AM2R/locations.py @@ -40,10 +40,10 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("Golden Temple", "Golden Temple: Celling Missile", 8680018, lambda state: state.has("Speed Booster", player) or logic.AM2R_can_spider(state)), # canspider LocationData("Golden Temple", "Golden Temple: EMP room", 8680019, lambda state: state.has("Super Missile", player) and logic.AM2R_has_ballspark(state) and logic.AM2R_can_bomb(state) and state.has("Screw Attack", player)), # super + ballspark - LocationData("Guardian", "Guardian: Up Above", 8680020, lambda state: logic.AM2R_can_bomb(state) and logic.AM2R_can_schmove(state)), # bomb + schmove - LocationData("Guardian", "Guardian: Behind The Door", 8680021, lambda state: state.has("Power Bomb", player) and logic.AM2R_can_schmove(state)), # PB + schmove + LocationData("Guardian", "Guardian: Up Above", 8680020, lambda state: logic.AM2R_can_bomb(state) and ((logic.AM2R_can_schmove(state) and state.has("Bombs")) or logic.AM2R_can_fly(state))), # bomb + schmove + LocationData("Guardian", "Guardian: Behind The Door", 8680021, lambda state: state.has("Power Bomb", player) and ((logic.AM2R_can_schmove(state) and state.has("Bombs")) or logic.AM2R_can_fly(state))), # PB + schmove - LocationData("Hydro Station", "Hydro Station: Clif", 8680022), + 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 @@ -153,8 +153,8 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("Industrial Complex Nest", "Industrial Nest: Mimolette", 8680113, lambda state: state.has("Speed Booster", player) or state.has("Super Missile", player)), LocationData("Industrial Complex Nest", "Industrial Nest: The Big Cheese", 8680114, lambda state: state.has("Speed Booster", player) or state.has("Super Missile", player)), - LocationData("Industrial Complex Nest", "Industrial Nest: Mohwir", 8680115, lambda state: state.has("Speed Booster", player) or state.has("Super Missile", player)), - LocationData("Industrial Complex Nest", "Industrial Nest: Chirn", 8680116, lambda state: state.has("Speed Booster", player) or state.has("Super Missile", player)), + LocationData("Industrial Complex Nest", "Industrial Nest: Mohwir", 8680115, lambda state: logic.AM2R_can_bomb(state) and (state.has("Speed Booster", player) or state.has("Super Missile", player))), + LocationData("Industrial Complex Nest", "Industrial Nest: Chirn", 8680116, lambda state: logic.AM2R_can_bomb(state) and (state.has("Speed Booster", player) or state.has("Super Missile", player))), LocationData("Industrial Complex Nest", "Industrial Nest: BHHarbinger", 8680117, lambda state: logic.AM2R_can_bomb(state) and (state.has("Speed Booster", player) or state.has("Super Missile", player))), LocationData("Industrial Complex Nest", "Industrial Nest: The Abyssal Creature", 8680118, lambda state: logic.AM2R_can_bomb(state) and state.has("Spider_Ball", player) and (state.has("Speed Booster", player) or state.has("Super Missile", player))), @@ -173,11 +173,11 @@ def get_location_datas(world: Optional[MultiWorld], player: Optional[int]): LocationData("The Tower", "The Tower: Patricia", 8680127, logic.AM2R_can_fly), # Mahan LocationData("The Tower", "The Tower: Variable \"GUH\"", 8680128, logic.AM2R_can_fly), # ANX LocationData("The Tower", "Ruler of The Tower: Slagathor", 8680129, logic.AM2R_can_schmove), # Rawsome - LocationData("The Tower", "The Tower: Anikin", 8680130, logic.AM2R_can_bomb), # Xander + LocationData("The Tower", "The Tower: Anakin", 8680130, logic.AM2R_can_bomb), # Xander LocationData("The Tower", "The Tower: Mr.Sandman", 8680131, logic.AM2R_can_fly), # Xander LocationData("The Tower", "The Tower: Xander", 8680132, lambda state: state.has("Space Jump", player)), - LocationData("EMP", "EMP: Sir Zeta Commander of the Alpha Squadron", 8680133), # Lucina + LocationData("EMP", "EMP: Sir Zeta Commander of the Alpha Squadron", 8680133, logic.AM2R_can_bomb), # Lucina LocationData("Pipe Hell R", "Alpha Squadron: Timmy", 8680134), # Lucina LocationData("Pipe Hell R", "Alpha Squadron: Tommy", 8680135), # Lucina diff --git a/worlds/AM2R/regions.py b/worlds/AM2R/regions.py index 868d1feac43b..0283826b7936 100644 --- a/worlds/AM2R/regions.py +++ b/worlds/AM2R/regions.py @@ -86,8 +86,8 @@ 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"), - connect(world, player, "Underwater Distribution Center", "Main Caves", lambda state: state.has("Ice Beam")), + connect(world, player, "Main Caves", "Underwater Distribution Center", lambda state: state.has("Power Bomb", player) or state.has("Super Missile", player)), + 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), connect(world, player, "Deep Caves", "Main Caves"), @@ -119,8 +119,8 @@ def create_regions_and_locations(world: MultiWorld, player: int): connect(world, player, "Hydro Station", "Inner Hydro Station", lambda state: state.has("Screw Attack", player) or logic.AM2R_can_bomb(state)) connect(world, player, "Inner Hydro Station", "Hydro Station", lambda state: state.has("Screw Attack", player) or logic.AM2R_can_bomb(state)) - connect(world, player, "Industrial Complex Nest", "Pre Industrial Complex"), - connect(world, player, "Pre Industrial Complex", "Industrial Complex Nest"), + connect(world, player, "Industrial Complex Nest", "Pre Industrial Complex", lambda state: state.has("Speed Booster", player) or logic.AM2R_can_bomb(state)), + connect(world, player, "Pre Industrial Complex", "Industrial Complex Nest", lambda state: state.has("Speed Booster", player) or logic.AM2R_can_bomb(state)), connect(world, player, "Pre Industrial Complex", "Industrial Complex"), connect(world, player, "Industrial Complex", "Pre Industrial Complex", lambda state: state.has("Speed Booster", player)), @@ -131,7 +131,7 @@ def create_regions_and_locations(world: MultiWorld, player: int): connect(world, player, "Pre Industrial Complex", "Torizo Ascended"), connect(world, player, "Torizo Ascended", "Pre Industrial Complex"), # A4 to Geothermal - connect(world, player, "The Tower", "Geothermal"), + connect(world, player, "The Tower", "Geothermal", lambda state: state.has("Speed Booster", player) and state.has("Power Bomb", player)), connect(world, player, "Geothermal", "The Tower", lambda state: state.has("Speed Booster", player) and state.has("Power Bomb", player)), # tower to A5 connect(world, player, "The Tower", "Fast Travel", lambda state: state.has("Screw Attack", player)),