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

@ -61,7 +61,7 @@ namespace Server.Mobiles
m_Mobile.Combatant = m_Mobile.FocusMob;
Action = ActionType.Combat;
m_NextCastTime = DateTime.Now;
m_NextCastTime = DateTime.UtcNow;
}
else if( SmartAI && m_Mobile.Mana < m_Mobile.ManaMax && !m_Mobile.Meditating )
{
@ -101,7 +101,7 @@ namespace Server.Mobiles
if( m_Mobile.Controlled )
{
if( DateTime.Now < m_NextHealTime )
if( DateTime.UtcNow < m_NextHealTime )
return null;
}
@ -144,7 +144,7 @@ namespace Server.Mobiles
else
delay = Math.Sqrt( 600 - m_Mobile.Int );
m_NextHealTime = DateTime.Now + TimeSpan.FromSeconds( delay );
m_NextHealTime = DateTime.UtcNow + TimeSpan.FromSeconds( delay );
return spell;
}
@ -664,7 +664,7 @@ namespace Server.Mobiles
}
}
if( m_Mobile.Spell == null && DateTime.Now > m_NextCastTime && m_Mobile.InRange( c, Core.ML ? 10 : 12 ) )
if( m_Mobile.Spell == null && DateTime.UtcNow > m_NextCastTime && m_Mobile.InRange( c, Core.ML ? 10 : 12 ) )
{
// We are ready to cast a spell
@ -714,7 +714,7 @@ namespace Server.Mobiles
if( spell != null )
spell.Cast();
m_NextCastTime = DateTime.Now + GetDelay( spell );
m_NextCastTime = DateTime.UtcNow + GetDelay( spell );
}
else if( m_Mobile.Spell == null || !m_Mobile.Spell.IsCasting )
{
@ -739,7 +739,7 @@ namespace Server.Mobiles
{
m_LastTarget = null;
}
else if( m_Mobile.Spell == null && DateTime.Now > m_NextCastTime )
else if( m_Mobile.Spell == null && DateTime.UtcNow > m_NextCastTime )
{
m_Mobile.DebugSay( "I am going to reveal my last target" );
@ -749,7 +749,7 @@ namespace Server.Mobiles
if( spell.Cast() )
m_LastTarget = null; // only do it once
m_NextCastTime = DateTime.Now + GetDelay( spell );
m_NextCastTime = DateTime.UtcNow + GetDelay( spell );
}
}