JetpackFixes
Fixes a bug causing the player to explode without crashing, the bug where you can sometimes freeze in place with the jetpack still running, and the bug that causes the battery to drain after dropping the jetpack.
Date uploaded | 5 months ago |
Version | 1.2.0 |
Download link | ButteryStancakes-JetpackFixes-1.2.0.zip |
Downloads | 4899 |
Dependency string | ButteryStancakes-JetpackFixes-1.2.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Jetpack Fixes
Fun fact: The "overheat mechanic" often attributed to the jetpack's design is actually caused by a bug. The jetpack has no heat meter or speed limit whatsoever.
More detailed explanation
- The reason the jetpack appears to explode on "overheat" is due to buggy crash damage behavior - the jetpack is programmed to explode ONLY if the player wearing it dies with jetpack controls active. Jetpack controls are enabled the moment you activate the thruster, and are only disabled after you land safely on the ground. (Hence, dying to fall damage still explodes the jetpack if you fall out of the sky with the jetpack turned off)
- Zeekerss programmed a special case where the player is instantly killed by Gravity if you are moving towards an obstacle that is less than 4 units away, while the jetpack is propelling you at more than 50 units per second.
- However, in v49, this condition would erroneously detect invisible "triggers" (which don't normally have collision) as obstacles. The player has several of these triggers attached to their body, causing you to "crash into yourself" and die almost immediately after reaching the speed threshold.
- v50 partially fixed this problem by disabling trigger detection, but there is still one non-trigger collider attached to the player that the jetpack can detect under specific circumstances, which causes you to die still to the same bug.
- This bug is most easily replicated by using the thruster to travel straight upwards - you'll notice there's no limit to how high or fast you can travel, but once you let go of the thruster and start free-falling, you will explode randomly in open sky after only a brief moment.
- Some other funny consequences of this behavior:
- Since tulip snakes also enable jetpack controls, if they carry you into the air and kill you while you have a jetpack in your inventory, it will still explode.
- Dying with jetpack controls explodes all jetpacks in your inventory - up to 4 at once!
It's possible Zeekerss intentionally left this bug in the game, as a pseudo-balancing feature for the raw power of the jetpack. However, since it's a side effect of incorrect behavior (that was even partially fixed in v50), this mod will get rid of it for you - allowing you to travel as fast as you like, as long as you don't crash (which will still kill you instantly)
Although the main feature of this mod is the fixed crash code, there are a couple of additional issues I've addressed:
- I fixed a new bug introduced in v50 where the jetpack can "get stuck" if your feet graze an object mid-flight (for example, touching the tip of a tree causes you to suddenly stop moving, even though the jetpack continues running - jumping would then cause you to hyper-accelerate and explode, usually)
- I also fixed the infamous battery bug where the jetpack charge drains while it's turned off or dropped on the floor.
- Fixed jetpack audio being distorted when you're flying around with it. (The Doppler effect shouldn't apply to your own jetpack, just when others are flying it)
New in v1.2 is a config option to re-enable mid-air explosions if you are flying too fast while too high in the sky:
I wouldn't really want to drag down the victory of soaring straight up into the sky and exploding like a firework.
– Zeekerss, The time is flying (and so are the jetpacks and tulip snakes)
CHANGELOG
v1.5.0
- Hopefully fixed the bug where the jetpack "drops inputs" when clicking (shakes the screen, but doesn't activate thruster)
- Fixed the jetpack's broken proximity warning (the beeping) logic
- Crashes at lethal speed now take into account modded HP values
v1.4.5
- Fixed the jetpack exploding in mid-air if you are wearing a belt bag
v1.4.4
- Reverted player collision change from v1.4.1
v1.4.3
- Fixed a NullReferenceException when the jetpack explodes mid-flight
v1.4.2
- Simplified some patches
v1.4.1
- Minor refactor allowing players to crash into other players at high speeds
- Reduced how much vertical momentum is transferred when dropping the jetpack
- Some config fixes
v1.4.0
- Added config setting to control when the jetpack explodes in mid-air from high speeds
- Can be turned off completely
- Can be enabled only at certain heights (new default, like "BecomeFirework" from v1.2)
- Can be enabled always (like vanilla)
- Fixed several interactions between tulip snakes and jetpacks
- Now tulip snakes flapping their wings won't spontaneously disable the jetpack
- Tulip snakes will continue to move you if you turn the jetpack off while they are still flapping
- Added config setting that allows launching yourself by dropping the jetpack mid-flight.
v1.3.0
- v56 compatibility
v1.2.1
- Fixed jetpacks becoming unusable in v50
v1.2.0
- Added "BecomeFirework" setting ;)
- Fixed the Doppler effect distorting the audio of your local jetpack
v1.1.0
- Fixed the "inverted battery" bug (battery now only drains when the jetpack is turned on)
v1.0.0
- Initial release