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

@ -211,7 +211,7 @@ namespace Server.Regions
public override TimeSpan GetLogoutDelay(Mobile m) =>
House.IsFriend(m) && House.IsInside(m)
? m.Aggressed.Any(info => info.Defender.Player && DateTime.UtcNow - info.LastCombatTime < CombatHeatDelay) ?
? m.Aggressed.Any(info => info.Defender.Player && Core.Now - info.LastCombatTime < CombatHeatDelay) ?
base.GetLogoutDelay(m) : TimeSpan.Zero
: base.GetLogoutDelay(m);
@ -242,7 +242,7 @@ namespace Server.Regions
{
from.SendLocalizedMessage(500295); // you are too far away to do that.
}
else if (DateTime.UtcNow <= House.BuiltOn.AddHours(1))
else if (Core.Now <= House.BuiltOn.AddHours(1))
{
from.SendLocalizedMessage(1080178); // You must wait one hour between each house demolition.
}