This is my implementation (i.e. follow-along) of Heartbeast's YouTube tutorial - https://www.youtube.com/playlist?list=PL9FzW-m48fn2SlrW0KoLT4n5egNdX-W9a
All assets are his, and most of the code is copied from the video. Originally made for Godot 3.2, I adapted it to 4.1, mostly with information from the video comments and Godot documentation.