fix(core): Caches DateTime.NowUtc (#548)

- [X] Caches DateTime.NowUtc on the game loop (not other threads)
- [X] Replaces all locations where it makes sense
- [X] Adds Min/Max for `IComparable` (TimeSpan, DateTimes, etc)

Closes #261
This commit is contained in:
Kamron Batman 2021-03-13 01:32:04 -08:00 • committed by GitHub
parent 5de6edbeb8
commit 6c4308bce6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
208 changed files with 660 additions and 793 deletions

View file

@ -1760,7 +1760,7 @@ namespace Server.Mobiles
public virtual bool DoBardPacified()
{
if (DateTime.UtcNow < m_Mobile.BardEndTime)
if (Core.Now < m_Mobile.BardEndTime)
{
m_Mobile.DebugSay("I am pacified, I wait");
m_Mobile.Combatant = null;
@ -1777,7 +1777,7 @@ namespace Server.Mobiles
public virtual bool DoBardProvoked()
{
if (DateTime.UtcNow >= m_Mobile.BardEndTime &&
if (Core.Now >= m_Mobile.BardEndTime &&
(m_Mobile.BardMaster?.Deleted != false ||
m_Mobile.BardMaster.Map != m_Mobile.Map || m_Mobile.GetDistanceToSqrt(m_Mobile.BardMaster) >
m_Mobile.RangePerception))
@ -1944,7 +1944,7 @@ namespace Server.Mobiles
using (var op = new StreamWriter("nan_transform.txt", true))
{
op.WriteLine(
$"NaN in TransformMoveDelay: {DateTime.UtcNow}, {GetType()}, {m_Mobile?.GetType()}, {m_Mobile.HitsMax}"
$"NaN in TransformMoveDelay: {Core.Now}, {GetType()}, {m_Mobile?.GetType()}, {m_Mobile.HitsMax}"
);
}