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:
parent
f99eefb288
commit
d2c670f5c3
241 changed files with 842 additions and 831 deletions
|
|
@ -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 )
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue