Bodyslam

From Pizza Tower Speedrunning Wiki
Jump to navigation Jump to search

Bodyslam, Powerbomb, and Piledriver are mechanically very similar, but are entered via different methods:

  • Bodyslam is performed by pressing DOWN (or BODYSLAM) while in the Walking Jump state.
  • Powerbomb is performed by pressing JUMP while in the Dive state.
  • Piledriver is performed by pressing DOWN (or BODYSLAM) while holding an enemy/cutout, or by pressing UP as you Grab an enemy.

These moves all put you into a state of Freefall, which accelerates at 1.0 downward speed per frame and breaks the usual limit of 20 vertical speed. This may allow Peppino to fall much faster than normal if the drop is long enough.

All three moves will also break marble blocks upon contact, and can break metal blocks starting at 21 downward speed. Landing with any of these moves onto a sloped surface will link the slam into a Mach Dash with either 8 or 12 horizontal speed, depending on how long he's been falling. The breakpoint is usually 26.5 downward speed. For more details on the specifics of how Bodyslam, Powerbomb and Piledriver interact with metal blocks and slopes, see the the more complicated explanation below.

Freefall Deep Dive

This section will include a bunch of direct references to the Pizza Tower code, and mostly exists for TASing or if other new tech that requires knowledge of this is discovered. If you just want to know what speeds you'll need to break metal blocks or land on a ramp with 12 speed, you can stick to the above.
Expand

Metal block breaking and getting 12 speed from slopes both depend on a freefallsmash variable, which increments by 1 whenever Peppino is free falling downward. Peppino breaks metal blocks when freefallsmash >= 10, and lands on slopes with 12 speed when freefallsmash > 20. However, if Peppino is going up, it will be set to -14. In effect, this means Peppino needs to be going downwards for 24 frames to break metal blocks, and 35 frames to land on a slope with 12 speed.

Furthermore, acceleration in free fall is actually a bit strange: When Peppino Bodyslams or Powerbombs, he gains -5.5 vertical speed, which increases by 0.5 per frame for 15 frames until he is going down at 2.0, at which point he begins to accelerate at 1.0 vertical speed per frame until he hits 20.0 speed, at which point acceleration falls back to 0.5 per frame. When Peppino pops up from a Bodyslam/Powerbomb, the freefallsmash variable is set to -14, starts increasing once he's going down, hits 10 when Peppino is going 21 speed, and 20 at 26 speed.

However, the freefallsmash variable will continue to increase per-frame as long as Peppino is going down, so even if you hit a corner glitch and lose most of Peppino's vertical speed, Peppino will still hit these breakpoints in the same number of frames.

Furthermore, Piledriver is a little different: when you perform it by pressing DOWN/BODYSLAM while holding an enemy, Peppino's vertical speed is set to -4.5 instead of -5.5, and begins accelerating at 1.0 per frame once Peppino's speed hits 0.0 instead of 2.0, so Peppino pops up a little less than the other two and accelerates faster for a very short period, changing these values. This has no practical effect on most people playing the game, but it may become useful someday, so I figured I'd add it here.