Pretty sure your code does not work unless I mucked it up.
this.tween.finished will run before this.attacking = null. So the following check for if(this.attacking) will always be true.
But I do get the gist, I just need an extra variable to track.
I don't wanna implement it though if you plan on changing how this works anyway. :^) So if you plan on changing it I will post it to the tracker for tracking purposes. I'm really not acutely worried about a memory leak that happens if I spend an hour attacking.