Wow, thank you so much for taking the time to look at my project, and even decompiling it.
- there's a reason why guns shoot from the firepoint at their tip. Initially I had ADS implemented, so if you wanted to hit more or less where you aimed (minus the weapon spread) you had to aim down sight. After playtesting I didn't feel that would fit with the fast paced gameplay. There's a reason Doom doesn't have ADS, right? :).
- headshots kill the enemy, but also if you aim down low in the legs area. You saw the code, there's no damage difference on where you shoot them. The reason body shots take more is purely because you're hitting their weapon. Getting the layers right is what I failed. You'll notice that for example the weapon layer collides with the player, but the player doesn't collide with the weapon. This also applies to boxes and ragdolls. This is to prevent those from becoming effectively walls for the player. Using a rigidbody and forces to move the player would have circumvented these problems, and would have made the character movement feel more natural.
I don't usually make 3D games. This was my second time doing it with Godot (technically third, but one of them was a 2.5D game). I did not enjoy the process. Nothing wrong with Godot, I just realized I don't like making 3D games :).