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:
parent
5de6edbeb8
commit
6c4308bce6
208 changed files with 660 additions and 793 deletions
|
|
@ -32,7 +32,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
|
||||
if (obj.IsTimed)
|
||||
{
|
||||
EndTime = DateTime.UtcNow + obj.Duration;
|
||||
EndTime = Core.Now + obj.Duration;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
{
|
||||
if (IsTimed)
|
||||
{
|
||||
WriteTimeRemaining(g, ref y, EndTime > DateTime.UtcNow ? EndTime - DateTime.UtcNow : TimeSpan.Zero);
|
||||
WriteTimeRemaining(g, ref y, Utility.Max(EndTime - Core.Now, TimeSpan.Zero));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,11 +39,11 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
|
||||
var nextEscort = pm.LastEscortTime + BaseEscortable.EscortDelay;
|
||||
|
||||
if (nextEscort > DateTime.UtcNow)
|
||||
if (nextEscort > Core.Now)
|
||||
{
|
||||
if (message)
|
||||
{
|
||||
var minutes = (int)Math.Ceiling((nextEscort - DateTime.UtcNow).TotalMinutes);
|
||||
var minutes = (int)Math.Ceiling((nextEscort - Core.Now).TotalMinutes);
|
||||
|
||||
if (minutes == 1)
|
||||
{
|
||||
|
|
@ -106,7 +106,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
m_Objective = objective;
|
||||
HasCompleted = false;
|
||||
m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5), CheckDestination);
|
||||
m_LastSeenEscorter = DateTime.UtcNow;
|
||||
m_LastSeenEscorter = Core.Now;
|
||||
m_Escort = instance.Quester as BaseCreature;
|
||||
|
||||
if (MLQuestSystem.Debug && m_Escort == null && instance.Quester != null)
|
||||
|
|
@ -170,14 +170,14 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
}
|
||||
else if (pm.Map != m_Escort.Map || !pm.InRange(m_Escort, 30)) // TODO: verify range
|
||||
{
|
||||
if (m_LastSeenEscorter + BaseEscortable.AbandonDelay <= DateTime.UtcNow)
|
||||
if (m_LastSeenEscorter + BaseEscortable.AbandonDelay <= Core.Now)
|
||||
{
|
||||
Abandon();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_LastSeenEscorter = DateTime.UtcNow;
|
||||
m_LastSeenEscorter = Core.Now;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
var instance = Instance;
|
||||
var pm = instance.Player;
|
||||
|
||||
pm.LastEscortTime = DateTime.UtcNow;
|
||||
pm.LastEscortTime = Core.Now;
|
||||
|
||||
if (m_Escort != null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
var pm = Instance.Player;
|
||||
|
||||
pm.AcceleratedSkill = Objective.Skill;
|
||||
pm.AcceleratedStart = DateTime.UtcNow + TimeSpan.FromMinutes(15); // TODO: Is there a max duration?
|
||||
pm.AcceleratedStart = Core.Now + TimeSpan.FromMinutes(15); // TODO: Is there a max duration?
|
||||
}
|
||||
|
||||
public override void OnQuestCancelled()
|
||||
|
|
@ -145,7 +145,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
|
||||
var pm = Instance.Player;
|
||||
|
||||
pm.AcceleratedStart = DateTime.UtcNow;
|
||||
pm.AcceleratedStart = Core.Now;
|
||||
pm.PlaySound(0x100);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue