Freezing and Copying Particles?

I want to know if it’s possible to duplicate particles from ParticleEffects in their current state.

Using ParticleEffect:Clone() and reparenting does not work because the particles still restart from the beginning, meaning the current positioning of the existing particles isn’t carried over at all.

I realized that I could freeze particles by setting the TimeScale property to 0. But instead of the frozen particles being duplicated, cloning these particles simply causes nothing to appear.

There may be an easier way to approach this (and if there is then please let me know because doing this amount of calculating is ridiculous just to achieve a simple outcome), but basically what I’ve gathered is that if I’m capable of reading the same randomseed, or whatever ParticleEffects base their randomness off of, then I can basically predict all the properties of each individual particle. In case it inherits velocity, I could likely read for the parent’s velocity and introduce that into the formula to achieve accurate results. I could also read for timing using tick() from the moment the particles were created and adjust depending on the Lifetime and Rate property’s range and randomness.

Still, before I try any of this, I’m not even too sure where to start. Assuming there isn’t an easier way than doing all these calculations, how exactly do particles determine their randomness? They use a NumberSequence for ranges, so how are the numbers within these ranges determined? I am fully aware that nothing in Lua is actually random, so I guess what I’m asking for is the source of randomness that ParticleEffects use.