From 76a8b0d582b61e4457af0c54a06700528b8e9065 Mon Sep 17 00:00:00 2001 From: Yaranorgoth Date: Fri, 12 Sep 2025 23:32:42 +0200 Subject: [PATCH] CCCharles: Bug fix for cyclic connections of Entrances with the ignored rules by the logic (#5442) * Add cccharles world to AP > The logic has been tested, the game can be completed > The logic is simple and it does not take into account options ! The documentations are a work in progress * Update documentations > Redacted French and English Setup Guides > Redacted French and English Game Pages * Handling PR#5287 remarks > Revert unexpected changes on .run\Archipelago Unittests.run.xml (base Archipelago file) > Fixed typo "querty" -> "qwerty" in fr and eng Game Pages > Adding "Game page in other languages" section to eng Game Page documentation > Improved Steam path in fr and eng Setup Guides * Handled PR remarks + fixes > Added get_filler_item_name() to remove warnings > Fixed irrelevant links for documentations > Used the Player Options page instead of the default YAML on GitHub > Reworded all locations to make them simple and clear > Split some locations that can be linked with an entrance rule > Reworked all options > Updated regions according to locations > Replaced unnecessary rules by rules on entrances * Empty Options.py Only the base options are handled yet, "work in progress" features removed. * Handled PR remark > Fixed specific UT name * Handled PR remarks > UT updated by replacing depreciated features * Add start_inventory_from_pool as option This start_inventory_from_pool option is like regular start inventory but it takes items from the pool and replaces them with fillers Co-authored-by: Scipio Wright * Handled PR remarks > Mainly fixed editorial and minor issues without impact on UT results (still passed) * Update the guides according to releases > Updated the depreciated guides because the may to release the Mod has been changed > Removed the fixed issues from 'Known Issues' > Add the "Mod Download" section to simplify the others sections. * Handled PR remark > base_id reduced to ensure it fits to signed int (32 bits) in case of future AP improvements * Handled PR remarks > Set topology_present to False because unnecessary > Added an exception in case of unknown item instead of using filler classification > Fixed an issue that caused the "Bug Spray" to be considered as filler > Reworked the test_claire_breakers() test to ensure the lighthouse mission can only be finished if at least 4 breakers are collected * Added Choo-Choo Charles to README.md * CCCharles: Added rules to win > The victory could be accessed from sphere 1, this is now fixed by adding the following items as requirements: - Temple Key - Green Egg - Blue Egg - Red Egg * CCCharles: Fixed cyclic Entrances connections --------- Co-authored-by: Scipio Wright --- worlds/cccharles/Regions.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/worlds/cccharles/Regions.py b/worlds/cccharles/Regions.py index 42230145..68239dc0 100644 --- a/worlds/cccharles/Regions.py +++ b/worlds/cccharles/Regions.py @@ -232,11 +232,9 @@ def create_regions(world: MultiWorld, options: CCCharlesOptions, player: int) -> # Connect the Regions by named Entrances that must have access Rules menu_region.connect(start_camp_region) menu_region.connect(tony_tiddle_mission_region) - menu_region.connect(barn_region) - tony_tiddle_mission_region.connect(barn_region, "Barn Door") + menu_region.connect(barn_region, "Barn Door") menu_region.connect(candice_mission_region) - menu_region.connect(tutorial_house_region) - candice_mission_region.connect(tutorial_house_region, "Tutorial House Door") + menu_region.connect(tutorial_house_region, "Tutorial House Door") menu_region.connect(swamp_edges_region) menu_region.connect(swamp_mission_region) menu_region.connect(junkyard_area_region) @@ -244,7 +242,6 @@ def create_regions(world: MultiWorld, options: CCCharlesOptions, player: int) -> menu_region.connect(junkyard_shed_region) menu_region.connect(military_base_region) menu_region.connect(south_mine_outside_region) - menu_region.connect(south_mine_inside_region) south_mine_outside_region.connect(south_mine_inside_region, "South Mine Gate") menu_region.connect(middle_station_region) menu_region.connect(canyon_region) @@ -258,13 +255,11 @@ def create_regions(world: MultiWorld, options: CCCharlesOptions, player: int) -> menu_region.connect(lost_stairs_region) menu_region.connect(east_house_region) menu_region.connect(rockets_testing_ground_region) - menu_region.connect(rockets_testing_bunker_region) rockets_testing_ground_region.connect(rockets_testing_bunker_region, "Stuck Bunker Door") menu_region.connect(workshop_region) menu_region.connect(east_tower_region) menu_region.connect(lighthouse_region) menu_region.connect(north_mine_outside_region) - menu_region.connect(north_mine_inside_region) north_mine_outside_region.connect(north_mine_inside_region, "North Mine Gate") menu_region.connect(wood_bridge_region) menu_region.connect(museum_region) @@ -278,11 +273,9 @@ def create_regions(world: MultiWorld, options: CCCharlesOptions, player: int) -> menu_region.connect(north_beach_region) menu_region.connect(mine_shaft_region) menu_region.connect(mob_camp_region) - menu_region.connect(mob_camp_locked_room_region) mob_camp_region.connect(mob_camp_locked_room_region, "Mob Camp Locked Door") menu_region.connect(mine_elevator_exit_region) menu_region.connect(mountain_ruin_outside_region) - menu_region.connect(mountain_ruin_inside_region) mountain_ruin_outside_region.connect(mountain_ruin_inside_region, "Mountain Ruin Gate") menu_region.connect(prism_temple_region) menu_region.connect(pickle_val_region)