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
|
|
@ -53,7 +53,7 @@ namespace Server.Mobiles
|
|||
if ( 0.02 > Utility.RandomDouble() )
|
||||
PackItem( new BlackthornWelcomeBook() );
|
||||
|
||||
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 5, 30 ) );
|
||||
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 5, 30 ) );
|
||||
}
|
||||
|
||||
public override void OnDeath( Container c )
|
||||
|
|
@ -146,10 +146,10 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile combatant = Combatant;
|
||||
|
||||
if ( DateTime.Now < m_NextAbilityTime || combatant == null || combatant.Deleted || combatant.Map != Map || !InRange( combatant, 3 ) || !CanBeHarmful( combatant ) || !InLOS( combatant ) )
|
||||
if ( DateTime.UtcNow < m_NextAbilityTime || combatant == null || combatant.Deleted || combatant.Map != Map || !InRange( combatant, 3 ) || !CanBeHarmful( combatant ) || !InLOS( combatant ) )
|
||||
return;
|
||||
|
||||
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 5, 30 ) );
|
||||
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 5, 30 ) );
|
||||
|
||||
if ( Utility.RandomBool() )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ namespace Server.Mobiles
|
|||
Animate( 111, 5, 1, true, false, 0 ); // Do a little dance...
|
||||
|
||||
if ( AIObject != null )
|
||||
AIObject.NextMove = DateTime.Now + TimeSpan.FromSeconds( 1.0 );
|
||||
AIObject.NextMove = DateTime.UtcNow + TimeSpan.FromSeconds( 1.0 );
|
||||
|
||||
if ( list.Count >= 3 )
|
||||
{
|
||||
|
|
@ -140,7 +140,7 @@ namespace Server.Mobiles
|
|||
dancer.Animate( 111, 5, 1, true, false, 0 ); // Get down tonight...
|
||||
|
||||
if ( dancer.AIObject != null )
|
||||
dancer.AIObject.NextMove = DateTime.Now + TimeSpan.FromSeconds( 1.0 );
|
||||
dancer.AIObject.NextMove = DateTime.UtcNow + TimeSpan.FromSeconds( 1.0 );
|
||||
}
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), new TimerCallback( EndSavageDance ) );
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue