This is a short tutorial on how to add a muzzle flare, smoke and some lighting to a gun. We'll be doing this in Paint.NET, this way you don't need Photoshop or anything more expensive than free, although the same steps would apply for other programs.
First, you need to find a muzzle flare. The best is if the graphic is on a black background. There's dozens of free ones online, or you can simply create one from a photograph of a fire, by cropping just the right shape.
Now in your initial picture, create a new layer and paste your muzzle flare graphic. Then, use the Rotate tool under the Layers menu to align the image properly along the gun.
Once that's done, you can position the muzzle flare at the end of the gun, and go change the Blending Mode of that layer to Add, in the Layers Properties window, at the bottom right of your screen.
To make the effect look better, you can add some smoke. Again, there are a lot of free smoke images online, or you can make your own from any photograph of fire you can take.
Do the same steps as above, creating a new layer, rotating the smoke, and changing the mode to Add, but this time also make sure you reduce the opacity. It's important that you don't overdo the smoke or it will look fake, you want just a tiny amount, so a low opacity will help.
The last step is to add a bit of specular lighting to finish the effect. Using the Selection tool, select a part of the gun where the light would be reflected, fill it with orange color on a new layer, and then use a strong Blur effect.
After that, simply change the Blending Mode again to Add or Lighten and reduce the opacity. Do the same thing on the wall, drawing a large circle and applying some blur, then reduce the opacity even more. And voila, the effect is completed.