To make the same effect as a Pyro's flamethrower, use a info_particle_system with the particle system named "flamethrower". There's a
list of all the particle effects here, if you want to try out a different one such as "burning_torch".
To set a player on fire, use a trigger_multiple or a trigger_hurt with the output
OnStartTouch, target entities named
!activator via the input
igniteplayer. You would then send "Enable" to the trigger and "Start" to the particle when the button is pushed.
Would it be a good idea to have every light in my map controlled by a button so I could make it pitch black? Or would it cause unnecessary problems?
Dynamic lighting is very expensive to render. If you just want to make it pitch black, maybe
env_screenoverlay or
env_fade would be able to do that.