I guess another the skill I should learn is time/cost management because I spend an unhealthy amount of effort just to fix Godot physics behaviors and rigging 😂
Oh, yeah. Godot's physics system can be a bit wonky. Especially with Rigidbody nodes. Did you happen to use Rigidbody2D? I tend to have better luck with trying to do things with CharacterBody2D.
Just for fun, I made a quick prototype of this mechanic with a CharacterBody2D just to see if I could. Might come in handy one day...
Viewing post in BunWithAGun jam comments
I did use CharacterBody2D, but there were several issues with the way I want to control the various forces applied to the player. Mostly, how the is_on_floor() flag was very inconsistent sometimes and kept making the bunny bouncy, so I did some workaround to handle that.
Your example is great! If you were to use it in the future, make sure to separate each source of force (ex: jump boost from jet pack, knockback from weapon, player's movement, gravity, etc..) then add them to body.velocity before calling move_and_slide(). This makes managing each force easier and more precise than modifying velocity directly (learn from my mistake 🥲)