My dad was a heavy smoker, but after he got his thyroid removed, he stopped smoking.
And I am honestly proud of him.
He had been smoking since he was teenager (he underwent the surgery when he was 50).
My mom, my sister and I told him to stop smoking over and over again, but it didn't work. He worked it out himself.
When someone smokes in a public area, just cover your nose or mouth in front of him/her.
If the smoker is smart, then s/he will realize that you have been annoyed by the smoke.
If the smoker isn't, don't blame them. Blame the cigarettes