Shortanel so I research a little and I get a lot of mixed signals, some says gdscript is enough, others gdscript with gdextension or on the other side with mixing gdscript and C# or fully C#.
Programming language selection is opinionated. I used both gdscript (godot) and C# (unity) for my jobs.
Personally I prefer C#, but will still use gdscript for godot game. My reason is NOT runtime performance as I think it's the least important (I will still write code as performant as I can)
Both had pros and cons, only you know what's best for you.
Shortanel I want to ask for this type of game which is a good option and how i can aproach this with tutorials or something to give me an idea how I should structure the code?
My first attempt on complex game prototype is action rpg too (made with Construct 2). It doesn't look as complex as the game you mentioned and it plays terribly, but it has consecutive attack, roll, parry, upgradeable-stat, damage calculation with critical hit, knockback, etc. It might be different from what you are trying to achieve.
I would recommend try making topdown shooter game. Also don't just do the tutorial, make your game as wacky as possible. Play with numbers, effect, and so on. If you can find platformer tutorial with melee attack, that might be better for your case.
Next, learning state machine will help you tackle many complex games with ease, I think it's half of the "structuring your code". Use it to evolve your previous game and you got yourself at least a prototype of an action game.