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

@ -67,7 +67,7 @@ namespace Server.Mobiles
if ( Core.ML && Utility.RandomDouble() < .33 )
PackItem( Engines.Plants.Seed.RandomPeculiarSeed(4) );
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
public override void GenerateLoot()
@ -104,7 +104,7 @@ namespace Server.Mobiles
public override void OnThink()
{
if ( DateTime.Now >= m_NextAbilityTime )
if ( DateTime.UtcNow >= m_NextAbilityTime )
{
JukaLord toBuff = null;
@ -121,7 +121,7 @@ namespace Server.Mobiles
{
if ( CanBeBeneficial( toBuff ) && toBuff.BeginAction( typeof( JukaMage ) ) )
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 30, 60 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 30, 60 ) );
toBuff.Say( true, "Give me the power to destroy my enemies!" );
this.Say( true, "Fight well my lord!" );
@ -164,7 +164,7 @@ namespace Server.Mobiles
}
else
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
}

View file

@ -78,7 +78,7 @@ namespace Server.Mobiles
AddItem( new Crossbow() );
PackItem( pack );
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
public override void GenerateLoot()
@ -117,9 +117,9 @@ namespace Server.Mobiles
this.PlaySound( 0x1E9 );
}
if ( DateTime.Now >= m_NextAbilityTime )
if ( DateTime.UtcNow >= m_NextAbilityTime )
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
ArrayList list = new ArrayList();

View file

@ -44,7 +44,7 @@ namespace Server.Mobiles
VirtualArmor = 34;
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
public override void GenerateLoot()
@ -174,13 +174,13 @@ namespace Server.Mobiles
public override void OnThink()
{
if ( DateTime.Now >= m_NextAbilityTime )
if ( DateTime.UtcNow >= m_NextAbilityTime )
{
Mobile combatant = this.Combatant;
if ( combatant != null && combatant.Map == this.Map && combatant.InRange( this, 12 ) )
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
int ability = Utility.Random( 4 );

View file

@ -44,7 +44,7 @@ namespace Server.Mobiles
VirtualArmor = 16;
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
public override void GenerateLoot()
@ -80,13 +80,13 @@ namespace Server.Mobiles
public override void OnThink()
{
if ( DateTime.Now >= m_NextAbilityTime )
if ( DateTime.UtcNow >= m_NextAbilityTime )
{
Mobile combatant = this.Combatant;
if ( combatant != null && combatant.Map == this.Map && combatant.InRange( this, 12 ) && IsEnemy( combatant ) && !UnderEffect( combatant ) )
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 30 ) );
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 30 ) );
if( combatant is BaseCreature )
{