Editing Arbitrary unit possession
From Halopedia, the Halo wiki
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{ | {{Era|RW}} | ||
'''Arbitrary Unit Possession''' is a glitch in ''[[Halo 2]]''. It allows players to play as any character in the game, and even play as | '''Arbitrary Unit Possession''' is a glitch in ''[[Halo 2]]''. It allows players to play as any character in the game, and even play as Vehicles. While playing as a different character, such as a Marine, [https://youtu.be/6A_UQJFI0wE you can even pilot the Pelican on the level Metropolis]. The glitch is caused by [[Wikipedia:Stale pointer bug|Stale Reference Manipulation]] in the games [https://en.wikipedia.org/wiki/Object_pool_pattern Object Pool Array]. Whenever an object is created, it creates a reference in memory to the actual object. An object is defined by 2 parts using Hexadecimal, a Salt and an index. The Salt is a number that is increased every single time something new spawns, and it can only increment. The Index however, simply lists how many objects there are currently loaded on the map, and because of the Pooling, can be increased, and decreased if an object has been removed from the map. If you are able to get into a very small space and prevent your Coop player from respawning, and restart the level, the glitch will begin. | ||
== Discovery == | == Discovery == | ||
On November 23rd, 2019, Dr. Bizz was in the middle of making a video showcasing the | On November 23rd, 2019, Dr. Bizz was in the middle of making a video showcasing the urine glitch, where a player can inhibit a dead body in first person. However, while filming, he had become Dead Alive in a way no one had seen before. He seemingly just killed his player twice, normally, and respawned Dead Alive on the level Quarantine Zone. Dr. Bizz reached out to Harc and Monopoli, who began messing with it on the same level. Acting on a small hunch, Monopoli had delayed Harcs' respawn until an Enforcer spawned, and [https://www.youtube.com/watch?v=9B8Pe6_ia0Q Harc respawned as the Enforcer]. From there, they would enlist the help of several modders who would help them understand the glitch better. | ||
By the end of that day, they had spawned as the following "new" characters: The Enforcer, Combat Form Flood, Grunt, Jackal, and Elite. Over the following months they had successfully been able to control nearly every single character in the game, except for the boss characters. | By the end of that day, they had spawned as the following "new" characters: The Enforcer, Combat Form Flood, Grunt, Jackal, and Elite. Over the following months they had successfully been able to control nearly every single character in the game, except for the boss characters. | ||
Line 14: | Line 14: | ||
== Salt Overflow == | == Salt Overflow == | ||
If something is loaded at the very start of a level, this would usually mean it is impossible to become that object because of the fact that the Salt cannot decrease. However, if we shoot 32, | If something is loaded at the very start of a level, this would usually mean it is impossible to become that object because of the fact that the Salt cannot decrease. However, if we shoot 32,000 bullets, the salt will overflow back to 0, and then continue from there. The reason that this works is because the Array uses a [https://en.wikipedia.org/wiki/16-bit_computing signed 16 bit integer], and therefore, has a max size of 32,768 possible integers before it overflows. For example, if we wanted to possess a character at the salt 500, but the total salt is already at 1,200, we would need to shoot exactly 32,068 bullets to make the salt wrap back around 500. This takes a lot of time however. If you are on a map with dual SMGs, it would still take you around 40 minutes to shoot that many bullets. This idea of overflow had been theorized by Mister Monopoli and Nibre, and had been [https://www.youtube.com/watch?v=CePHH2Gu4KE proven to work] on April 8, 2020. | ||
== The Result == | == The Result == | ||
[[File:H2A AUPPhantom.png|thumb|175px|A Player that has become a Phantom with the Arbitrary Unit Possession Glitch.]] | [[File:H2A AUPPhantom.png|thumb|175px|A Player that has become a Phantom with the Arbitrary Unit Possession Glitch.]] | ||
When you do the glitch, you can become any character and vehicle in the game. These characters include, but are not limited to; Phantoms, Pelicans, Marines, Elites, Jetpack/Ranger Elites, Grunts, Jackals, Hunters, Brutes, Drones, Machine Gun Turrets, Wraith Turrets | When you do the glitch, you can become any character and vehicle in the game. These characters include, but are not limited to; Phantoms, Pelicans, Marines, Elites, Jetpack/Ranger Elites, Grunts, Jackals, Hunters, Brutes, Drones, Machine Gun Turrets, Wraith Turrets, and Scarab Turrets. Just keep in mind that the further into a level something is, the harder it will be to predict the object pool. The best way to try to predict late level characters is to overload the map so nobody can shoot bullets. | ||
== Trivia == | == Trivia == | ||
* If a player tries to become turrets on a Phantom or Pelican, the game will crash. It is likely that the game has trouble with these turrets when they are detached from the Vehicle. However, becoming a Warthog turret poses no issue. | |||
* When you become a different biped, the players HUD appears very different. There is a less detailed motion radar, and no shield bar. [[File:H2 AUPHUD.png|thumb|250px|A Possessed Elite, showing the different HUD elements.]] | * When you become a different biped, the players HUD appears very different. There is a less detailed motion radar, and no shield bar. [[File:H2 AUPHUD.png|thumb|250px|A Possessed Elite, showing the different HUD elements.]] | ||
{{Glitches/H2}} | {{Glitches/H2}} | ||
[[Category:Halo 2 | [[Category:Halo 2 Glitches]] |