SSBM Icon.png

Infinite Super Scope glitch

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search

The Infinite Super Scope glitch is a glitch in Super Smash Bros. Melee that allows players to shoot the Super Scope a seemingly infinite number of times, including charged shots. While this is the most common name for the glitch, it is technically a misnomer, as the Infinite Super Scope glitch does not give the Super Scope truly infinite ammo; rather, it gives it a ridiculously large number of shots to the Super Scope, giving the idea of infinite ammo.

The Infinite Super Scope glitch is most well-known as being a necessary step in completing the black hole glitch.

How to perform[edit]

The most common method of performing the glitch is described as follows. First, the player must grab a Super Scope with full ammo and fire 15 individual shots with it. Since tapping the A button once results in a volley of three shots every time, this can be done by pressing it 5 times. Following this, the player must fire two fully charged shots from the Super Scope, and finally, charge one more shot and have someone attack them before they fire, neither too early nor too late. After this, the glitch should be triggered.


The Infinite Super Scope Glitch occurs when a character is hit while they are charging a Super Scope that has exactly 1 ammo remaining. A Super Scope can fire shots at 10 charge levels: uncharged (charge level 0) rapid fire shots, which spend 1 ammo each, and charged shots at charge level between 1 to 9. A charged shot costs varying amount of ammo, from 2 to 16. The game determines the charge level of a shot based on how long a Super Scope has been charged, and how much ammo is remaining. When a Super Scope fires and has been charged for at least 5 frames, a charged shot will be attempted, and if charge time exceeds 8 frames, minimum level 1 charged shot will try to fire. If the scope then doesn't have enough ammo to fire a shot of the charge level according to time spent charging, the scope will then shoot a shot of the lowest charge level that costs more than the available amount of ammo and spends all of the remaining ammo in the process. However, the game code determining the charge level fails to account for a specific case, leading to "undefined behaviour" when the case takes place. If the scope has been charged to at least level 1, but it doesn't have enough ammo for a shot of any charge level from 1 to 9, then the code doesn't actually return a normal charge level value. Instead, the "charge level" aka the return value of that function is then incidentally a pointer representing the Super Scope objects virtual memory address. When used as an integer for charge level, the value of that pointer varies, but it's always a very small negative number, around -2.1 billion. As level 1 shot costs 2 ammo, this glitched charge level value happens when a Super Scope has exactly 1 ammo left.

If a character fires a shot of such glitched charge level themselves, nothing special happens. When shooting normally, a Super Scope can only shoot shots of charge level 0 to 9. If the charge level has unusual value, the result is a blank, just like when trying to shoot with a scope that has zero ammo left. Critically, no ammo is spent when that occurs. However, Super Scope ammo is also spent when a character gets hit while they are charging the scope. When hit while charging, instead of ignoring an unusual charge level, the game will instead directly subtract an amount of ammo equal to that charge level from the scope. Thus, when scope charging at a glitched charge level of ~ -2.1 billion is interrupted by a hit, then that amount is subtracted from ammo count, which is equal to ~ 2.1 billion ammo being added to the scope.