diff --git a/worlds/pokemon_emerald/data/regions/cities.json b/worlds/pokemon_emerald/data/regions/cities.json index 2bd21e162807..d0a1f9d29580 100644 --- a/worlds/pokemon_emerald/data/regions/cities.json +++ b/worlds/pokemon_emerald/data/regions/cities.json @@ -1269,7 +1269,7 @@ "REGION_SLATEPORT_CITY/MAIN": { "parent_map": "MAP_SLATEPORT_CITY", "has_grass": false, - "has_water": true, + "has_water": false, "has_fishing": true, "locations": [ "NPC_GIFT_RECEIVED_POWDER_JAR" @@ -1279,9 +1279,9 @@ "EVENT_VISITED_SLATEPORT_CITY" ], "exits": [ + "REGION_SLATEPORT_CITY/WATER", "REGION_ROUTE109/BEACH", - "REGION_ROUTE110/SOUTH", - "REGION_ROUTE134/WEST" + "REGION_ROUTE110/SOUTH" ], "warps": [ "MAP_SLATEPORT_CITY:0/MAP_SLATEPORT_CITY_POKEMON_CENTER_1F:0", @@ -1296,6 +1296,19 @@ "MAP_SLATEPORT_CITY:10/MAP_SLATEPORT_CITY_HOUSE:0" ] }, + "REGION_SLATEPORT_CITY/WATER": { + "parent_map": "MAP_SLATEPORT_CITY", + "has_grass": false, + "has_water": true, + "has_fishing": true, + "locations": [], + "events": [], + "exits": [ + "REGION_SLATEPORT_CITY/MAIN", + "REGION_ROUTE134/WEST" + ], + "warps": [] + }, "REGION_SLATEPORT_CITY_POKEMON_CENTER_2F/MAIN": { "parent_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F", "has_grass": false, diff --git a/worlds/pokemon_emerald/data/regions/routes.json b/worlds/pokemon_emerald/data/regions/routes.json index 706051e183c8..5dad9fff12a2 100644 --- a/worlds/pokemon_emerald/data/regions/routes.json +++ b/worlds/pokemon_emerald/data/regions/routes.json @@ -3294,7 +3294,7 @@ "locations": [], "events": [], "exits": [ - "REGION_SLATEPORT_CITY/MAIN" + "REGION_SLATEPORT_CITY/WATER" ], "warps": [] }, diff --git a/worlds/pokemon_emerald/rules.py b/worlds/pokemon_emerald/rules.py index 86cfe3c109fd..1c71da2e9292 100644 --- a/worlds/pokemon_emerald/rules.py +++ b/worlds/pokemon_emerald/rules.py @@ -464,7 +464,7 @@ def get_location(location: str): # Slateport City set_rule( - get_entrance("REGION_SLATEPORT_CITY/MAIN -> REGION_ROUTE134/WEST"), + get_entrance("REGION_SLATEPORT_CITY/MAIN -> REGION_SLATEPORT_CITY/WATER"), hm_rules["HM03 Surf"] ) set_rule( diff --git a/worlds/pokemon_emerald/test/test_accessibility.py b/worlds/pokemon_emerald/test/test_accessibility.py index d27301517137..b95b1ca32843 100644 --- a/worlds/pokemon_emerald/test/test_accessibility.py +++ b/worlds/pokemon_emerald/test/test_accessibility.py @@ -59,6 +59,10 @@ def test_inaccessible_with_no_surf(self) -> None: self.assertFalse(self.can_reach_entrance("REGION_ROUTE119/UPPER -> REGION_FORTREE_CITY/MAIN")) self.assertFalse(self.can_reach_entrance("MAP_FORTREE_CITY:3/MAP_FORTREE_CITY_MART:0")) + # Slateport Access + self.collect_by_name(["HM06 Rock Smash", "Dynamo Badge", "Mach Bike"]) + self.assertFalse(self.can_reach_region("MAP_SLATEPORT_CITY_WATER_ENCOUNTERS")) + def test_accessible_with_surf_only(self) -> None: self.collect_by_name(["HM03 Surf", "Balance Badge"]) self.assertTrue(self.can_reach_location(location_name_to_label("ITEM_PETALBURG_CITY_ETHER"))) @@ -70,6 +74,7 @@ def test_accessible_with_surf_only(self) -> None: self.assertTrue(self.can_reach_entrance("REGION_ROUTE119/UPPER -> REGION_FORTREE_CITY/MAIN")) self.assertTrue(self.can_reach_entrance("MAP_FORTREE_CITY:3/MAP_FORTREE_CITY_MART:0")) self.assertTrue(self.can_reach_location(location_name_to_label("BADGE_4"))) + self.assertTrue(self.can_reach_region("MAP_SLATEPORT_CITY_WATER_ENCOUNTERS")) class TestFreeFly(PokemonEmeraldTestBase):