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

@ -129,14 +129,14 @@ namespace Server.Spells.Necromancy
{
m_Caster = caster;
m_Target = target;
m_End = DateTime.Now + delay;
m_End = DateTime.UtcNow + delay;
Priority = TimerPriority.TwoFiftyMS;
}
protected override void OnTick()
{
if ( m_Caster.Deleted || m_Target.Deleted || !m_Caster.Alive || !m_Target.Alive || DateTime.Now >= m_End )
if ( m_Caster.Deleted || m_Target.Deleted || !m_Caster.Alive || !m_Target.Alive || DateTime.UtcNow >= m_End )
{
DoExpire ();
}

View file

@ -144,13 +144,13 @@ namespace Server.Spells.Necromancy
{
m_Caster = caster;
m_Target = target;
m_End = DateTime.Now + delay;
m_End = DateTime.UtcNow + delay;
Priority = TimerPriority.TwoFiftyMS;
}
public void RenewDelay(TimeSpan delay)
{
m_End = DateTime.Now + delay;
m_End = DateTime.UtcNow + delay;
}
public void Halt()
@ -160,7 +160,7 @@ namespace Server.Spells.Necromancy
protected override void OnTick()
{
if ( m_Target.Deleted || !m_Target.Alive || DateTime.Now >= m_End )
if ( m_Target.Deleted || !m_Target.Alive || DateTime.UtcNow >= m_End )
{
MindRotSpell.ClearMindRotScalar( m_Target );
Stop();

View file

@ -66,7 +66,7 @@ namespace Server.Spells.Necromancy
{
t.Delay += TimeSpan.FromSeconds( 2.0 );
buffTime = t.Next - DateTime.Now;
buffTime = t.Next - DateTime.UtcNow;
}
}
else

View file

@ -149,7 +149,7 @@ namespace Server.Spells.Necromancy
m_MaxBaseDamage = spiritLevel + 1;
m_HitDelay = 5;
m_NextHit = DateTime.Now + TimeSpan.FromSeconds( m_HitDelay );
m_NextHit = DateTime.UtcNow + TimeSpan.FromSeconds( m_HitDelay );
m_Count = (int)spiritLevel;
@ -167,7 +167,7 @@ namespace Server.Spells.Necromancy
Stop();
}
if ( !m_Target.Alive || DateTime.Now < m_NextHit )
if ( !m_Target.Alive || DateTime.UtcNow < m_NextHit )
return;
--m_Count;
@ -197,7 +197,7 @@ namespace Server.Spells.Necromancy
}
else
{
m_NextHit = DateTime.Now + TimeSpan.FromSeconds( m_HitDelay );
m_NextHit = DateTime.UtcNow + TimeSpan.FromSeconds( m_HitDelay );
double damage = m_MinBaseDamage + (Utility.RandomDouble() * (m_MaxBaseDamage - m_MinBaseDamage));