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

@ -262,19 +262,19 @@ namespace Server.Mobiles
Say("I see you already have an escort.");
return false;
}
else if (m is PlayerMobile && (((PlayerMobile)m).LastEscortTime + EscortDelay) >= DateTime.Now)
else if (m is PlayerMobile && (((PlayerMobile)m).LastEscortTime + EscortDelay) >= DateTime.UtcNow)
{
int minutes = (int)Math.Ceiling(((((PlayerMobile)m).LastEscortTime + EscortDelay) - DateTime.Now).TotalMinutes);
int minutes = (int)Math.Ceiling(((((PlayerMobile)m).LastEscortTime + EscortDelay) - DateTime.UtcNow).TotalMinutes);
Say("You must rest {0} minute{1} before we set out on this journey.", minutes, minutes == 1 ? "" : "s");
return false;
}
else if (SetControlMaster(m))
{
m_LastSeenEscorter = DateTime.Now;
m_LastSeenEscorter = DateTime.UtcNow;
if (m is PlayerMobile)
((PlayerMobile)m).LastEscortTime = DateTime.Now;
((PlayerMobile)m).LastEscortTime = DateTime.UtcNow;
Say("Lead on! Payment will be made when we arrive in {0}.", (dest.Name == "Ocllo" && m.Map == Map.Trammel) ? "Haven" : dest.Name);
m_EscortTable[m] = this;
@ -389,7 +389,7 @@ namespace Server.Mobiles
{
StopFollow();
TimeSpan lastSeenDelay = DateTime.Now - m_LastSeenEscorter;
TimeSpan lastSeenDelay = DateTime.UtcNow - m_LastSeenEscorter;
if (lastSeenDelay >= AbandonDelay)
{
@ -412,7 +412,7 @@ namespace Server.Mobiles
if (ControlOrder != OrderType.Follow)
StartFollow(master);
m_LastSeenEscorter = DateTime.Now;
m_LastSeenEscorter = DateTime.UtcNow;
return master;
}
@ -421,9 +421,9 @@ namespace Server.Mobiles
if (m_DeleteTimer != null)
m_DeleteTimer.Stop();
m_DeleteTime = DateTime.Now + DeleteTime;
m_DeleteTime = DateTime.UtcNow + DeleteTime;
m_DeleteTimer = new DeleteTimer(this, m_DeleteTime - DateTime.Now);
m_DeleteTimer = new DeleteTimer(this, m_DeleteTime - DateTime.UtcNow);
m_DeleteTimer.Start();
}
@ -473,7 +473,7 @@ namespace Server.Mobiles
if (pm != null)
{
if (pm.CompassionGains > 0 && DateTime.Now > pm.NextCompassionDay)
if (pm.CompassionGains > 0 && DateTime.UtcNow > pm.NextCompassionDay)
{
pm.NextCompassionDay = DateTime.MinValue;
pm.CompassionGains = 0;
@ -490,7 +490,7 @@ namespace Server.Mobiles
else
pm.SendLocalizedMessage(1053002); // You have gained in compassion.
pm.NextCompassionDay = DateTime.Now + TimeSpan.FromDays(1.0); // in one day CompassionGains gets reset to 0
pm.NextCompassionDay = DateTime.UtcNow + TimeSpan.FromDays(1.0); // in one day CompassionGains gets reset to 0
++pm.CompassionGains;
if (pm.CompassionGains >= 5)
@ -553,7 +553,7 @@ namespace Server.Mobiles
if (reader.ReadBool())
{
m_DeleteTime = reader.ReadDeltaTime();
m_DeleteTimer = new DeleteTimer(this, m_DeleteTime - DateTime.Now);
m_DeleteTimer = new DeleteTimer(this, m_DeleteTime - DateTime.UtcNow);
m_DeleteTimer.Start();
}