No. Those either use a diff library or do a proper seed.

I am gonna use this until it gets fixed

Code:

function randseed ()
local v = RandomVector(DotaTime() * RandomFloat(RandomFloat(0.45, 0.85), RandomFloat(0.75, DotaTime())));
local abs = math.abs;
local x = v.x;
local y = v.y;
local z;
if (abs(x) == 0) then
x = abs(x) + DotaTime();
end
if (abs(y) == 0) then
y = abs(y) + DotaTime();
end
if (RandomFloat(0.30, 0.70) < 0.50) then
z = abs(x / y);
else
z = abs(y / x);
end
local w;
if (RandomFloat(0.20, 0.85) < 0.45) then
w = abs(DotaTime() / z * RandomFloat(x, y));
else
w = abs(z / DotaTime() * RandomFloat(x, y));
end
math.randomseed(w);
return nil;
end
local seed = randseed();

It's obviously not guaranteed to ALWAYS be unique. But I didn't make it for security, just to get around the issue and simulate as much "randomness" as it can... I placed this in my global utility package to make the static variable call the function once after the VM is initialized and before all scripts. This is a hack so I feel very dirty for using it...