Implement Core.TickCount

Convert movement, actions (lift/use), combat, and spells to use Core.TickCount and avoid DateTime caveats (performance, system time dependency, etc)
Refactor DateTime.Now to DateTime.UtcNow
Add LOS check for Iron Maiden addon
This commit is contained in:
Mark Sturgill 2013-10-06 03:21:18 -07:00
parent f99eefb288
commit d2c670f5c3
241 changed files with 842 additions and 831 deletions

View file

@ -830,7 +830,7 @@ namespace Server.Mobiles
m_Mobile.FocusMob = null;
m_Mobile.Combatant = null;
m_Mobile.CurrentSpeed = m_Mobile.ActiveSpeed;
m_NextStopGuard = DateTime.Now + TimeSpan.FromSeconds(10);
m_NextStopGuard = DateTime.UtcNow + TimeSpan.FromSeconds(10);
m_Mobile.CurrentSpeed = m_Mobile.ActiveSpeed;
break;
@ -928,7 +928,7 @@ namespace Server.Mobiles
{
m_Mobile.DebugSay("Praise the shepherd!");
}
else if (DateTime.Now < m_NextStopGuard)
else if (DateTime.UtcNow < m_NextStopGuard)
{
m_Mobile.DebugSay("I am on guard");
//m_Mobile.Turn( Utility.Random(0, 2) - 1 );
@ -1836,7 +1836,7 @@ namespace Server.Mobiles
public virtual bool DoBardPacified()
{
if (DateTime.Now < m_Mobile.BardEndTime)
if (DateTime.UtcNow < m_Mobile.BardEndTime)
{
m_Mobile.DebugSay("I am pacified, I wait");
m_Mobile.Combatant = null;
@ -1854,7 +1854,7 @@ namespace Server.Mobiles
public virtual bool DoBardProvoked()
{
if (DateTime.Now >= m_Mobile.BardEndTime && (m_Mobile.BardMaster == null || m_Mobile.BardMaster.Deleted || m_Mobile.BardMaster.Map != m_Mobile.Map || m_Mobile.GetDistanceToSqrt(m_Mobile.BardMaster) > m_Mobile.RangePerception))
if (DateTime.UtcNow >= m_Mobile.BardEndTime && (m_Mobile.BardMaster == null || m_Mobile.BardMaster.Deleted || m_Mobile.BardMaster.Map != m_Mobile.Map || m_Mobile.GetDistanceToSqrt(m_Mobile.BardMaster) > m_Mobile.RangePerception))
{
m_Mobile.DebugSay("I have lost my provoker");
m_Mobile.BardProvoked = false;
@ -1990,7 +1990,7 @@ namespace Server.Mobiles
{
using (StreamWriter op = new StreamWriter("nan_transform.txt", true))
{
op.WriteLine(String.Format("NaN in TransformMoveDelay: {0}, {1}, {2}, {3}", DateTime.Now, this.GetType().ToString(), m_Mobile == null ? "null" : m_Mobile.GetType().ToString(), m_Mobile.HitsMax));
op.WriteLine(String.Format("NaN in TransformMoveDelay: {0}, {1}, {2}, {3}", DateTime.UtcNow, this.GetType().ToString(), m_Mobile == null ? "null" : m_Mobile.GetType().ToString(), m_Mobile.HitsMax));
}
return 1.0;
@ -2009,7 +2009,7 @@ namespace Server.Mobiles
public virtual bool CheckMove()
{
return (DateTime.Now >= m_NextMove);
return (DateTime.UtcNow >= m_NextMove);
}
public virtual bool DoMove(Direction d)
@ -2040,8 +2040,8 @@ namespace Server.Mobiles
m_NextMove += delay;
if (m_NextMove < DateTime.Now)
m_NextMove = DateTime.Now;
if (m_NextMove < DateTime.UtcNow)
m_NextMove = DateTime.UtcNow;
m_Mobile.Pushing = false;
@ -2470,13 +2470,13 @@ namespace Server.Mobiles
return false;
}
if (m_Mobile.NextReacquireTime > DateTime.Now)
if (m_Mobile.NextReacquireTime > DateTime.UtcNow)
{
m_Mobile.FocusMob = null;
return false;
}
m_Mobile.NextReacquireTime = DateTime.Now + m_Mobile.ReacquireDelay;
m_Mobile.NextReacquireTime = DateTime.UtcNow + m_Mobile.ReacquireDelay;
m_Mobile.DebugSay("Acquiring...");
@ -2734,7 +2734,7 @@ namespace Server.Mobiles
{
m_Owner = owner;
m_Owner.m_NextDetectHidden = DateTime.Now;
m_Owner.m_NextDetectHidden = DateTime.UtcNow;
Priority = TimerPriority.FiftyMS;
}
@ -2802,7 +2802,7 @@ namespace Server.Mobiles
}
}
if (m_Owner.CanDetectHidden && DateTime.Now > m_Owner.m_NextDetectHidden)
if (m_Owner.CanDetectHidden && DateTime.UtcNow > m_Owner.m_NextDetectHidden)
{
m_Owner.DetectHidden();
@ -2815,7 +2815,7 @@ namespace Server.Mobiles
int min = delay * (9 / 10); // 13s at 1000 int, 33s at 400 int, 54s at <250 int
int max = delay * (10 / 9); // 16s at 1000 int, 41s at 400 int, 66s at <250 int
m_Owner.m_NextDetectHidden = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(min, max));
m_Owner.m_NextDetectHidden = DateTime.UtcNow + TimeSpan.FromSeconds(Utility.RandomMinMax(min, max));
}
}
}