what hits, what gets hit
A hitbox is the area of an attack that deals damage, and it exists only during the attack's active frames. A hurtbox is the area of a character that can take damage. A hit lands only when the two overlap, so the defender's duck here makes every second swing miss.
Separate hitboxes from hurtboxes: enable each hitbox only during the attack's active frames, test it against the target's hurtboxes instead of sprite bounds, and register at most one hit per target per swing.