Smoke, explosion, rain, snow can be done using particles. Particles are just plane objects which 99% of the time you make them face the camera. Smoke and fire can be animated just by setting the texture of each particle. And then you either play animation, fade them using alpha mapping or just use a single image. The movement can be controlled on each in an update loop. An after each particle has finished just delete the object. There's tons of particle examples and tutorials on google and a few on here too.
Go to google images and search for sprite sheets for explosions, smoke, etc... These will give you an idea of were to start.
Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!