about summary refs log tree commit diff stats
path: root/data/connections.txtpb
The Relentless is complicated because it makes heavy use of the keyholder
mechanic. There are three rooms, and you are expected to enter each room missing
certain letters. Solving the available puzzles in each room opens the doors
between the rooms, which lets you cross into them with a different set of
missing letters.

There currently isn't a way to represent "is missing certain letters" in our map
data or randomizer state. Instead, we use rooms to emulate knowing which letters
are available. There is a room for each of the three entrances, containing the
puzzles solvable with the expected missing letters. There's a room for each of
the inner pairs of rooms, representing what becomes available when one of the
doors is opened, and a room representing what is solvable when both doors are
opened.

This is all done with the expectation that you are always entering The
Relentless with the correct letters in the Control Center's keyholders. Because
of this, the warps to The Relentless are not randomizable. The Control Center
keywords that open these warps are also not randomizable. It'd be nice to find a
way to randomize this at a later point.

Also note that in order to keep this functioning properly, if the player
receives a letter item while in The Relentless, the mod should hold off on
adding it to the player's keyboard. We may want to overhaul how keyholders work
entirely and just have some kind of thing in the Archipelago client's global
state.
Commit message (Collapse)AuthorAgeFilesLines
* Added icarusStar Rauchenberger2025-10-221-2/+15
|
* Make Sun Temple -> Graveyard be in logicStar Rauchenberger2025-10-051-0/+15
|
ver-highlight'>| * Added the_wondrousStar Rauchenberger2025-08-261-2/+51 | * Added the_wiseStar Rauchenberger2025-08-261-4/+80 | * Added the_unkemptStar Rauchenberger2025-08-261-4/+84 | * Added the_treeStar Rauchenberger2025-08-261-5/+81 | * Added the_towerStar Rauchenberger2025-08-261-2/+51 | * Added the_three_doorsStar Rauchenberger2025-08-261-1/+16 | * Added the_tenaciousStar Rauchenberger2025-08-251-3/+49 | * Added the_talentedStar Rauchenberger2025-08-251-1/+16 | * Added the_symbolicStar Rauchenberger2025-08-251-1/+16 | * Added daedalusStar Rauchenberger2025-08-241-24/+464 | * Added the_unyieldingStar Rauchenberger2025-08-211-5/+81 | * Added the_sweetStar Rauchenberger2025-08-201-0/+2 | * Added the_sun_templeStar Rauchenberger2025-08-201-1/+17 | * Added the_sturdyStar Rauchenberger2025-08-201-2/+33 | * Added the_stormyStar Rauchenberger2025-08-191-0/+16 | * Added the_sirenicStar Rauchenberger2025-08-191-1/+16 | * Added the_shopStar Rauchenberger2025-08-181-1/+17 | * Added the_revitalizedStar Rauchenberger2025-08-181-2/+49 | * Added the_repetitiveStar Rauchenberger2025-08-181-4/+38 | * Added the_relentlessStar Rauchenberger2025-08-181-0/+1 | * Added the_quietStar Rauchenberger2025-08-181-0/+1 | * Validate that nodes in game files are usedStar Rauchenberger2025-08-181-1/+1 | | | | You can now also list out nodes that you are explicitly not mapping out. The current state of the repo does produce some warnings when the validator is run and they're either endings, paintings that I'm not sure what to do with yet, and weird proxy stuff I'm not sure how to handle yet. * Added the_plazaStar Rauchenberger2025-08-171-2/+36 | * Added the_perceptiveStar Rauchenberger2025-08-171-0/+1 | * Added the_partialStar Rauchenberger2025-08-171-2/+33 | * Added the_parthenonStar Rauchenberger2025-08-171-2/+33 | * Added the_owlStar Rauchenberger2025-08-171-1/+68 | * Added the_orbStar Rauchenberger2025-08-171-1/+50 | * Added the_nuancedStar Rauchenberger2025-08-161-0/+1 | * Added the_livelyStar Rauchenberger2025-08-161-1/+16 | * Added the_literateStar Rauchenberger2025-08-161-1/+17 | * Added the_lionizedStar Rauchenberger2025-08-161-1/+16 | * Started writing a data validatorStar Rauchenberger2025-08-161-18/+2 | | | | | | | Currently, it can check whether identifiers point to non-existent objects, or whether multiple objects share the same identifier. It can also determine whether an identifier is underspecified (e.g. a door doesn't specify a room, or a global connection doesn't specify a map). * Added the_linearStar Rauchenberger2025-08-151-1/+16 | * Added the_liberatedStar Rauchenberger2025-08-151-0/+18 | * Added the_keenStar Rauchenberger2025-08-151-1/+16 |