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

@ -51,16 +51,16 @@ namespace Server.Items
return;
}
if (CheckRange(m.Location, oldLocation, 0) && DateTime.UtcNow >= m_NextActiveTrigger)
if (CheckRange(m.Location, oldLocation, 0) && Core.Now >= m_NextActiveTrigger)
{
m_NextActiveTrigger = m_NextPassiveTrigger = DateTime.UtcNow + ResetDelay;
m_NextActiveTrigger = m_NextPassiveTrigger = Core.Now + ResetDelay;
OnTrigger(m);
}
else if (PassivelyTriggered && CheckRange(m.Location, oldLocation, PassiveTriggerRange) &&
DateTime.UtcNow >= m_NextPassiveTrigger)
Core.Now >= m_NextPassiveTrigger)
{
m_NextPassiveTrigger = DateTime.UtcNow + PassiveTriggerDelay;
m_NextPassiveTrigger = Core.Now + PassiveTriggerDelay;
OnTrigger(m);
}