Oblivion talk:Glitch Hunting
Revision as of 02:39, 25 January 2022 by MeemawHustlin (talk | contribs) (Created page with "This discussion page is reserved to act as an archive of glitch hunting projects that have been resolved, either through finding a direct solution or a workaround to the problem proposed. ==Fixing the Wait Timer Bug== '''This has not been solved, but a separate workaround has been achieved.''' ''See here: Class Reset'' When you skip the tutorial exit via load warping, you gain access to the use of the Class Reset Glitch but lose the ability to...")
This discussion page is reserved to act as an archive of glitch hunting projects that have been resolved, either through finding a direct solution or a workaround to the problem proposed.
Fixing the Wait Timer Bug
This has not been solved, but a separate workaround has been achieved. See here: Class Reset
When you skip the tutorial exit via load warping, you gain access to the use of the Class Reset Glitch but lose the ability to manipulate NPCs with the wait timer. This results in having to use an excessive amount of setups to spawn NPCs in the right locations, incurring a significant time loss compared to how much time Class Resetting could potentially save.
From analyzing the Construction Set, here is what we know:
- Exiting the sewer triggers the door’s
CGSewerExitScript
script which callssetstage MQ01 88
. This quest’s stage 88 calls a script that includessetinchargen 0
. We have confirmed that this command is what fixes the wait timer bug by entering it as a console command on a “broken” save file and seeing that the save file is now able to wait to move NPCs again.setinchargen 0
appears to not be present in any other scripts in the game, with the only othersetinchargen
being it set to1
at the very start of the game.
- No variation of
setstage MQ01 88
orset MQ01.stage to 88
is anywhere else in scripts. - Manually console commanding
setinchargen 0
does not prevent the player from activating the sewer exit popup. In theCGSewerExitScript
that calls all of this, the popup is set to appear ifIsActionRef player == 1 && getstagedone MQ01 88 == 0
meaning that if we could sequence break the tutorial quest to be below stage 88 somehow after exiting we could make the popup appear a second time.- Attempting to use console commands to directly alter a quest stage to be lower than its current stage does not work. It seems this isn’t possible.
- The purpose of all of this is to call
showclassmenu
so if we can find a way to do that outside of the tutorial then we'd have more options. However, this command only appears twice in the game, triggered by Baurus and by the sewer exit. - The sewer exit actually still checks for a button input from a popup regardless of if it passes the check to display the popup in the first place. This could potentially mean we could inject a different button value that matches the value we need for it to run
showclassmenu
. The scope of thegetbuttonpressed
function may make this impossible.- According to the Oghma script and Meridia Shrine script, we have two options for doing this:
- Injecting the “Path of Spirits” from Oghma Infinium, which gives us a
getbuttonpressed
value of2
, matching the value needed forshowclassmenu
. - Choosing the Mort Flesh offering at Meridia’s Shrine when we have bonemeal, ectoplasm, and mort flesh in our inventory for the same return value.
- Injecting the “Path of Spirits” from Oghma Infinium, which gives us a
- Trying various combinations of inputs, especially ones related to the Gold Dropping Glitch and Load Warping, have been tested but with no success currently.
- According to the Oghma script and Meridia Shrine script, we have two options for doing this: