Oblivion:Canvas the Castle: Difference between revisions
mNo edit summary |
|||
Line 21: | Line 21: | ||
The scripting of this quest appears very solid. Ideally, there would be some way to set the stage past stage 35, skipping the portion of the quest where several NPCs need to be tracked down. The <code>MS51script</code> script only sets stages higher than 35 after the variable <code>MS51FoundClue</code> (a local variable to the script) is less than 4 and equal to 1, 2, or 3. This variable only increases when the three other scripts tied to the painting, carpet, and supplies have a local variable (also named <code>MS51FoundClue</code> equal to 1, after which point a "do once" variable is set for each of the three object check so that they cannot be triggered again. Due to the way this is set up, there appears to be no way to increment the amount of clues found more than once on a single object, forcing us to have to activate each one. | The scripting of this quest appears very solid. Ideally, there would be some way to set the stage past stage 35, skipping the portion of the quest where several NPCs need to be tracked down. The <code>MS51script</code> script only sets stages higher than 35 after the variable <code>MS51FoundClue</code> (a local variable to the script) is less than 4 and equal to 1, 2, or 3. This variable only increases when the three other scripts tied to the painting, carpet, and supplies have a local variable (also named <code>MS51FoundClue</code> equal to 1, after which point a "do once" variable is set for each of the three object check so that they cannot be triggered again. Due to the way this is set up, there appears to be no way to increment the amount of clues found more than once on a single object, forcing us to have to activate each one. | ||
The most likely vulnerability would be in the portion of the <code>MS51script</code> script with the comment <code>;This will '''hopefully''' Trigger the Stages for gathering information in no particular order</code>. In this script, there is a local variable <code>Talked</code> that is checked. If it is less than 6, the game checks the value of <code>Talked</code>, setting the quest stage to a value between 20 and 35 depending on this variable's value. We currently cannot find a script that updates <code>Talked</code>, but the wording of the comment in the code suggests that there may be a way to at least increment this value to skip the interview phase of the quest. | The most likely vulnerability would be in the portion of the <code>MS51script</code> script with the comment <code>;This will '''hopefully''' Trigger the Stages for gathering information in no particular order</code>. In this script, there is a local variable <code>Talked</code> that is checked. If it is less than 6, the game checks the value of <code>Talked</code>, setting the quest stage to a value between 20 and 35 depending on this variable's value. We currently cannot find a script that updates <code>Talked</code>, but the wording of the comment in the code suggests that there may be a way to at least increment this value to skip the interview phase of the quest, since it appears this variable is responsible for handling how many NPCs have been interviewed. | ||
==Quest Stages== | ==Quest Stages== |
Revision as of 09:19, 16 February 2022
Current Best Route
Quest stages are indicated in parentheses at the start of each step when they are updated. Keep in mind that these optimized steps are within the context of the 100% speedrun route, meaning that certain items and setups are sometimes assumed to have already been performed prior to the start of the quest.
Bugs
Route Logic Considerations
Script Analysis
The following scripts interact with this quest (it is possible there are more to be discovered):
MS51CarpetScript
— A script that runs when activating the footprints on the carpet. Sets a local variableMS51CluesFound
to 1 when the stage of the quest is greater than or equal to 35.MS51PaintingScript
— A script that runs when activating the painting. Sets a local variableMS51CluesFound
to 1 when the stage of the quest is greater than or equal to 35.MS51script
— The main script for the quest, which contains a conditional at the top that returns to end the script if the quest stage is less than 10.MS51SuppliesScript
— A script that runs when activating Chanel's lectern. Sets a local variableMS51CluesFound
to 1 when the stage of the quest is greater than or equal to 35.
The scripting of this quest appears very solid. Ideally, there would be some way to set the stage past stage 35, skipping the portion of the quest where several NPCs need to be tracked down. The MS51script
script only sets stages higher than 35 after the variable MS51FoundClue
(a local variable to the script) is less than 4 and equal to 1, 2, or 3. This variable only increases when the three other scripts tied to the painting, carpet, and supplies have a local variable (also named MS51FoundClue
equal to 1, after which point a "do once" variable is set for each of the three object check so that they cannot be triggered again. Due to the way this is set up, there appears to be no way to increment the amount of clues found more than once on a single object, forcing us to have to activate each one.
The most likely vulnerability would be in the portion of the MS51script
script with the comment ;This will hopefully Trigger the Stages for gathering information in no particular order
. In this script, there is a local variable Talked
that is checked. If it is less than 6, the game checks the value of Talked
, setting the quest stage to a value between 20 and 35 depending on this variable's value. We currently cannot find a script that updates Talked
, but the wording of the comment in the code suggests that there may be a way to at least increment this value to skip the interview phase of the quest, since it appears this variable is responsible for handling how many NPCs have been interviewed.
Quest Stages
Stage | Completion Stage | setstage Scripts | Journal Entry |
---|---|---|---|