# Talk:Professor Portmatt's Lab

## Every possible solution in 3 steps or less

2:56:13 - 65.462 - 0.01579: decrease middle, go
2:56:13 - 65.462 - 0.03897: increase top, go
2:56:13 - 65.462 - 0.02288: decrease top, increase middle, go
2:56:13 - 28.448 - 0.01579: decrease top, decrease bottom, decrease middle, go
2:56:13 - 28.448 - 0.03897: decrease bottom, go
2:56:13 - 28.448 - 0.02288: increase top, decrease bottom, increase middle, go
2:56:13 - 49.255 - 0.01579: increase top, increase bottom, decrease middle, go
2:56:13 - 49.255 - 0.03897: increase top, increase top, increase bottom, go
2:56:13 - 49.255 - 0.02288: increase bottom, increase middle , go
8:19:31 - 65.462 - 0.01579: increase bottom, go
8:19:31 - 65.462 - 0.03897: increase top, increase bottom, increase middle, go
8:19:31 - 65.462 - 0.02288: increase bottom, decrease top, decrease middle, go
8:19:31 - 28.448 - 0.01579: decrease top, go
8:19:31 - 28.448 - 0.03897: increase middle, go
8:19:31 - 28.448 - 0.02288: increase top, decrease middle, go
8:19:31 - 49.255 - 0.01579: increase top, decrease bottom, go
8:19:31 - 49.255 - 0.03897: decrease top, decrease bottom, increase middle, go
8:19:31 - 49.255 - 0.02288: decrease bottom, decrease middle, go
14:32:22 - 65.462 - 0.01579: decrease bottom, increase middle, go
14:32:22 - 65.462 - 0.03897: increase top, decrease bottom, decrease middle, go
14:32:22 - 65.462 - 0.02288: decrease top, decrease bottom, go
14:32:22 - 28.448 - 0.01579: decrease top, increase bottom, increase middle, go
14:32:22 - 28.448 - 0.03897: increase bottom, decrease middle, go
14:32:22 - 28.448 - 0.02288: increase top, increase bottom, go
14:32:22 - 49.255 - 0.01579: increase top, increase middle, go

The above do not work as of 12/21/12

14:32:22 - 49.255 - 0.03897: decrease top, decrease middle, go
14:32:22 - 49.255 - 0.02288: go

Feel free to check my math. - Tanetris 18:46, 3 September 2012 (UTC)

The table is fine. Thorn17 17:55, 4 January 2013 (UTC)
For anyone possibly confused, the above list tells you what to do in order to change the numbers to 14, 49, 0.02 when you see the corresponding numbers that appear on your console.
Each time you start this puzzle, you are given a different set of numbers so the solution is not always the same order during other attempts of the puzzle. (174.28.73.156 11:27, 3 October 2012 (UTC))

## linguistic issue

When this "Step 4 solution starts describing switching between panels and choosing "increase", he does not make clear that the TEXT choice "increase" in the dialogue box is the second choice, and therefore a DECREASE in the numbers.

## Multiple Characters

It think it needs to be noted that each character selects their own codes, independent of any one else changing the codes. This also means that you can't go through with someone else, you have to change the codes yourself. Ymaster44 20:39, 18 September 2012 (UTC)

Once one gets to the correct spot, they can transmit coordinates to the portal, and everyone else can enter. Although the times I did that I warned the rest, no one came, no matter how much I told them in /map chat. MithTalk 14:49, 19 September 2012 (UTC)
The console thing isn't working properly though, that may be why. 87.66.127.84 21:18, 24 September 2012 (UTC)

This has been nerfed

A friend who passed through after I was at the chest and transmitted the coordinates, did not end up at the chest but somewhere else. So yes, transmitting the coordinates for a friend to come in after you doesn't seem to work. --Alad 06:33, 11 March 2013 (UTC)

Person A can submit coordinates, but person B can still get transported to the wrong spot for two different reason. First, the second (B) must accept the coordinates and do nothing else; frequently, I've seen the other person try to make another adjustment or fail to accept the coordinates and thus they end up in the wrong spot. A second, less common problem, is if there is a third person manipulating the panels; they, too, can reset. So while it's possible that ANet changed the rules, it seems unlikely that they would do so without mentioning it in the release notes.
I haven't been to the lab in the last 6 weeks or so, but before that, I've helped people through and often it takes a long time, even when someone is transmitting coordinates. 75.36.181.195 07:20, 11 March 2013 (UTC)
We didn't do what you describe, simply because it isn't obvious (and not written here) that, after transmitting the coordinates, the person down below must (presumably if I understand you correctly), 1) open any of the 3 panels on the right, 2) without changing anything, accept the numbers, 3) then pass through the whirlwind. Or should they have one of the panels open already when the coordinates are sent? What we did was: 1) transmit coordinates, 2) friend passes through whirlwind. And that didn't work. --Alad 08:56, 11 March 2013 (UTC)
Just to tack on to this thread since there was a verification needed on the page itself, there is a console to the north of the chest that when you interact, says "Transmit coordinates to gate calibration mainframe? Okay/Leave. The person still needing to put in coordinates will have a new option in the coordinate altering panels to receive the coordinates from the mainframe (otherwise they'll stay with wrong coordinates). Then all they have to do is walk through the portal. One other thing to note, prior to one person finishing, coordinates are done individually (so you can't pass through the portal simultaneously if only one person was using panels. --138.51.121.10 03:35, 12 October 2015 (UTC)

I've been trying this. On the Test Platform, you have the chest. Can only interact once to loot. There is a console, which gives you the option: Decrypt Research Data? Yes or Leave. And a Data Recorder. There is nothing on the rock that says: Transmit coordinates to gate calibration Mainframe or something similar. I tried different ways to get it to work. Decrypt and other char would then interact with all the stuff downstairs, but there is nothing where you can download.--213.93.15.166 20:40, 9 November 2015 (UTC)

## A clunky table of solutions

Initial Values Actions and Their Intermediate Values
2:XX:XX 28.XXX 0.01XXX Trim top panel
8:XX:XX 49.XXX 0.02XXX
Throttle bottom panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Increase top panel
14:XX:XX 65.XXX 0.01XXX
Throttle bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Throttle bottom panel
14:XX:XX 49.XXX 0.02XXX
49.XXX 0.01XXX Increase top panel
14:XX:XX 28.XXX 0.03XXX
Boost bottom panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Boost bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Increase top panel
14:XX:XX 28.XXX 0.02XXX
Increase top panel
8:XX:XX 65.XXX 0.01XXX
Boost bottom panel
14:XX:XX 49.XXX 0.02XXX
65.XXX 0.01XXX Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Trim top panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Increase top panel
14:XX:XX 49.XXX 0.02XXX
8:XX:XX 28.XXX 0.01XXX Trim top panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Increase top panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
49.XXX 0.01XXX Increase top panel
2:XX:XX 28.XXX 0.03XXX
Throttle bottom panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Throttle bottom panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Trim top panel
14:XX:XX 65.XXX 0.01XXX
Throttle bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
65.XXX 0.01XXX Boost bottom panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Boost bottom panel
14:XX:XX 49.XXX 0.03XXX
Trim top panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Increase top panel
2:XX:XX 49.XXX 0.02XXX
Boost bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
14:XX:XX 28.XXX 0.01XXX Trim top panel
2:XX:XX 49.XXX 0.02XXX
Throttle bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Increase top panel
8:XX:XX 65.XXX 0.01XXX
Boost bottom panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Boost bottom panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
49.XXX 0.01XXX Increase top panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX No change required
14:XX:XX 49.XXX 0.02XXX
0.03XXX Trim top panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX
65.XXX 0.01XXX Throttle bottom panel
8:XX:XX 28.XXX 0.03XXX
Enhance middle panel
14:XX:XX 49.XXX 0.02XXX
0.02XXX Trim top panel
2:XX:XX 28.XXX 0.03XXX
Throttle bottom panel
14:XX:XX 49.XXX 0.02XXX
0.03XXX Increase top panel
8:XX:XX 49.XXX 0.02XXX
Throttle bottom panel
2:XX:XX 65.XXX 0.01XXX
Reduce middle panel
14:XX:XX 49.XXX 0.02XXX

If someone could fix those visible empty cells, please do so... Thorn17 06:14, 5 January 2013 (UTC)

## Programmatic solution

It's redundant given the above contributions, but I thought it was fun.

The following Python 3 script will solve the problem, given the starting position as the first numbers before punctuation (for the first 2 fields) or the first significant digit (for the last field), e.g.

./puz.py 2 49 3

for a starting position of 2:56:10 49.251 0.03903 :

```#!/usr/bin/python3

import sys

field_values = [
[   2,  8,  14  ],
[  28, 49,  65  ],
[   1,  2,   3  ]
]

def index_up(index):
return (index + 1) % 3

def index_down(index):
return (index - 1) % 3

controls = [
("top up",      [   index_down, index_up,   index_up    ]),
("top down",    [   index_up,   index_down, index_down  ]),
("middle up",   [   index_up,   index_up,   index_down  ]),
("middle down", [   index_down, index_down, index_up    ]),
("bottom up",   [   index_down, index_up,   index_down  ]),
("bottom down", [   index_up,   index_down, index_up    ])
]

class Position:
# Initialise with an array of indices into the field values.
def __init__(self, indices):
self.indices = indices

def __eq__(self, other):
for i in range(0, len(self.indices)):
if other.indices[i] != self.indices[i]:
return False
return True

def __hash__(self):
hash_val = 0
for i in range(0, len(self.indices)):
hash_val += self.indices[i] * 3 ** i
return hash_val

def __str__(self):
return '(' + ','.join([str(field_values[i][self.indices[i]]) for i in range(0, len(self.indices))]) + ')'

# Takes a control (index into `controls') and returns the
# new position.
def do_control(self, control):
new_indices = []
for i in range(0, len(self.indices)):
new_indices.append(controls[control][1][i](self.indices[i]))
return Position(new_indices)

def position_from_values(values):
indices = []
i = 0
for v in values:
index = -1
for j in range(0, len(field_values[i])):
if v == field_values[i][j]:
index = j
break
if index == -1:
raise Exception('Can\'t find {0} in field values {1}'.format(v, repr(field_values[i])))
indices.append(index)
i += 1

return Position(indices)

# Takes a list of current field indices (0-2),
# a list of target field indices (0-2) and a
# search depth.  Returns a list of control indices
# for the operations to perform to get from `current'
# to `target' in order, or None if it runs out of
# search depth.
# `positions_seen' is a set of positions already seen.
def try_controls(current, target, depth, positions_seen):
if current == target:
return []

if current in positions_seen or depth == 0:
return None

for c in range(0, len(controls)):
next_position = current.do_control(c)
next_steps = try_controls(next_position, target, depth-1, positions_seen)
if next_steps is not None:
return [c] + next_steps

return None

def look_for(start, target):
print('Looking for {0} from {1}...'.format(target, start))
depth = 0
while True:
print('Trying depth {0}...'.format(depth))
positions_seen = set()
path = try_controls(start, target, depth, positions_seen)
if path is not None:
print('Found path!')
pos = start
for p in path:
pos = pos.do_control(p)
print('{0} -> {1}'.format(controls[p][0], pos))
break
depth += 1

def main(argv):
start = position_from_values([int(arg) for arg in argv[1:]])
look_for(start, Position([2, 1, 1]))
return 0

if __name__ == "__main__":
sys.exit(main(sys.argv))
```

## Still having Trouble?>

With all these charts and data sequences, are you still having trouble sorting it out>? No worries -you're under pressure. Take a deep breath -

1. You've killed the LAMP-POST looking thing to the far left (in front of the three horizontal bulls eyes)
2. Immediately gone to the console down and to the right.
3. Used the console, to declare your unswerving dedication to cannibalizing the something or other
5. Waited! Until the dialogue self updates twice - Until green option shows up (QUICK PRESS IT!)
6. Gone to the other side, where three vertical lights have come online.
7. Used THIS chart:
• 8 | 28 | 01
• 14 | 49 | 02
• 02 | 65 | 03

and realizing the buttons will affect the chart-changes in the following way:

• top button:
1. dn, dn, dn
2. up, up, up
• mid button:
1. dn, dn, up
2. up, up, dn
• bottom:
1. up, dn, up
2. dn, up, dn

So for example if your initial numbers are 14, 49, 03 You'll want to keep those first two (correct) numbers together

You can either:

• using the middle button, first choice will get you 02, 65, 03 ... the full bottom row of my chart.
• now use the top button second option to get the right answer

or

• using the middle button, second choice will get you 8, 28, 01 ... the full top row of my chart.
• now use the top button, first option

This theory can be applied to any combination where two numbers are correct; make sure that once you get two correct numbers lined up, you KEEP them TOGETHER: use my second chart to accomplish this.

<end transmission>

Ps can someone reformat my stuff to clean it up? i dont know how to insert a forced carriage return. Edit by someone else : done, with lists.

I still haven't figured it out sadly. 71.87.112.38 05:33, 9 October 2015 (UTC)

## Broken?

Is it possible that the puzzle is broken? The lamp posts are not attackable.

You don't attack the lamp posts. Vandalism of Inquest property is not looked up lightly.--Relyk ~ talk < 04:10, 29 August 2013 (UTC)
Its not broken, and never has been. If the posts are not attackable, you will see that the portal is primed (bigger, brighter, and pink). This means that the sequential process is under way or just recently failed. Just wait it out until it is all reset (no longer than a minute or two). --SiderFace (talk) 09:44, 25 November 2013 (UTC)

## Way too difficult, another anet fail

This puzzle is way too hard to figure out. Anet fails again with yet another design flaw. sigh...24.8.249.129 18:28, 31 December 2013 (UTC)

## Information removed?

Why has most of the information been removed? The wiki entry now starts halfway through the puzzle. The preceding unsigned comment was added by 121.98.152.167 (talkcontribs).

It hasn't been removed. I assume you're talking about the introduction to the puzzle? If so, it's still there; but just hidden by the spoiler tag. Click the "show" button and the entire walkthrough will be revealed. Also, please start new topics at the bottom of the talk page, not the top. --Ventriloquist 11:12, 21 August 2014 (UTC)

## Missing/Incorrect/Bug Fixed Potential spawn location

So i don't know what coordinate it is (randomly wandered upon this before reading the wiki) but I spawned on top of Stormbluff Beacon today after entering an incorrect portal. As in, on a walkway around the beacon, inaccessible in any way from any other area. You could safely jump to the water south of the nearby reknown heart from this location. Note this location is not listed in the potential locations, so something changed. 69.254.150.47 03:44, 27 March 2015 (UTC)

## Current display of information

Currently I think the "complete solution" table is a bit too convoluted (horizontal to save vertical space at the cost of legibility) to easily read. Many of the solution lists on this talk page are easier to read than what we have on the article. I found the table off-putting and so I resorted to the javascript link, but I think our documentation shouldn't force the user to resort to third party stuff.

• Tanetris' plaintext version with the "actions" only
• Thorn17's table with the text from each + the readout after each change

I've produced a couple of modified versions of the table below (I've removed the XX bits because we don't need to check that bit...)

Initial value Actions
2 – 28 – 0.01 Trim top panel Throttle bottom panel Reduce middle panel
2 – 28 – 0.02 Increase top panel Throttle bottom panel Enhance middle panel
2 – 28 – 0.03 Throttle bottom panel
2 – 49 – 0.01 Increase top panel Boost bottom panel Reduce middle panel
2 – 49 – 0.02 Boost bottom panel Enhance middle panel
2 – 49 – 0.03 Increase top panel Boost bottom panel
2 – 65 – 0.01 Reduce middle panel
2 – 65 – 0.02 Trim top panel Enhance middle panel
2 – 65 – 0.03 Increase top panel
8 – 28 – 0.01 Trim top panel
8 – 28 – 0.02 Increase top panel Reduce middle panel
8 – 28 – 0.03 Enhance middle panel
8 – 49 – 0.01 Increase top panel Throttle bottom panel
8 – 49 – 0.02 Throttle bottom panel Reduce middle panel
8 – 49 – 0.03 Trim top panel Throttle bottom panel Enhance middle panel
8 – 65 – 0.01 Boost bottom panel
8 – 65 – 0.02 Boost bottom panel Trim top panel Reduce middle panel
8 – 65 – 0.03 Increase top panel Boost bottom panel Enhance middle panel
14 – 28 – 0.01 Trim top panel Boost bottom panel Enhance middle panel
14 – 28 – 0.02 Increase top panel Boost bottom panel
14 – 28 – 0.03 Boost bottom panel Reduce middle panel
14 – 49 – 0.01 Increase top panel Enhance middle panel
14 – 49 – 0.02 No change required
14 – 49 – 0.03 Trim top panel Reduce middle panel
14 – 65 – 0.01 Throttle bottom panel Enhance middle panel
14 – 65 – 0.02 Trim top panel Throttle bottom panel
14 – 65 – 0.03 Increase top panel Throttle bottom panel Reduce middle panel
Initial value Actions for puzzle solution
Top panel Middle panel Bottom panel
2 – 28 – 0.01 Trim Reduce Throttle
2 – 28 – 0.02 Increase Enhance Throttle
2 – 28 – 0.03 Throttle
2 – 49 – 0.01 Increase Reduce Boost
2 – 49 – 0.02 Enhance Boost
2 – 49 – 0.03 Trim Boost
2 – 65 – 0.01 Reduce
2 – 65 – 0.02 Trim Enhance
2 – 65 – 0.03 Increase
8 – 28 – 0.01 Trim
8 – 28 – 0.02 Increase Reduce
8 – 28 – 0.03 Enhance
8 – 49 – 0.01 Increase Throttle
8 – 49 – 0.02 Reduce Throttle
8 – 49 – 0.03 Trim Enhance Throttle
8 – 65 – 0.01 Boost
8 – 65 – 0.02 Trim Reduce Boost
8 – 65 – 0.03 Increase Enhance Boost
14 – 28 – 0.01 Trim Enhance Boost
14 – 28 – 0.02 Increase Boost
14 – 28 – 0.03 Reduce Boost
14 – 49 – 0.01 Increase Enhance
14 – 49 – 0.02
14 – 49 – 0.03 Trim Reduce
14 – 65 – 0.01 Enhance Throttle
14 – 65 – 0.02 Trim Throttle
14 – 65 – 0.03 Increase Reduce Throttle
Initial value Actions for puzzle solution
Top panel Middle panel Bottom panel
2 – 28 – 0.01 Option 1 Option 2 Option 1
2 – 28 – 0.02 Option 2 Option 1 Option 1
2 – 28 – 0.03 Option 1
2 – 49 – 0.01 Option 2 Option 2 Option 2
2 – 49 – 0.02 Option 1 Option 2
2 – 49 – 0.03 Option 1 Option 2
2 – 65 – 0.01 Option 2
2 – 65 – 0.02 Option 1 Option 1
2 – 65 – 0.03 Option 2
8 – 28 – 0.01 Option 1
8 – 28 – 0.02 Option 2 Option 2
8 – 28 – 0.03 Option 1
8 – 49 – 0.01 Option 2 Option 1
8 – 49 – 0.02 Option 2 Option 1
8 – 49 – 0.03 Option 1 Option 1 Option 1
8 – 65 – 0.01 Option 2
8 – 65 – 0.02 Option 1 Option 2 Option 2
8 – 65 – 0.03 Option 2 Option 1 Option 2
14 – 28 – 0.01 Option 1 Option 1 Option 2
14 – 28 – 0.02 Option 2 Option 2
14 – 28 – 0.03 Option 2 Option 2
14 – 49 – 0.01 Option 2 Option 1
14 – 49 – 0.02
14 – 49 – 0.03 Option 1 Option 2
14 – 65 – 0.01 Option 1 Option 1
14 – 65 – 0.02 Option 1 Option 1
14 – 65 – 0.03 Option 2 Option 2 Option 1

Pick one/suggest a better table? -Chieftain Alex 02:58, 11 October 2015 (UTC)

edit: some of the solutions above weren't optimal + I messed up the c/p >.> -Chieftain Alex 03:21, 11 October 2015 (UTC)
I think the first one, actions, displays the most information and details, which is needed in tricky puzzles such as this one. —Ventriloquist 09:40, 11 October 2015 (UTC)
Thanks for the feedback. Updated to use the first table (well almost the first one, I've tweaked it slightly so that the reading sequence from left-to-right is top-middle-bottom). -Chieftain Alex 10:10, 11 October 2015 (UTC)

## Lighthouse and gliding

2, 65, 03 are the lighthouse coordinates, it is high enough up to glide from the top of it to the JP chest. -Chieftain Alex 00:26, 29 January 2016 (UTC)

## Missed reason

It is still not clear from the article, why we need to set exactly those numbers, it's only an instruction what we need to do. Probably, the key is in the content of lab journals, however, they are not mentioned yet. Could it be possible to add their "dialogues" to make the conclusion more logical? --66.249.81.166 14:07, 26 April 2016 (UTC)

## Verification requested?

Verification has been requested on the station 325 transmit. Yes, it still works. I just did it. Daddicus (talk) 00:54, 28 August 2016 (UTC)