Bully

From Ukikipedia
Revision as of 13:25, 9 December 2022 by Deldee (talk | contribs) (→‎Use in Challenges: added ETitV as a use and link to first instance of BitFS)
Jump to navigation Jump to search
Bully
Hitbox Info
Hitbox
Damage 0
Damage without hat 0
Speed to add
Tangibility radius 1000
Interaction type Bully Interaction
Found In
Lethal Lava Land, Bowser in the Fire Sea, Snowman's Land

Bullies are uncommon enemies in Super Mario 64, appearing in Lethal Lava Land, Bowser in the Fire Sea, and Snowman's Land. Bullies attack by running in to Mario, knocking him back. They can be defeated by knocking them into lava. The regular Bully model is loaded in actor group 2, while the Chill Bully model is loaded in with actor group 16.

Locations

The following courses have Bullies:

Use in Challenges

An application of the Bully Battery glitch has been used to complete Elevator Tour in the Volcano in 0 A-presses and has been suggested as a possible method for getting past the Bowser in the Fire Sea pole in 0 A-presses on N64. Bullies have also seen minor use in other challenges, such as doing Bowser in the Fire Sea with no joystick.

Bully Crashes

Angle Conversion Crash

Normally, a Bully's angle is confined to the range [-32768, 32767]. However, this code does not occur if the Bully is out-of-bounds. Due to this oversight, if Mario knocks a Bully out-of-bounds, its angle will increase by 32767 every frame without bound. After approximately 36 minutes, the Bully's angle exceeds the hex value 0x7FFFFFFF (2,147,483,647) at which point the game will crash from trying to perform a double-to-int conversion on a value above 0x7FFFFFFF. This crash does not occur on emulators, except for Wii VC, where the bully will keep moving on one axis, all the way out of the map.

Divide by 0 Crash

The Bully enemy's knockback logic contains a step that involves dividing by the horizontal distance between Mario and the Bully. Thus, the game will crash from a divide by 0 error if the operation is performed while the distance between Mario and the Bully is 0. Causing this crash requires very specific conditions. Mario must be next to an area out-of-bounds so that he will not be moved away from the bully before the crash can occur and Mario must be in a state to receive knockback from the bully, making the exact movement needed to cause the crash very precise.