Method for animating and detecting player attack

I am trying to wrack my brain around how to handle the sprite animation for the player. It is a 2D fighting game and I need a method to swap out different armor and weapon parts without creating brand new sprites for each weapon/armor combination. This would require a lot of sprite sheets and I can see that taking up a lot of memory. 

Then I need a way to detect the collisions between the weapon and the enemy. Taking a sword slash for example, the attack coming downward from overhead, can anyone suggest a method for tracking this type of collision?

Think I realized the possible solution. I think I can use a transparent animation for the weapon which is either over top or behind the player sprite, and I can probably do something similar for the armor and create a group from which which runs through the player animations. 

Now I just want a more precise method of detecting the attack, if I have a sprite for the weapon animation, it will be the size of the entire attack area. I want to be able to detect just where the sword is colliding with the enemy within that animation so an invisible area in the animation does not trigger damage. 

Think I realized the possible solution. I think I can use a transparent animation for the weapon which is either over top or behind the player sprite, and I can probably do something similar for the armor and create a group from which which runs through the player animations. 

Now I just want a more precise method of detecting the attack, if I have a sprite for the weapon animation, it will be the size of the entire attack area. I want to be able to detect just where the sword is colliding with the enemy within that animation so an invisible area in the animation does not trigger damage.