Some more submarine FX hook-up work. Also now handling the situation where if you Play() a particle system, then Stop() it, then Play() it again, new particles won't play until all the particles from the previous playing state have run out. Continue playing the particles and start/stop just the emitters.
Now only running the entity OnDestroy assert on the server as at the moment on client, a bunch of these come up when first connecting to a procedural map (although that's probably an issue in itself). Note that this assert is editor-only as well.
It seems that a mountable type somewhere on procedural isn't being destroyed in the proper way. There was already an assert in BaseNetworkable to detect this, but it was commented out. Fixed the reason it was commented out (spam on editor playmode exit) and reinstated it. This has been commented out for over five years so who knows what it might show up.