The user drains the opponent's energy using its horns. Afterwards, the user's energy is restored by half the damage the opponent taken.
Horn Leech does damage to the target, then restores the user's HP by up to half the damage dealt to the target. In a Double Battle, Horn Leech can target any Pokémon around the user. In a Triple Battle, Horn Leech can only target a Pokémon that's adjacent to the user.