~ start a1f2793e-c09a-4764-9f10-624228b37d46 if is_quest_accepted Narrator: *The generator stands with its cover off and the cable box hanging open. Four leads out of the loom, none of them in a socket.* - Open the cable box => init - Look at the diagram => schema - Leave it for now Narrator: *You go back up the rope. The dark keeps the door another night.* [#end] else Narrator: *You get the cover off expecting rust and find grease. The block is clean. The plugs are seated. The tank has sludge in the bottom and fuel above it.* *Somebody serviced this machine and then walked away from it.* Narrator: *The cable box on its flank is another matter. Four leads hang out of the loom - red, blue, green, black - and every socket in it is empty.* *Nobody tore these out. Tearing leaves marks. These came out one at a time, by hand, by someone who had the time to do it properly.* Narrator: *There's a diagram stencilled inside the lid, faded but legible.* [red ]> [ ] slot #1 [blue ]> [ ] slot #2 [green]> [ ] slot #3 [black]> [ ] slot #4 Narrator: *It shows where the leads hang. It doesn't show where they go.* *It looks like any wire can go in any slot* *Two things you can see for yourself: the red lead is the longest of the four. The blue is the shortest.* Narrator: [#quest_info=6a1fd0e5-57c3-4b04-8ffb-c2dd4cce2d68] if is_quest_accepted: Narrator: [quest: accepted] *You set the lamp on the housing where it throws light into the box, and start with the leads.* - Open the cable box => init else: Narrator: [quest: declined] [#end] *You leave the leads hanging and go back up the rope.* => END # Claims the four generic puzzle state slots (see docs/QUESTS_GUIDANCE.md). # puzzle_a = red, puzzle_b = blue, puzzle_c = green, puzzle_d = black. # Reached once per dialogue session, from ~ start only - never from ~ box, # or it would wipe the player's progress. ~ init set puzzle_a = "disconnected" set puzzle_b = "disconnected" set puzzle_c = "disconnected" set puzzle_d = "disconnected" => box ~ box Narrator: *Four leads, four sockets, and a lamp balanced on the housing.* *Red: {{puzzle_a}}. Blue: {{puzzle_b}}. Green: {{puzzle_c}}. Black: {{puzzle_d}}.* - Pick up the red cable ({{puzzle_a}}) => pick_red - Pick up the blue cable ({{puzzle_b}}) => pick_blue - Pick up the green cable ({{puzzle_c}}) => pick_green - Pick up the black cable ({{puzzle_d}}) => pick_black - Look at the diagram again => schema - Try the generator [if puzzle_a != "disconnected" and puzzle_b != "disconnected" and puzzle_c != "disconnected" and puzzle_d != "disconnected"] => try_generator - Leave it for now Narrator: *You leave the box open. Nothing down here is going anywhere.* [#end] => END ~ schema Narrator: *The diagram, stencilled inside the lid.* [red ]> [ ] slot #1 [blue ]> [ ] slot #2 [green]> [ ] slot #3 [black]> [ ] slot #4 Narrator: *Where they hang. Not where they go.* *It looks like any wire can go in any slot* *The red lead is the longest of the four. The blue is the shortest.* - Back to the box => box => END ~ pick_red Narrator: *The red lead comes up with slack to spare. It's the longest in the box by a good margin.* - Slot #1 => red_1 - Slot #2 => red_2 - Slot #3 => red_3 - Slot #4 => red_4 => END ~ pick_blue Narrator: *The blue lead barely clears the loom. Shortest of the four - it won't cross the box.* - Slot #1 => blue_1 - Slot #2 => blue_2 - Slot #3 => blue_3 - Slot #4 => blue_4 => END ~ pick_green Narrator: *The green lead, stiff with age. It reaches where it reaches.* - Slot #1 => green_1 - Slot #2 => green_2 - Slot #3 => green_3 - Slot #4 => green_4 => END ~ pick_black Narrator: *The black lead, tar-stiff, the printing on the sheath long gone.* - Slot #1 => black_1 - Slot #2 => black_2 - Slot #3 => black_3 - Slot #4 => black_4 => END ~ red_1 if puzzle_b == "slot #1" set puzzle_b = "disconnected" if puzzle_c == "slot #1" set puzzle_c = "disconnected" if puzzle_d == "slot #1" set puzzle_d = "disconnected" set puzzle_a = "slot #1" => box ~ red_2 if puzzle_b == "slot #2" set puzzle_b = "disconnected" if puzzle_c == "slot #2" set puzzle_c = "disconnected" if puzzle_d == "slot #2" set puzzle_d = "disconnected" set puzzle_a = "slot #2" => box ~ red_3 if puzzle_b == "slot #3" set puzzle_b = "disconnected" if puzzle_c == "slot #3" set puzzle_c = "disconnected" if puzzle_d == "slot #3" set puzzle_d = "disconnected" set puzzle_a = "slot #3" => box ~ red_4 if puzzle_b == "slot #4" set puzzle_b = "disconnected" if puzzle_c == "slot #4" set puzzle_c = "disconnected" if puzzle_d == "slot #4" set puzzle_d = "disconnected" set puzzle_a = "slot #4" => box ~ blue_1 if puzzle_a == "slot #1" set puzzle_a = "disconnected" if puzzle_c == "slot #1" set puzzle_c = "disconnected" if puzzle_d == "slot #1" set puzzle_d = "disconnected" set puzzle_b = "slot #1" => box ~ blue_2 if puzzle_a == "slot #2" set puzzle_a = "disconnected" if puzzle_c == "slot #2" set puzzle_c = "disconnected" if puzzle_d == "slot #2" set puzzle_d = "disconnected" set puzzle_b = "slot #2" => box ~ blue_3 if puzzle_a == "slot #3" set puzzle_a = "disconnected" if puzzle_c == "slot #3" set puzzle_c = "disconnected" if puzzle_d == "slot #3" set puzzle_d = "disconnected" set puzzle_b = "slot #3" => box ~ blue_4 if puzzle_a == "slot #4" set puzzle_a = "disconnected" if puzzle_c == "slot #4" set puzzle_c = "disconnected" if puzzle_d == "slot #4" set puzzle_d = "disconnected" set puzzle_b = "slot #4" => box ~ green_1 if puzzle_a == "slot #1" set puzzle_a = "disconnected" if puzzle_b == "slot #1" set puzzle_b = "disconnected" if puzzle_d == "slot #1" set puzzle_d = "disconnected" set puzzle_c = "slot #1" => box ~ green_2 if puzzle_a == "slot #2" set puzzle_a = "disconnected" if puzzle_b == "slot #2" set puzzle_b = "disconnected" if puzzle_d == "slot #2" set puzzle_d = "disconnected" set puzzle_c = "slot #2" => box ~ green_3 if puzzle_a == "slot #3" set puzzle_a = "disconnected" if puzzle_b == "slot #3" set puzzle_b = "disconnected" if puzzle_d == "slot #3" set puzzle_d = "disconnected" set puzzle_c = "slot #3" => box ~ green_4 if puzzle_a == "slot #4" set puzzle_a = "disconnected" if puzzle_b == "slot #4" set puzzle_b = "disconnected" if puzzle_d == "slot #4" set puzzle_d = "disconnected" set puzzle_c = "slot #4" => box ~ black_1 if puzzle_a == "slot #1" set puzzle_a = "disconnected" if puzzle_b == "slot #1" set puzzle_b = "disconnected" if puzzle_c == "slot #1" set puzzle_c = "disconnected" set puzzle_d = "slot #1" => box ~ black_2 if puzzle_a == "slot #2" set puzzle_a = "disconnected" if puzzle_b == "slot #2" set puzzle_b = "disconnected" if puzzle_c == "slot #2" set puzzle_c = "disconnected" set puzzle_d = "slot #2" => box ~ black_3 if puzzle_a == "slot #3" set puzzle_a = "disconnected" if puzzle_b == "slot #3" set puzzle_b = "disconnected" if puzzle_c == "slot #3" set puzzle_c = "disconnected" set puzzle_d = "slot #3" => box ~ black_4 if puzzle_a == "slot #4" set puzzle_a = "disconnected" if puzzle_b == "slot #4" set puzzle_b = "disconnected" if puzzle_c == "slot #4" set puzzle_c = "disconnected" set puzzle_d = "slot #4" => box ~ try_generator if puzzle_a == "slot #4" and puzzle_b == "slot #2" and puzzle_c == "slot #1" and puzzle_d == "slot #3" Narrator: *You close the lid, set the choke, and pull.* [#complete_quest] *It catches on the third pull and holds - a flat industrial note that fills the chamber and doesn't waver.* Narrator: *The panel beside the door comes up amber. Behind the concrete something heavy moves in its housing, travels a hand's width, and lets go.* *The door swings out four inches on its own weight and stops there, waiting on you.* Narrator: *Air comes through the gap. Dry, still, and colder than the cave.* *It has been on the other side of that door a long time, and it doesn't smell like rock.* - Put your shoulder to it Narrator: [#load_quest=61b3716d-a2ab-462f-aaff-d35096986f18] else Narrator: *You close the lid, set the choke, and pull. The generator catches, runs, holds its note.* *The panel beside the door stays dead. Nothing sparks. Nothing burns. The current is going somewhere, and it isn't going there.* - Open the box again => box - Leave it for now Narrator: *You kill the engine. The quiet comes back in like water.* [#end] => END