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

@ -75,7 +75,7 @@ namespace Server.Mobiles
public void AreaPeace()
{
if ( Combatant == null || Deleted || !Alive || m_NextPeace > DateTime.Now || 0.1 < Utility.RandomDouble() )
if ( Combatant == null || Deleted || !Alive || m_NextPeace > DateTime.UtcNow || 0.1 < Utility.RandomDouble() )
return;
TimeSpan duration = TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 80 ) );
@ -86,20 +86,20 @@ namespace Server.Mobiles
if ( IsValidTarget( p ) )
{
p.PeacedUntil = DateTime.Now + duration;
p.PeacedUntil = DateTime.UtcNow + duration;
p.SendLocalizedMessage( 1072065 ); // You gaze upon the dryad's beauty, and forget to continue battling!
p.FixedParticles( 0x376A, 1, 20, 0x7F5, EffectLayer.Waist );
p.Combatant = null;
}
}
m_NextPeace = DateTime.Now + TimeSpan.FromSeconds( 10 );
m_NextPeace = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
PlaySound( 0x1D3 );
}
public bool IsValidTarget( PlayerMobile m )
{
if ( m != null && m.PeacedUntil < DateTime.Now && !m.Hidden && m.AccessLevel == AccessLevel.Player && CanBeHarmful( m ) )
if ( m != null && m.PeacedUntil < DateTime.UtcNow && !m.Hidden && m.AccessLevel == AccessLevel.Player && CanBeHarmful( m ) )
return true;
return false;
@ -111,7 +111,7 @@ namespace Server.Mobiles
public void AreaUndress()
{
if ( Combatant == null || Deleted || !Alive || m_NextUndress > DateTime.Now || 0.005 < Utility.RandomDouble() )
if ( Combatant == null || Deleted || !Alive || m_NextUndress > DateTime.UtcNow || 0.005 < Utility.RandomDouble() )
return;
foreach ( Mobile m in GetMobilesInRange( RangePerception ) )
@ -128,7 +128,7 @@ namespace Server.Mobiles
}
}
m_NextUndress = DateTime.Now + TimeSpan.FromMinutes( 1 );
m_NextUndress = DateTime.UtcNow + TimeSpan.FromMinutes( 1 );
}
public void UndressItem( Mobile m, Layer layer )

View file

@ -66,14 +66,14 @@ namespace Server.Mobiles
public void Peace( Mobile target )
{
if ( target == null || Deleted || !Alive || m_NextPeace > DateTime.Now || 0.1 < Utility.RandomDouble() )
if ( target == null || Deleted || !Alive || m_NextPeace > DateTime.UtcNow || 0.1 < Utility.RandomDouble() )
return;
PlayerMobile p = target as PlayerMobile;
if ( p != null && p.PeacedUntil < DateTime.Now && !p.Hidden && CanBeHarmful( p ) )
if ( p != null && p.PeacedUntil < DateTime.UtcNow && !p.Hidden && CanBeHarmful( p ) )
{
p.PeacedUntil = DateTime.Now + TimeSpan.FromMinutes( 1 );
p.PeacedUntil = DateTime.UtcNow + TimeSpan.FromMinutes( 1 );
p.SendLocalizedMessage( 500616 ); // You hear lovely music, and forget to continue battling!
p.FixedParticles( 0x376A, 1, 32, 0x15BD, EffectLayer.Waist );
p.Combatant = null;
@ -81,7 +81,7 @@ namespace Server.Mobiles
PlaySound( 0x58D );
}
m_NextPeace = DateTime.Now + TimeSpan.FromSeconds( 10 );
m_NextPeace = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
}
#endregion
@ -91,7 +91,7 @@ namespace Server.Mobiles
public void Suppress( Mobile target )
{
if ( target == null || m_Suppressed.ContainsKey( target ) || Deleted || !Alive || m_NextSuppress > DateTime.Now || 0.1 < Utility.RandomDouble() )
if ( target == null || m_Suppressed.ContainsKey( target ) || Deleted || !Alive || m_NextSuppress > DateTime.UtcNow || 0.1 < Utility.RandomDouble() )
return;
TimeSpan delay = TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 80 ) );
@ -115,7 +115,7 @@ namespace Server.Mobiles
PlaySound( 0x58C );
}
m_NextSuppress = DateTime.Now + TimeSpan.FromSeconds( 10 );
m_NextSuppress = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
}
public static void SuppressRemove( Mobile target )
@ -159,7 +159,7 @@ namespace Server.Mobiles
public void Undress( Mobile target )
{
if ( target == null || Deleted || !Alive || m_NextUndress > DateTime.Now || 0.005 < Utility.RandomDouble() )
if ( target == null || Deleted || !Alive || m_NextUndress > DateTime.UtcNow || 0.005 < Utility.RandomDouble() )
return;
if ( target.Player && target.Female && !target.Hidden && CanBeHarmful( target ) )
@ -173,7 +173,7 @@ namespace Server.Mobiles
target.SendLocalizedMessage( 1072196 ); // The satyr's music makes your blood race. Your clothing is too confining.
}
m_NextUndress = DateTime.Now + TimeSpan.FromMinutes( 1 );
m_NextUndress = DateTime.UtcNow + TimeSpan.FromMinutes( 1 );
}
public void UndressItem( Mobile m, Layer layer )
@ -190,7 +190,7 @@ namespace Server.Mobiles
public void Provoke( Mobile target )
{
if ( target == null || Deleted || !Alive || m_NextProvoke > DateTime.Now || 0.05 < Utility.RandomDouble() )
if ( target == null || Deleted || !Alive || m_NextProvoke > DateTime.UtcNow || 0.05 < Utility.RandomDouble() )
return;
foreach ( Mobile m in GetMobilesInRange( RangePerception ) )
@ -212,7 +212,7 @@ namespace Server.Mobiles
}
}
m_NextProvoke = DateTime.Now + TimeSpan.FromSeconds( 10 );
m_NextProvoke = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
}
#endregion

View file

@ -256,7 +256,7 @@ namespace Server.Mobiles
return m_Table[ from ] != null;
}
private DateTime m_NextDrop = DateTime.Now;
private DateTime m_NextDrop = DateTime.UtcNow;
public virtual void DropOoze()
{

View file

@ -95,7 +95,7 @@ namespace Server.Mobiles
if ( value != null )
{
Morph( value );
m_LastMorph = DateTime.Now;
m_LastMorph = DateTime.UtcNow;
}
m_MorphedInto = value;
@ -110,10 +110,10 @@ namespace Server.Mobiles
if ( Combatant != null )
{
if ( m_NextFireRing <= DateTime.Now && Utility.RandomDouble() < 0.02 )
if ( m_NextFireRing <= DateTime.UtcNow && Utility.RandomDouble() < 0.02 )
{
FireRing();
m_NextFireRing = DateTime.Now + TimeSpan.FromMinutes( 2 );
m_NextFireRing = DateTime.UtcNow + TimeSpan.FromMinutes( 2 );
}
if ( Combatant.Player && m_MorphedInto != Combatant && Utility.RandomDouble() < 0.05 )
@ -125,7 +125,7 @@ namespace Server.Mobiles
{
bool idle = base.CheckIdle();
if ( idle && m_MorphedInto != null && DateTime.Now - m_LastMorph > TimeSpan.FromSeconds( 30 ) )
if ( idle && m_MorphedInto != null && DateTime.UtcNow - m_LastMorph > TimeSpan.FromSeconds( 30 ) )
MorphedInto = null;
return idle;