Jakerb
I still think your conditionals are messed up.
At the end of your video you have the actual code that you're using displayed.
The first condition is:
if Input.is_action_just_pressed("Attack"):
Followed by:
elif not Input.is_action_just_pressed("Attack"):
That previous line is functionally equivalent to an else:
Either you Just pressed Attack, so the first condition gets activated, or you did not just press attack, so the second condition gets activated.
Those are the only two possibilities.
If you are doing this check in your _process() function, then every frame either you just pressed attack, or you didn't.
THIS IGNORES ANY OTHER INPUTS, like block, for instance.
Every time it detects that you did NOT just press attack, it sets attack to false, sword return to true, and idle to true.
This happens even if you are pressing the block input, because of how you set up the logic.
Can you please comment out that entire "elif not Input.is_action_just_pressed("Attack"): " chunk and see what happens?