I had that exact idea myself, but about the reverse direction how can i do that? An example might help if you can because i don't think that's possible in GDscript
Also you said no if statement are needed, how can that be possible?
But i summary i make a hitbox and if i press the melee button a collision Shape apear and if it collide with any projectile (make a group called"projectiles) it reverse the direction its coming from?