Oblivion:Glitch Hunting: Difference between revisions

From PRCLive 100% Speedrun Wiki
Jump to navigation Jump to search
Line 60: Line 60:


==Fixing the Wait Timer Bug==
==Fixing the Wait Timer Bug==
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 <code>CGSewerExitScript</code> script which calls <code>setstage MQ01 88</code>. This quest’s stage 88 calls a script that includes <code>setinchargen 0</code>. 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.
** <code>setinchargen 0</code> appears to not be present in any other scripts in the game, with the only other <code>setinchargen</code> being it set to <code>1</code> at the very start of the game.
* No variation of <code>setstage MQ01 88</code> or <code>set MQ01.stage to 88</code> is anywhere else in scripts.
* Manually console commanding <code>setinchargen 0</code> does not prevent the player from activating the sewer exit popup. In the <code>CGSewerExitScript</code> that calls all of this, the popup is set to appear if <code>IsActionRef player == 1 && getstagedone MQ01 88 == 0</code> 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 <code>showclassmenu</code> 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 <code>showclassmenu</code>. The scope of the <code>getbuttonpressed</code> 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 <code>getbuttonpressed</code> value of <code>2</code>, matching the value needed for <code>showclassmenu</code>.
**# 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.
** Trying various combinations of inputs, especially ones related to the [https://youtu.be/Xd2mShNeXpc Gold Dropping Glitch] and Load Warping, have been tested but with no success currently.


==Duping Oghma Infinium==
==Duping Oghma Infinium==

Revision as of 04:13, 15 November 2021

The PRCLive community has an ongoing project to hunt for new glitches through a variety of methods. While most glitches mentioned in this article are theorized to exist based on leads and/or video evidence, some glitches are being researched due to the significant impact they would have on the 100% speedrun regardless of whether or not leads currently exist. Additionally, several glitches listed were already solved mechanically, but are being further optimized to discover new potential routing options for 100%.

Glitch Archaeology

The internet has a large quantity of Oblivion glitch videos/posts from decades ago. People within the community have been finding relatively obscure glitches/tech just by looking for old YouTube videos/forum posts. If you would like to hunt for glitches this way, you may just find something useful that was never noticed by the community at large. Message us on the Discord with your findings and we’ll attempt to recreate any found glitches and verify which versions of the game they work on.

Glitch Archaeology is not only about finding long-forgotten glitches. It is also about finding the earliest documented example of each known glitch to more thoroughly document the history of glitch hunting in the Oblivion community.

Unconfirmed/Pending

Glitch Original Year Archaeologist Description
Bruma Gate Jail Glitch 2011 Fevus You can close the Bruma Gate by going to jail to skip doing the actual quest.
Deer Glitch 2013 Fevus A Missing Name item dropped by the player results in deer spawning. This could be the result of a Skull of Corruption item.
Horse Mount While Sitting 2013 theRealpoBBpC The player is teleported to 0, 0, 0 when mounting a horse while seated.

Confirmed

Glitch Original Year Archaeologist Version Description
Selling Equipped Items 2014 theRealpoBBpC v1.0 only Selling an item you have equipped gives you the gold without losing the item. This glitch is also mentioned on the UESP.
TCL Glitch 2009 Fevus v1.2 The player can walk through objects as if the TCL console command is active by fainting a horse while mounting it.
Lucien Duping 2013 dnayls v1.2 Lucien's Lockpicks are glitched in the same way as Dorian's Gold. This strengthened our understanding of the Negative Inventory Glitch.

Fixing the Wait Timer Bug

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 calls setstage MQ01 88. This quest’s stage 88 calls a script that includes setinchargen 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 other setinchargen being it set to 1 at the very start of the game.
  • No variation of setstage MQ01 88 or set 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 the CGSewerExitScript that calls all of this, the popup is set to appear if IsActionRef 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 the getbuttonpressed function may make this impossible.
    • According to the Oghma script and Meridia Shrine script, we have two options for doing this:
      1. Injecting the “Path of Spirits” from Oghma Infinium, which gives us a getbuttonpressed value of 2, matching the value needed for showclassmenu.
      2. 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.
    • Trying various combinations of inputs, especially ones related to the Gold Dropping Glitch and Load Warping, have been tested but with no success currently.

Duping Oghma Infinium

Inventory Underflowing

In our attempts to dupe the Oghma Infinium, we inadvertently stumbled across a new glitch that has huge potential. Here is a video of the glitch being performed/explained.

Guided Research Questions

  • Can other items besides the Oghma Infinium be used to achieve this effect? We theorize we could potentially use this glitch for things like gold farming, but currently do not have an easy way to activate the effect early in the game.
    • It appears that the glitch works because a script removes the item from our inventory as we go to open our menu, making the menu fail to visually update despite being functionally accurate.
  • What exactly is going on with the visual display of the inventory after activating the glitch? It appears that it is possibly underflowing alphabetically, so that the item directly before Oghma in the inventory alphabetically represents the gold.

Wisp Stalk Cap Stack Separation

Using the Skull of Corruption Glitch we have found that you can duplicate Nirnroot to create “illegitimate” copies that don’t stack with the original ones. This results in you being able to create potions with alchemy that have two of the same Nirnroot ingredient, allowing for very efficient potions for abusing potion stacking. The perfect speed boost potion would theoretically have an “organic” Nirnroot and a “non-organic” one in addition to two Wisp Stalk Caps that are also glitched to be considered different ingredients. Is there a way to achieve this?

  • Currently, it appears using the Skull of Corruption Glitch on Wisp Stalk Caps does not achieve the same effect as when it is used to dupe Nirnroot. This is likely because Nirnroot and a few other items in the game are scripted to behave differently when duped to avoid being exploited.

RNG Manipulation

Full article: RNG Manipulation

Finding random skill books is annoying and RNG heavy. We can potentially lose a lot of time if we get bad RNG finding skill books, so ideally we would have a way to manipulate what drops we get. If you are interested in researching how this works, refer to the full article.

"Valid" Ayleid Statue Dupes

For Umbaccano’s quests, you need to acquire 10 total Ayleid Statues from around the map. These stack but cannot be duped with current methods, including the Skull of Corruption Glitch. Having to traverse 10 individual dungeons with confusing layouts just to complete a single quest is a huge time sink, is there any way to duplicate a statue so that Umbacano will accept it?

  • Discovering how to do this would have further implications for similar quests such as Bear Season.
  • The Lucien Dupe mentioned in the Glitch Archaeology section might work for this. Ayleid statues actually have two different item IDs, 0002AB48 and 000844C4, with the second one being weightless. It is possible the second one is actually the version that gets placed in the display case.

Havrd Escort Optimizations

Speedrunner Havrd created a crazy complicated setup for progressing through the escort section of the tutorial. His setup was slower than the regular method, resulting in it being largely forgotten, until we recently found a way to bring it much closer to the time the normal method takes. Here is a video showing how to perform it.

  1. Set hard save with Adrenaline Rush cast for the first save clip in the prison cell.
  2. Do the tutorial normally through goblin cave to end up at the door to escort.
  3. Hard save at escort door.
  4. Load warp the prison cell save so that you have AR, go in, quicksave at hole in wall.
  5. Load escort door hard save, load warp through door.
  6. Exit back through door, quicksave quickload
  7. Go back into escort, flare mythic dawn, stand at base of stairs to pick class and do dialogue with uriel.
  8. Wait for uriel to start walking, quicksave
  9. Load escort door hard save, load warp through door
  10. Exit back through door, quicksave quickload.
  11. Run to save clip position to the left of the open door in escort, save clip
  12. Void warp at base of stairs to trigger glenroy walking, go through door to finish escort.
  13. Finish run as normal.

The general revelation here is that NPCs in the tutorial can be manipulated to move around by leaving areas where they are running scripted events, unloading the cell by quicksaving and quickloading, then reloading the cell to skip their events.

  • Given that we are stuck in “tutorial mode” using the Class Reset Glitch, are there other long scripted events in other quests that we can skip with similar methods? Will this tech work even if we aren’t in “tutorial mode”?
  • Is there a way to improve the tutorial even further, especially by skipping dialogue or finding a better save clip?

Testing Hall Access

There is a test room (which you can visit using the console command coc testinghall) which contains essentially every item in the game in addition to tons of debug functions. Getting into this area would completely break several objectives for 100%, especially Skill Books Read. Is there any way to access this room?

Leads

  • This post claims to have specific coords for the testinghall (“change your location to: 3DB92, Y:1932.375000000, X: 1823.990000000 Z: 7162.773000000”)
  • This UESP discussion ends with someone claiming to be traveling towards the same coordinates the other post mentioned, but in a TestEndGame cell that is found by climbing out of Anvil Castle. We should visit this cell/location and see what the deal is.
  • The Frostcrag Spire Glitch allows players to get into a similar test area by uninstalling DLC. Is there a “legal” way to achieve this? Possibly with Load Warping?

Super Perma Key/Perma Key-like Effects

The Perma Key Glitch allows you to set a flag for having successfully unlocked a door with a key, and keep that flag set so that all other doors will now open even if you don’t have the key. The interesting thing about this glitch is it universally activates across all save files for the current instance of the game, so the only way to disable it is to close it:

  1. Open any door with a valid key so that the popup appears confirming the key was used.
  2. Before closing the popup, load any other save.
  3. The glitch is now active on all save files until you close the game.

The glitch only works on doors with a valid key somewhere in the game, meaning that scripted doors do not work. The Super Perma Key Glitch would be a system that lets us enter locked scripted doors in addition to regular doors. This would have massive implications not just in 100%, but in every category:

  • You could skip the entire tutorial with only a few save clips.
  • The main quest (and many other questlines) could be massively sequence broken since you could now gain access to dungeons that are scripted to open once a specific quest starts.

Additionally, it is very interesting that this glitch is universal across save files, since it implies a global flag was set permanently due to a fault in the game engine.

  • Are there any other global flags that can be permanently set by simply loading a save to interrupt the process of resetting the flag? Or through other means?
  • The perma key effect was tried on chests, and the result was that the game no longer let the player open any chests until they closed the game. There could be another way to do this, which would possibly allow for sequence breaking several quests.

Ancestor Moths Well Clip

During the Turning a Blind Eye quest, when you exit the dungeon it spawns you on the well outside. It turns out, there is actually a hidden door underneath the well that could be used to skip having to go through the entire dungeon, effectively skipping the entire quest. Is there a way to get into this well?

  • Finding a clip that will work for this will likely result in us discovering new tech about clipping through outdoor terrain, something which has never been done before.
    • The core issue is that all current methods of clipping such as Save Clipping and the TCL Glitch don’t actually let us go through outdoor ground, only buildings and other objects.

Horse Out of Bounds in City (Stable Spawn Location Manipulation)

For the Horse Vector system to work, we’d need to largely eliminate all rocks, trees, buildings, etc. from the map. The easiest way to do this is to jump out of a city to get out of bounds, which results in a fully explorable but empty map. The problem is, we can’t do this on a horse because currently we have no way to push a horse into the load zone for a city. Perhaps through Load Warping or some other method this would be possible?

  • Dnayls unearthed old forum posts confirming this is possible by mistake:

There are two glitches involved in this, the Stable Spawn Location Glitch and the Wabbajack Horse into City Glitch.

Stable Spawn Location Leads

  • MrBosch has created a result where Shadowmere can be stabled at a location other than a city, with the goal now being to recreate this in a way that proves a reliable setup. Here is what we know:
    • “i think i somehow set shadowmere's "stables' spawn" coordinates in the imperial prison.”
    • “i was trying to make shadowmere want to enter the imperial market district or prison from outside (in the bridge between both). this idea came from this youtube videobut thought it was fake anyways.”
    • “during my test, a guard attacks me when im on shadowmere and fatigue her enough to faint, then i got off shadowmere and fast traveled to the imperial prison, shadowmere spawned next to me.”
    • “then i traveled across the map and although i traveled to indoor and outdoor places, on shadowmere, she got back to the same place in the prison where she spawned and the "your horse is in the stables" text appeared. also, if you travel to imperial prsion district with shadowmere, she will stay with you so all this things makes me think that her new "stable" is this place”
    • “i tried different variations with the tcl glitch + fast travelling but couldnt get the same results.”
    • Fevus was unable to replicate this (and had all DLC enabled). Bosch did not have DLC enabled. This may be relevant, but the cause of the setup not working could be something else entirely as well.
    • This could be related to the Jail Time Followers Glitch.

Wabbajack Horse into City Leads

  • Fevus discovered that you can hit a horse with Wabbajack to turn it into an ogre to move it into a city.
    • This is the setup:
      1. Fast travel with any horse besides Shadowmere to the stable outside of Anvil.
      2. Run around to the south entrance to the city across the bridge from the castle entrance.
      3. Get off the horse, and use Wabbajack to transform it. If you get a Troll, Skeleton Champion, Ogre, or Goblin Skirmisher, continue to the next step, otherwise reroll the transformation.
      4. Get the transformed enemy to aggro you, then jump onto the nearby rock next to the wall. The enemy will enter the city.
      5. Enter the city and make sure your horse is not killed before it transforms back. You should now have a horse inside of the city.
    • The problem with this glitch is that it doesn’t work with Shadowmere. This isn’t a huge issue in terms of movement speed, but it does mean the horse cannot have potions to heal itself like Shadowmere can. It appears Shadowmere is on some sort of blacklist of creatures that Wabbajack cannot transform. Our best option would be to instead find a way to heal the horse through other means, or to simply use the current traveling salesman exploration system with Shadowmere and forgo horse vectors entirely.
    • Curiously, Fevus’ save file (which has all DLC enabled) is able to perform this glitch, but not the test save file we used on stream. We need to figure out if the glitch is DLC specific or if some other aspect of the save file is the cause of this issue. It is likely the stable relocation glitch could be involved in this.

The final part of the problem will simply be getting the horse out of the bounds of the city once inside. This video makes Cheydinhal look very promising if we can get the Anvil Wabbajack setup to work there too. This channel also has several other videos about how to get out of most other cities as well. On stream, we managed to jump out of Anvil on a horse after applying speed buffs to it.

Daedric Shrine Cutscene Skips

Daedric Shrines take forever because of cutscenes at the beginning and end of each quest. Is there a way to skip having to sit through these?

Leads

  • If you open your inventory on the one frame of actionable gameplay after making an offering to a shrine, you can fast travel away. You can also drop the items you were about to offer as well, although this is not useful in our case.
    • Returning to the shrine will trigger the cutscene to start as soon as you are in the area. Is there any way to overlap multiple cutscenes at once via saddling?
  • It was discovered that if you uninstall the Shivering Isles, the Sheogorath cutscene instantly ends because there is no audio file for his voice. This implies the audio file length determines the cutscene length. Any “legal” way to achieve something similar? Maybe through in-game sound settings?
    • New tech was discovered that will also likely be deemed "illegal" in the speedrun. By disabling the sound device on your computer that the game is outputting to, all dialogue is cut short or entirely skipped, which includes shrine cutscenes. Finding an in-game way to recreate this via audio settings would be solve this glitch.

Nude Warping

If you load warp into an indoor area using an outdoor save file, humorously the NPCs will not be wearing any weapons/armor/apparel, instead having them in their inventory. What this means is we can possibly steal items that are otherwise completely inaccessible to us normally from essential NPCs (example, Gray Cowl of Nocturnal) and NPCs we need to keep alive for other reasons. Are there any useful situations where we could use this tech?

  • Agronak gro-Malog’s raiment could sequence break the Arena.
  • Ahdarji’s Ring from Countess Alessia Caro.
  • Steal from Ancotar for Zero Visibility (already outdoors, may not work).
  • Arnora Auria’s amulet during Two Sides of the Coin.
  • Caranya during The Necromancer’s Amulet.
  • Jakben, Earl of Imbel to sequence break Boots of Springheel Jak.
  • Rosentia Gallenus during Whom Gods Annoy.