diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-18 17:17:27 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-18 17:17:27 -0400 |
| commit | 59a1f9e9c96d6ce89cffcb93e567b5ee601ed4ab (patch) | |
| tree | 06fadbd89c92a8f90a51bfdeb288cfa69eed04bb /data/maps/the_relentless | |
| parent | 8a6162739027302c205a1cb244a35b4a6f7012fa (diff) | |
| download | lingo2-archipelago-59a1f9e9c96d6ce89cffcb93e567b5ee601ed4ab.tar.gz lingo2-archipelago-59a1f9e9c96d6ce89cffcb93e567b5ee601ed4ab.tar.bz2 lingo2-archipelago-59a1f9e9c96d6ce89cffcb93e567b5ee601ed4ab.zip | |
Added the_relentless
Diffstat (limited to 'data/maps/the_relentless')
| -rw-r--r-- | data/maps/the_relentless/README | 25 | ||||
| -rw-r--r-- | data/maps/the_relentless/connections.txtpb | 41 | ||||
| -rw-r--r-- | data/maps/the_relentless/doors.txtpb | 79 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/All.txtpb | 58 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Left And Turn.txtpb | 63 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Left Room.txtpb | 23 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Mastery.txtpb | 6 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Shop Room.txtpb | 36 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Turn And Shop.txtpb | 56 | ||||
| -rw-r--r-- | data/maps/the_relentless/rooms/Turn Room.txtpb | 22 |
10 files changed, 409 insertions, 0 deletions
| diff --git a/data/maps/the_relentless/README b/data/maps/the_relentless/README new file mode 100644 index 0000000..a3a4ecd --- /dev/null +++ b/data/maps/the_relentless/README | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | The Relentless is complicated because it makes heavy use of the keyholder | ||
| 2 | mechanic. There are three rooms, and you are expected to enter each room missing | ||
| 3 | certain letters. Solving the available puzzles in each room opens the doors | ||
| 4 | between the rooms, which lets you cross into them with a different set of | ||
| 5 | missing letters. | ||
| 6 | |||
| 7 | There currently isn't a way to represent "is missing certain letters" in our map | ||
| 8 | data or randomizer state. Instead, we use rooms to emulate knowing which letters | ||
| 9 | are available. There is a room for each of the three entrances, containing the | ||
| 10 | puzzles solvable with the expected missing letters. There's a room for each of | ||
| 11 | the inner pairs of rooms, representing what becomes available when one of the | ||
| 12 | doors is opened, and a room representing what is solvable when both doors are | ||
| 13 | opened. | ||
| 14 | |||
| 15 | This is all done with the expectation that you are always entering The | ||
| 16 | Relentless with the correct letters in the Control Center's keyholders. Because | ||
| 17 | of this, the warps to The Relentless are not randomizable. The Control Center | ||
| 18 | keywords that open these warps are also not randomizable. It'd be nice to find a | ||
| 19 | way to randomize this at a later point. | ||
| 20 | |||
| 21 | Also note that in order to keep this functioning properly, if the player | ||
| 22 | receives a letter item while in The Relentless, the mod should hold off on | ||
| 23 | adding it to the player's keyboard. We may want to overhaul how keyholders work | ||
| 24 | entirely and just have some kind of thing in the Archipelago client's global | ||
| 25 | state. | ||
| diff --git a/data/maps/the_relentless/connections.txtpb b/data/maps/the_relentless/connections.txtpb new file mode 100644 index 0000000..8c56b0a --- /dev/null +++ b/data/maps/the_relentless/connections.txtpb | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | connections { | ||
| 2 | from_room: "Left Room" | ||
| 3 | to_room: "Left And Turn" | ||
| 4 | door { name: "Left/Turn Door" } | ||
| 5 | oneway: true | ||
| 6 | } | ||
| 7 | connections { | ||
| 8 | from_room: "Turn Room" | ||
| 9 | to_room: "Left And Turn" | ||
| 10 | door { name: "Left/Turn Door" } | ||
| 11 | oneway: true | ||
| 12 | } | ||
| 13 | connections { | ||
| 14 | from_room: "Turn Room" | ||
| 15 | to_room: "Turn And Shop" | ||
| 16 | door { name: "Turn/Shop Door" } | ||
| 17 | oneway: true | ||
| 18 | } | ||
| 19 | connections { | ||
| 20 | from_room: "Shop Room" | ||
| 21 | to_room: "Turn And Shop" | ||
| 22 | door { name: "Turn/Shop Door" } | ||
| 23 | oneway: true | ||
| 24 | } | ||
| 25 | connections { | ||
| 26 | from_room: "Left And Turn" | ||
| 27 | to_room: "All" | ||
| 28 | door { name: "All Doors" } | ||
| 29 | oneway: true | ||
| 30 | } | ||
| 31 | connections { | ||
| 32 | from_room: "Turn And Shop" | ||
| 33 | to_room: "All" | ||
| 34 | door { name: "All Doors" } | ||
| 35 | oneway: true | ||
| 36 | } | ||
| 37 | connections { | ||
| 38 | from_room: "Left Room" | ||
| 39 | to_room: "Mastery" | ||
| 40 | door { name: "All Panels" } | ||
| 41 | } | ||
| diff --git a/data/maps/the_relentless/doors.txtpb b/data/maps/the_relentless/doors.txtpb new file mode 100644 index 0000000..11f6369 --- /dev/null +++ b/data/maps/the_relentless/doors.txtpb | |||
| @@ -0,0 +1,79 @@ | |||
| 1 | doors { | ||
| 2 | name: "Left/Turn Door" | ||
| 3 | type: LOCATION_ONLY | ||
| 4 | panels { room: "Left Room" name: "HIDE" } | ||
| 5 | panels { room: "Left Room" name: "LEFT" } | ||
| 6 | panels { room: "Left Room" name: "MORE" } | ||
| 7 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
| 8 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
| 9 | panels { room: "Turn Room" name: "MORE" } | ||
| 10 | location_room: "Turn Room" | ||
| 11 | } | ||
| 12 | doors { | ||
| 13 | name: "Turn/Shop Door" | ||
| 14 | type: LOCATION_ONLY | ||
| 15 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
| 16 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
| 17 | panels { room: "Turn Room" name: "MORE" } | ||
| 18 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
| 19 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
| 20 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
| 21 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
| 22 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
| 23 | location_room: "Turn Room" | ||
| 24 | } | ||
| 25 | doors { | ||
| 26 | name: "All Doors" | ||
| 27 | type: EVENT | ||
| 28 | panels { room: "Left Room" name: "HIDE" } | ||
| 29 | panels { room: "Left Room" name: "LEFT" } | ||
| 30 | panels { room: "Left Room" name: "MORE" } | ||
| 31 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
| 32 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
| 33 | panels { room: "Turn Room" name: "MORE" } | ||
| 34 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
| 35 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
| 36 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
| 37 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
| 38 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
| 39 | } | ||
| 40 | doors { | ||
| 41 | name: "All Panels" | ||
| 42 | type: EVENT | ||
| 43 | panels { room: "Left Room" name: "HIDE" } | ||
| 44 | panels { room: "Left Room" name: "LEFT" } | ||
| 45 | panels { room: "Left Room" name: "MORE" } | ||
| 46 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
| 47 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
| 48 | panels { room: "Turn Room" name: "MORE" } | ||
| 49 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
| 50 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
| 51 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
| 52 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
| 53 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
| 54 | panels { room: "All" name: "LEFT (1)" } | ||
| 55 | panels { room: "All" name: "LEFT (2)" } | ||
| 56 | panels { room: "All" name: "EXIT (1)" } | ||
| 57 | panels { room: "All" name: "EXIT (2)" } | ||
| 58 | panels { room: "All" name: "EXIT (3)" } | ||
| 59 | panels { room: "All" name: "MORE (1)" } | ||
| 60 | panels { room: "All" name: "MORE (2)" } | ||
| 61 | panels { room: "All" name: "HIDE" } | ||
| 62 | panels { room: "Left And Turn" name: "HIDE (1)" } | ||
| 63 | panels { room: "Left And Turn" name: "HIDE (2)" } | ||
| 64 | panels { room: "Left And Turn" name: "HIDE (3)" } | ||
| 65 | panels { room: "Left And Turn" name: "LEFT (1)" } | ||
| 66 | panels { room: "Left And Turn" name: "LEFT (2)" } | ||
| 67 | panels { room: "Left And Turn" name: "MORE (1)" } | ||
| 68 | panels { room: "Left And Turn" name: "MORE (2)" } | ||
| 69 | panels { room: "Left And Turn" name: "MORE (3)" } | ||
| 70 | panels { room: "Left And Turn" name: "MORE (4)" } | ||
| 71 | panels { room: "Turn And Shop" name: "LEFT (1)" } | ||
| 72 | panels { room: "Turn And Shop" name: "LEFT (2)" } | ||
| 73 | panels { room: "Turn And Shop" name: "EXIT (1)" } | ||
| 74 | panels { room: "Turn And Shop" name: "EXIT (2)" } | ||
| 75 | panels { room: "Turn And Shop" name: "EXIT (3)" } | ||
| 76 | panels { room: "Turn And Shop" name: "HIDE (1)" } | ||
| 77 | panels { room: "Turn And Shop" name: "HIDE (2)" } | ||
| 78 | panels { room: "Turn And Shop" name: "MORE" } | ||
| 79 | } | ||
| diff --git a/data/maps/the_relentless/rooms/All.txtpb b/data/maps/the_relentless/rooms/All.txtpb new file mode 100644 index 0000000..62a2ba1 --- /dev/null +++ b/data/maps/the_relentless/rooms/All.txtpb | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | name: "All" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "LEFT (1)" | ||
| 5 | path: "Panels/Room_1/panel_6" | ||
| 6 | clue: "left" | ||
| 7 | answer: "write" | ||
| 8 | symbols: "sun" | ||
| 9 | symbols: "zero" | ||
| 10 | } | ||
| 11 | panels { | ||
| 12 | name: "EXIT (1)" | ||
| 13 | path: "Panels/Room_1/panel_10" | ||
| 14 | clue: "exit" | ||
| 15 | answer: "quit" | ||
| 16 | symbols: "sun" | ||
| 17 | } | ||
| 18 | panels { | ||
| 19 | name: "EXIT (2)" | ||
| 20 | path: "Panels/Room_1/panel_11" | ||
| 21 | clue: "exit" | ||
| 22 | answer: "exit" | ||
| 23 | } | ||
| 24 | panels { | ||
| 25 | name: "EXIT (3)" | ||
| 26 | path: "Panels/Room_1/panel_12" | ||
| 27 | clue: "exit" | ||
| 28 | answer: "enter" | ||
| 29 | symbols: "sun" | ||
| 30 | } | ||
| 31 | panels { | ||
| 32 | name: "HIDE" | ||
| 33 | path: "Panels/Room_3/panel_1" | ||
| 34 | clue: "hide" | ||
| 35 | answer: "unmask" | ||
| 36 | symbols: "sun" | ||
| 37 | } | ||
| 38 | panels { | ||
| 39 | name: "LEFT (2)" | ||
| 40 | path: "Panels/Room_3/panel_4" | ||
| 41 | clue: "left" | ||
| 42 | answer: "wrong" | ||
| 43 | symbols: "sun" | ||
| 44 | } | ||
| 45 | panels { | ||
| 46 | name: "MORE (1)" | ||
| 47 | path: "Panels/Room_3/panel_7" | ||
| 48 | clue: "more" | ||
| 49 | answer: "your" | ||
| 50 | symbols: "zero" | ||
| 51 | } | ||
| 52 | panels { | ||
| 53 | name: "MORE (2)" | ||
| 54 | path: "Panels/Room_3/panel_8" | ||
| 55 | clue: "more" | ||
| 56 | answer: "or" | ||
| 57 | symbols: "sparkles" | ||
| 58 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Left And Turn.txtpb b/data/maps/the_relentless/rooms/Left And Turn.txtpb new file mode 100644 index 0000000..7bc6a60 --- /dev/null +++ b/data/maps/the_relentless/rooms/Left And Turn.txtpb | |||
| @@ -0,0 +1,63 @@ | |||
| 1 | name: "Left And Turn" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "HIDE (1)" | ||
| 5 | path: "Panels/Room_1/panel_2" | ||
| 6 | clue: "hide" | ||
| 7 | answer: "hide" | ||
| 8 | } | ||
| 9 | panels { | ||
| 10 | name: "HIDE (2)" | ||
| 11 | path: "Panels/Room_1/panel_3" | ||
| 12 | clue: "hide" | ||
| 13 | answer: "seek" | ||
| 14 | symbols: "sun" | ||
| 15 | } | ||
| 16 | panels { | ||
| 17 | name: "LEFT (1)" | ||
| 18 | path: "Panels/Room_1/panel_5" | ||
| 19 | clue: "left" | ||
| 20 | answer: "left" | ||
| 21 | } | ||
| 22 | panels { | ||
| 23 | name: "MORE (1)" | ||
| 24 | path: "Panels/Room_1/panel_8" | ||
| 25 | clue: "more" | ||
| 26 | answer: "me" | ||
| 27 | symbols: "sparkles" | ||
| 28 | } | ||
| 29 | panels { | ||
| 30 | name: "MORE (2)" | ||
| 31 | path: "Panels/Room_1/panel_9" | ||
| 32 | clue: "more" | ||
| 33 | answer: "less" | ||
| 34 | symbols: "sun" | ||
| 35 | } | ||
| 36 | panels { | ||
| 37 | name: "HIDE (3)" | ||
| 38 | path: "Panels/Room_2/panel_1" | ||
| 39 | clue: "hide" | ||
| 40 | answer: "unmask" | ||
| 41 | symbols: "sun" | ||
| 42 | } | ||
| 43 | panels { | ||
| 44 | name: "LEFT (2)" | ||
| 45 | path: "Panels/Room_2/panel_4" | ||
| 46 | clue: "left" | ||
| 47 | answer: "wrong" | ||
| 48 | symbols: "sun" | ||
| 49 | } | ||
| 50 | panels { | ||
| 51 | name: "MORE (3)" | ||
| 52 | path: "Panels/Room_2/panel_7" | ||
| 53 | clue: "more" | ||
| 54 | answer: "your" | ||
| 55 | symbols: "zero" | ||
| 56 | } | ||
| 57 | panels { | ||
| 58 | name: "MORE (4)" | ||
| 59 | path: "Panels/Room_2/panel_8" | ||
| 60 | clue: "more" | ||
| 61 | answer: "or" | ||
| 62 | symbols: "sparkles" | ||
| 63 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Left Room.txtpb b/data/maps/the_relentless/rooms/Left Room.txtpb new file mode 100644 index 0000000..b67e829 --- /dev/null +++ b/data/maps/the_relentless/rooms/Left Room.txtpb | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | name: "Left Room" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "HIDE" | ||
| 5 | path: "Panels/Room_1/panel_1" | ||
| 6 | clue: "hide" | ||
| 7 | answer: "unmask" | ||
| 8 | symbols: "sun" | ||
| 9 | } | ||
| 10 | panels { | ||
| 11 | name: "LEFT" | ||
| 12 | path: "Panels/Room_1/panel_4" | ||
| 13 | clue: "left" | ||
| 14 | answer: "wrong" | ||
| 15 | symbols: "sun" | ||
| 16 | } | ||
| 17 | panels { | ||
| 18 | name: "MORE" | ||
| 19 | path: "Panels/Room_1/panel_7" | ||
| 20 | clue: "more" | ||
| 21 | answer: "your" | ||
| 22 | symbols: "zero" | ||
| 23 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Mastery.txtpb b/data/maps/the_relentless/rooms/Mastery.txtpb new file mode 100644 index 0000000..8b12c56 --- /dev/null +++ b/data/maps/the_relentless/rooms/Mastery.txtpb | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | name: "Mastery" | ||
| 2 | display_name: "Relentless" | ||
| 3 | masteries { | ||
| 4 | name: "MASTERY" | ||
| 5 | path: "Components/Collectables/smiley" | ||
| 6 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Shop Room.txtpb b/data/maps/the_relentless/rooms/Shop Room.txtpb new file mode 100644 index 0000000..c0f9cd0 --- /dev/null +++ b/data/maps/the_relentless/rooms/Shop Room.txtpb | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | name: "Shop Room" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "LEFT (1)" | ||
| 5 | path: "Panels/Room_3/panel_5" | ||
| 6 | clue: "left" | ||
| 7 | answer: "left" | ||
| 8 | } | ||
| 9 | panels { | ||
| 10 | name: "LEFT (2)" | ||
| 11 | path: "Panels/Room_3/panel_6" | ||
| 12 | clue: "left" | ||
| 13 | answer: "write" | ||
| 14 | symbols: "sun" | ||
| 15 | symbols: "zero" | ||
| 16 | } | ||
| 17 | panels { | ||
| 18 | name: "EXIT (1)" | ||
| 19 | path: "Panels/Room_3/panel_10" | ||
| 20 | clue: "exit" | ||
| 21 | answer: "quit" | ||
| 22 | symbols: "sun" | ||
| 23 | } | ||
| 24 | panels { | ||
| 25 | name: "EXIT (2)" | ||
| 26 | path: "Panels/Room_3/panel_11" | ||
| 27 | clue: "exit" | ||
| 28 | answer: "exit" | ||
| 29 | } | ||
| 30 | panels { | ||
| 31 | name: "EXIT (3)" | ||
| 32 | path: "Panels/Room_3/panel_12" | ||
| 33 | clue: "exit" | ||
| 34 | answer: "enter" | ||
| 35 | symbols: "sun" | ||
| 36 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Turn And Shop.txtpb b/data/maps/the_relentless/rooms/Turn And Shop.txtpb new file mode 100644 index 0000000..d5b4d5d --- /dev/null +++ b/data/maps/the_relentless/rooms/Turn And Shop.txtpb | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | name: "Turn And Shop" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "LEFT (1)" | ||
| 5 | path: "Panels/Room_2/panel_5" | ||
| 6 | clue: "left" | ||
| 7 | answer: "left" | ||
| 8 | } | ||
| 9 | panels { | ||
| 10 | name: "LEFT (2)" | ||
| 11 | path: "Panels/Room_2/panel_6" | ||
| 12 | clue: "left" | ||
| 13 | answer: "write" | ||
| 14 | symbols: "sun" | ||
| 15 | symbols: "zero" | ||
| 16 | } | ||
| 17 | panels { | ||
| 18 | name: "EXIT (1)" | ||
| 19 | path: "Panels/Room_2/panel_10" | ||
| 20 | clue: "exit" | ||
| 21 | answer: "quit" | ||
| 22 | symbols: "sun" | ||
| 23 | } | ||
| 24 | panels { | ||
| 25 | name: "EXIT (2)" | ||
| 26 | path: "Panels/Room_2/panel_11" | ||
| 27 | clue: "exit" | ||
| 28 | answer: "exit" | ||
| 29 | } | ||
| 30 | panels { | ||
| 31 | name: "EXIT (3)" | ||
| 32 | path: "Panels/Room_2/panel_12" | ||
| 33 | clue: "exit" | ||
| 34 | answer: "enter" | ||
| 35 | symbols: "sun" | ||
| 36 | } | ||
| 37 | panels { | ||
| 38 | name: "HIDE (1)" | ||
| 39 | path: "Panels/Room_3/panel_2" | ||
| 40 | clue: "hide" | ||
| 41 | answer: "hide" | ||
| 42 | } | ||
| 43 | panels { | ||
| 44 | name: "HIDE (2)" | ||
| 45 | path: "Panels/Room_3/panel_3" | ||
| 46 | clue: "hide" | ||
| 47 | answer: "seek" | ||
| 48 | symbols: "sun" | ||
| 49 | } | ||
| 50 | panels { | ||
| 51 | name: "MORE" | ||
| 52 | path: "Panels/Room_3/panel_9" | ||
| 53 | clue: "more" | ||
| 54 | answer: "less" | ||
| 55 | symbols: "sun" | ||
| 56 | } | ||
| diff --git a/data/maps/the_relentless/rooms/Turn Room.txtpb b/data/maps/the_relentless/rooms/Turn Room.txtpb new file mode 100644 index 0000000..ad368e2 --- /dev/null +++ b/data/maps/the_relentless/rooms/Turn Room.txtpb | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | name: "Turn Room" | ||
| 2 | display_name: "Relentless" | ||
| 3 | panels { | ||
| 4 | name: "HIDE (1)" | ||
| 5 | path: "Panels/Room_2/panel_2" | ||
| 6 | clue: "hide" | ||
| 7 | answer: "hide" | ||
| 8 | } | ||
| 9 | panels { | ||
| 10 | name: "HIDE (2)" | ||
| 11 | path: "Panels/Room_2/panel_3" | ||
| 12 | clue: "hide" | ||
| 13 | answer: "seek" | ||
| 14 | symbols: "sun" | ||
| 15 | } | ||
| 16 | panels { | ||
| 17 | name: "MORE" | ||
| 18 | path: "Panels/Room_2/panel_9" | ||
| 19 | clue: "more" | ||
| 20 | answer: "less" | ||
| 21 | symbols: "sun" | ||
| 22 | } | ||
