We should be able to dynamically create more color ids. You can essentially select any RGB color as it's fully dynamic, but using less different colors will speed up loading. The whole thing should not require any datablocks. It has to be fully handled by the engine. Is it really that hard to change the color of a projectile and spray can client-sided if you got access to the engine source code?