* 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 <scipiowright@gmail.com> * 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 --------- Co-authored-by: Scipio Wright <scipiowright@gmail.com>
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from BaseClasses import CollectionState
|
|
from .bases import CCCharlesTestBase
|
|
|
|
|
|
class TestAccess(CCCharlesTestBase):
|
|
def test_claire_breakers(self) -> None:
|
|
"""Test locations that require 4 Breakers"""
|
|
lighthouse_claire_mission_end = self.world.get_location("Lighthouse Claire Mission End")
|
|
|
|
state = CollectionState(self.multiworld)
|
|
self.collect_all_but("Breaker")
|
|
|
|
breakers_in_pool = self.get_items_by_name("Breaker")
|
|
self.assertGreaterEqual(len(breakers_in_pool), 4) # Check at least 4 Breakers are in the item pool
|
|
|
|
for breaker in breakers_in_pool[:3]:
|
|
state.collect(breaker) # Collect 3 Breakers into state
|
|
self.assertFalse(
|
|
lighthouse_claire_mission_end.can_reach(state),
|
|
"Lighthouse Claire Mission End should not be reachable with only three Breakers"
|
|
)
|
|
|
|
state.collect(breakers_in_pool[3]) # Collect 4th breaker into state
|
|
self.assertTrue(
|
|
lighthouse_claire_mission_end.can_reach(state),
|
|
"Lighthouse Claire Mission End should have been reachable with four Breakers"
|
|
)
|