Tip: Using Lunar Magic's "Change Properties in Sprite Header" dialogue, you can adjust the sprite slots in which sprites can spawn. For example, by using a sprite memory setting that doesn't use slot 07, you can easily prevent Reznor breaks in your hack.
This uberASM code makes jumps expensive, using user-defined amount of coins. Also works for swimming.
Credit is optional.
There's a few issues with this code, none of which are gamebreaking but can't be ignored.
- There's a mistake where ORA $13D4 is LDA $13D4, meaning the $9D check gets nullified and the code can run during freeze situations (powerup/powerdown, going in pipes, dying etc).
- The cost deduction can be avoided completely by doing a frame-perfect jump after landing, or by doing a quick mount-dismount off of Yoshi.
- The code still runs during "No Yoshi" intros, and attempting to skip the intro by pressing A/B will either deduct coins, or, if the kill option is enabled and the player doesn't have enough coins, kill Mario during the intro.
- The same happens during the Peach/fireworks sequence just after you defeat Bowser. Also, if you die during the "Mario blush" part, Mario's graphics will glitch out and loop the screen vertically. This issue isn't so bad since it's pretty specific, but it would be good to fix it anyway since the player shouldn't be able to die once Bowser is defeated.
Once these issues are taken care of, it can be accepted.