Working fix for Anechoic Lazaret (Patch 1.0.2)

If you need assistance with a technical issue, this forum is for you. Specifically for help with Torment: ToN itself. Spoilers are allowed, but spoiler warning tags are recommended.

Moderator: Memovira Goons

Post Reply
Haiaiai
Initiate
Posts: 2
Joined: April 25th, 2017, 1:45 pm

Working fix for Anechoic Lazaret (Patch 1.0.2)

Post by Haiaiai » April 25th, 2017, 1:51 pm

(Update: Quest now marked as completed; also slight change in step 7 in this post)
(Update: Turns out this only turns in the quest, but doesn't mark it as completed, there she still demands your help before helping you go on. I'll be looking into it.)

Hello everyone,

I made a fix that enabled me to turn in the Anechoic Lazaret quest. Doesn't fix the floating dead drones though. You'll to edit a file in the game data.

I contacted the inxile support and they gave their OK to me posting it here, so I'm pretty sure it is not considered cheating. They also reminded me that a fix is planed for the next game patch, then this will become obsolete.

My concrete bug (mild spoiler, but if you played the quest you know):
Resolved the quest by cleaning the 3 pillar things, one Peerless left alive. Also disabled the damaged Peerless. Quest log said I was done and I can tell Salimeri about the drone I left alive, so in a way the game acknowledged that I had finished the quest.

To fix it you should use some better editor than standard notepad, but it would work too I guess, I recommend Notepad++ for better syntax highlighting, and it's better search definetly helped me fixing it. Understanding XML helps too. Line numbers where you find stuff should match, but are not essential.
  1. Save the game near Salimeri.
  2. Open file explorer of you choice, go to your steam folder (if you're not having this from steam, ignore those parts of the pathes) and then
    ...\Steam\SteamApps\common\Torment Tides of Numenera\WIN\TidesOfNumenera_Data\StreamingAssets\data\conversations\a_sagus
  3. Locate the file a2621_salimeri.conversation
  4. Make a backup of that file!
  5. Open the file, locate the line

    Code: Select all

    <NodeID>214</NodeID>
    That should be line 12105.
  6. Below, find the next occurence of

    Code: Select all

    <Conditionals>
  7. Nested within the Conditionals node, that means before the next occurrence of (note the '/'):

    Code: Select all

    </Conditionals>
    there is this segment (line 12166):

    Code: Select all

    <ExpressionComponent xsi:type="ConditionalCall">
                <Data>
                  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
                  <FullName>Boolean IsGlobalValue(String, Operator, Int32)</FullName>
                  <Parameters>
                    <string>Quest_AnechoicLazaret_DefeatedDrones</string>
                    <string>EqualTo</string>
                    <string>1</string>
                  </Parameters>
                </Data>
                <Not>false</Not>
                <Operator>And</Operator>
              </ExpressionComponent>
    Replace it with this:

    Code: Select all

    <ExpressionComponent xsi:type="ConditionalExpression">
                <Operator>And</Operator>
                <Components>
    				<ExpressionComponent xsi:type="ConditionalCall">
    					<Data>
    					  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
    					  <FullName>Boolean IsGlobalValue(String, Operator, Int32)</FullName>
    					  <Parameters>
    						<string>Quest_AnechoicLazaret_DefeatedDrones</string>
    						<string>EqualTo</string>
    						<string>1</string>
    					  </Parameters>
    					</Data>
    					<Not>false</Not>
    					<Operator>Or</Operator>
    				</ExpressionComponent>
    				<ExpressionComponent xsi:type="ConditionalCall">
    					<Data>
    					  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
    					  <FullName>Boolean IsGlobalValue(String, Operator, Int32)</FullName>
    					  <Parameters>
    						<string>a2663_killswitches_disabled</string>
    						<string>EqualTo</string>
    						<string>3</string>
    					  </Parameters>
    					</Data>
    					<Not>false</Not>
    					<Operator>And</Operator>
    				</ExpressionComponent>
                </Components>
              </ExpressionComponent>
    This introduces "cleaned 3 pillars" as an alternative to the "kill all drones" condition.
    (Edit: changed an the last Or to an And in the last code block)
  8. Do one of the things in the next post (more editing).
  9. Load up your save, talk to Salimeri. She should end the quest immediatly, giving you your reward.
  10. Save the game and exit.
  11. Change the file back or simply overwrite it with your backup. You made a backup, right?
If this doesn't help you can also leave out the entire block without replacing it, but that might be cheating depending on your exact quest state. There is still a condition that the quest state must be "resolved" though, so maybe not.

Hope this helped, gl hf!
Last edited by Haiaiai on April 27th, 2017, 3:05 pm, edited 2 times in total.

Haiaiai
Initiate
Posts: 2
Joined: April 25th, 2017, 1:45 pm

Re: (not quite) Working fix for Anechoic Lazaret (Patch 1.0.2)

Post by Haiaiai » April 27th, 2017, 2:38 pm

The following changes make your quest update correctly. Only make one.
  1. locate the file quest_anechoic_lazaret.quest in ...\Steam\SteamApps\common\Torment Tides of Numenera\WIN\TidesOfNumenera_Data\StreamingAssets\data\quests\a_sagus\quest_anechoic_lazaret.quest
  2. Again, make a backup.
Now depending on your quest state do one of the following edits:

Edit A: If you, like me, have already used all 3 pillars.
  1. Search the line

    Code: Select all

    <NodeID>3</NodeID>
  2. Under there, find the block (not comletly listed)

    Code: Select all

       <Links>
           ...
       </Links>
  3. Before that last line, add this:

    Code: Select all

    <FlowChartLink xsi:type="QuestLink">
              <FromNodeID>4</FromNodeID>
              <ToNodeID>5</ToNodeID>
              <PointsToGhost>false</PointsToGhost>
              <ClassExtender>
                <ExtendedProperties />
              </ClassExtender>
              <RequiredToExitObjective>false</RequiredToExitObjective>
            </FlowChartLink>
This introduces a shortcut between quest node 3 (clean the lazaret) and 5 (finished), which triggers when you turn in and ends the quest. This skips node 4, which simply asks you to return to Salimeri, which you do anyway. You'll just miss this line in your quest log.

*IF* you REALLY want a clean questlog with the Return step, you can do Edit B and insert the quest-finished-event as another alternative condition, but I'll leave that as an exercise to the reader (hint: look at node 5, And's and Or's are tricky).

Edit B: If you have not activated all 3 pillars but plan to do so and finish the quest without killing all peerless drones. Disclaimer: haven't tested this one due to lack of save game and otherwise time
  1. Search the line

    Code: Select all

    <NodeID>4</NodeID>
  2. Below find the next line

    Code: Select all

    <Conditionals>
  3. Take out the block

    Code: Select all

    <ExpressionComponent xsi:type="ConditionalCall">
    				<Data>
    				  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
    				  <FullName>Boolean IsQuestEventTriggered(String, Int32)</FullName>
    				  <Parameters>
    					<string>Assets/Data/Quests/A_Sagus/quest_anechoic_lazaret.quest</string>
    					<string>2</string>
    				  </Parameters>
    				</Data>
    				<Not>false</Not>
    				<Operator>And</Operator>
    			</ExpressionComponent>
    and replace it with

    Code: Select all

    		<ExpressionComponent xsi:type="ConditionalExpression">
                <Operator>And</Operator>
    			<Components>
    			  <ExpressionComponent xsi:type="ConditionalCall">
    				<Data>
    				  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
    				  <FullName>Boolean IsQuestEventTriggered(String, Int32)</FullName>
    				  <Parameters>
    					<string>Assets/Data/Quests/A_Sagus/quest_anechoic_lazaret.quest</string>
    					<string>2</string>
    				  </Parameters>
    				</Data>
    				<Not>false</Not>
    				<Operator>Or</Operator>
    			  </ExpressionComponent>
    			  <ExpressionComponent xsi:type="ConditionalCall">
    				<Data>
    				  <HasDifficultTaskAttribute>false</HasDifficultTaskAttribute>
    				  <FullName>Boolean IsQuestEventTriggered(String, Int32)</FullName>
    				  <Parameters>
    					<string>Assets/Data/Quests/A_Sagus/quest_anechoic_lazaret.quest</string>
    					<string>6</string>
    				  </Parameters>
    				</Data>
    				<Not>false</Not>
    				<Operator>And</Operator>
    			  </ExpressionComponent>
    		    </Components>
              </ExpressionComponent>
  4. Find the line

    Code: Select all

    <NextEventID>6</NextEventID>
    near the end of the file. Change the 6 to a 7.
  5. Add this before "</Events>", which is the third to last line:

    Code: Select all

    <QuestEvent xsi:type="QuestEventGlobalVariable">
          <EventID>6</EventID>
          <DisplayName>Hacks</DisplayName>
          <VariableName>a2663_killswitches_disabled</VariableName>
          <VariableValue>3</VariableValue>
        </QuestEvent>
This should make node 4 activate, telling you to return to Salimeri, when the counter for activated lazaret pillars reaches 3. This doesn't work for me though, as that counter is already at 3 in my game. So I can't guarantee it will work. Feedback would be appreciated if this works for you, as for the other parts :-)

Cantello
Initiate
Posts: 2
Joined: May 2nd, 2013, 12:38 am

Re: Working fix for Anechoic Lazaret (Patch 1.0.2)

Post by Cantello » June 15th, 2017, 2:22 am

Worked for an 1.1.0 version game, thanks!

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests