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

@ -124,8 +124,8 @@ namespace Server.Items
{
Timer timer = m_Delay[ m ] as Timer;
if ( timer != null && timer.Next > DateTime.Now )
return (int) (timer.Next - DateTime.Now).TotalSeconds;
if ( timer != null && timer.Next > DateTime.UtcNow )
return (int) (timer.Next - DateTime.UtcNow).TotalSeconds;
return 0;
}
@ -211,7 +211,7 @@ namespace Server.Items
MoveToWorld( loc, map );
m_From = from;
m_End = DateTime.Now + TimeSpan.FromSeconds( 10 );
m_End = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
SetDamage( min, max );
@ -310,7 +310,7 @@ namespace Server.Items
if ( m_Item.Deleted )
return;
if ( DateTime.Now > m_End )
if ( DateTime.UtcNow > m_End )
{
m_Item.Delete();
Stop();

View file

@ -109,7 +109,7 @@ namespace Server.Items
if ( mon.Controlled || mon.Summoned )
continue;
mon.Pacify( from, DateTime.Now + TimeSpan.FromSeconds( 5.0 ) ); // TODO check
mon.Pacify( from, DateTime.UtcNow + TimeSpan.FromSeconds( 5.0 ) ); // TODO check
}
}
}
@ -146,8 +146,8 @@ namespace Server.Items
{
Timer timer = m_Delay[ m ] as Timer;
if ( timer != null && timer.Next > DateTime.Now )
return (int) (timer.Next - DateTime.Now).TotalSeconds;
if ( timer != null && timer.Next > DateTime.UtcNow )
return (int) (timer.Next - DateTime.UtcNow).TotalSeconds;
return 0;
}

View file

@ -337,7 +337,7 @@ namespace Server.Items
return;
}
if ( DateTime.Now < m_NextUse )
if ( DateTime.UtcNow < m_NextUse )
{
from.SendLocalizedMessage( 502406 ); // This book needs time to recharge.
return;
@ -353,7 +353,7 @@ namespace Server.Items
public virtual void OnTravel()
{
if ( !Core.SA )
m_NextUse = DateTime.Now + UseDelay;
m_NextUse = DateTime.UtcNow + UseDelay;
}
public override void OnAfterDuped( Item newItem )