fix: Fixes TimeSpan rounding issues (#1610)

### Summary

TLDR - .NET Framework rounded TimeSpan (and some DateTime) methods to the nearest millisecond. This was actually _expected_ accidentally for parts of RunUO.

We are aiming to fix this and clean up some other bad assumptions.

Closes #1604
This commit is contained in:
Kamron Batman 2023-11-22 18:03:56 -08:00 • committed by GitHub
parent 98727d13b3
commit 331f24cb71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 91 additions and 87 deletions

View file

@ -797,10 +797,10 @@ public abstract class BaseSpawner : Item, ISpawner
return;
}
var minSeconds = (int)m_MinDelay.TotalSeconds;
var maxSeconds = (int)m_MaxDelay.TotalSeconds;
var min = (long)m_MinDelay.TotalMilliseconds;
var max = (long)m_MaxDelay.TotalMilliseconds;
var delay = TimeSpan.FromSeconds(Utility.RandomMinMax(minSeconds, maxSeconds));
var delay = TimeSpan.FromMilliseconds(Utility.RandomMinMax(min, max));
DoTimer(delay);
}