Collide GPU particles off screen

I suspected as much tbh,

Your suggestion, do you mean have 2 particle systems and (for example) when under cover deactivate the GPU particle system and activate the CPU system? Not entirely sure how i would implement this without having a permanent line trace active from my character checking for a roof.

Did you have a system in mind?