Yes, it did.
>Struggle deals damage to the opponent and the user receives recoil damage. The user takes recoil damage equal to 50% of the damage the attack did to the opponent. Struggle will automatically be used by a Pokémon that has no usable moves but is ordered to attack, and has infinite PP in such a situation.
If the user of Struggle attacks first and faints itself due to recoil damage, the opponent will not attack or be subjected to recurrent damage during that round. If Struggle breaks a Substitute, the user will take no recoil damage.
Struggle has 10 base PP, though no PP would ever be deducted from it. Self-inflicted recoil damage from Struggle from the previous turn can be countered if the opponent did not make a move on the following turn.
In Stadium, no recoil damage is taken if Struggle knocks out an opponent