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

@ -72,7 +72,7 @@ namespace Server.Mobiles
Hue = 0x41CE;
m_Target = target;
m_ExpireTime = DateTime.Now + TimeSpan.FromMinutes( 10.0 );
m_ExpireTime = DateTime.UtcNow + TimeSpan.FromMinutes( 10.0 );
SetStr( 401, 500 );
SetDex( 296, 315 );
@ -129,7 +129,7 @@ namespace Server.Mobiles
public override void OnThink()
{
if ( !m_Target.Alive || DateTime.Now > m_ExpireTime )
if ( !m_Target.Alive || DateTime.UtcNow > m_ExpireTime )
{
Delete();
return;

View file

@ -102,16 +102,16 @@ namespace Server.Mobiles
if ( combatant == null || combatant.Deleted || combatant.Map != Map || !InRange( combatant, 12 ) || !CanBeHarmful( combatant ) || !InLOS( combatant ) )
return;
if ( DateTime.Now >= m_NextBomb )
if ( DateTime.UtcNow >= m_NextBomb )
{
ThrowBomb( combatant );
m_Thrown++;
if ( 0.75 >= Utility.RandomDouble() && (m_Thrown % 2) == 1 ) // 75% chance to quickly throw another bomb
m_NextBomb = DateTime.Now + TimeSpan.FromSeconds( 3.0 );
m_NextBomb = DateTime.UtcNow + TimeSpan.FromSeconds( 3.0 );
else
m_NextBomb = DateTime.Now + TimeSpan.FromSeconds( 5.0 + (10.0 * Utility.RandomDouble()) ); // 5-15 seconds
m_NextBomb = DateTime.UtcNow + TimeSpan.FromSeconds( 5.0 + (10.0 * Utility.RandomDouble()) ); // 5-15 seconds
}
}