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
|
|
@ -142,7 +142,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
if ( DateTime.Now < (m_LastUse + UseDelay) )
|
||||
if ( DateTime.UtcNow < (m_LastUse + UseDelay) )
|
||||
return;
|
||||
|
||||
Point3D worldLoc = GetWorldLocation();
|
||||
|
|
@ -189,7 +189,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
m_LastUse = DateTime.Now;
|
||||
m_LastUse = DateTime.UtcNow;
|
||||
|
||||
from.Direction = from.GetDirectionTo( GetWorldLocation() );
|
||||
bow.PlaySwingAnimation( from );
|
||||
|
|
|
|||
|
|
@ -93,12 +93,12 @@ namespace Server.Items
|
|||
|
||||
if ( m.Player && Utility.InRange( Location, m.Location, 3 ) && !Utility.InRange( Location, oldLocation, 3 ) )
|
||||
{
|
||||
if ( DateTime.Now >= m_NextMessage )
|
||||
if ( DateTime.UtcNow >= m_NextMessage )
|
||||
{
|
||||
if ( Components.Count > 0 )
|
||||
((AddonComponent)Components[0]).SendLocalizedMessageTo( m, 1010061 ); // An overwhelming sense of peace fills you.
|
||||
|
||||
m_NextMessage = DateTime.Now + TimeSpan.FromSeconds( 25.0 );
|
||||
m_NextMessage = DateTime.UtcNow + TimeSpan.FromSeconds( 25.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,11 +143,11 @@ namespace Server.Items
|
|||
{
|
||||
World.Broadcast( 0x35, true, "Solen hives teleporters are being generated, please wait." );
|
||||
|
||||
DateTime startTime = DateTime.Now;
|
||||
DateTime startTime = DateTime.UtcNow;
|
||||
|
||||
int count = new SHTeleporterCreator().CreateSHTeleporters();
|
||||
|
||||
DateTime endTime = DateTime.Now;
|
||||
DateTime endTime = DateTime.UtcNow;
|
||||
|
||||
World.Broadcast( 0x35, true, "{0} solen hives teleporters have been created. The entire process took {1:F1} seconds.", count, (endTime - startTime).TotalSeconds );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ namespace Server.Items
|
|||
if ( m_Timer != null )
|
||||
writer.Write( m_Timer.Next );
|
||||
else
|
||||
writer.Write( DateTime.Now + EvaluationInterval );
|
||||
writer.Write( DateTime.UtcNow + EvaluationInterval );
|
||||
|
||||
// version 0
|
||||
writer.Write( (int) m_LiveCreatures );
|
||||
|
|
@ -427,10 +427,10 @@ namespace Server.Items
|
|||
{
|
||||
DateTime next = reader.ReadDateTime();
|
||||
|
||||
if ( next < DateTime.Now )
|
||||
next = DateTime.Now;
|
||||
if ( next < DateTime.UtcNow )
|
||||
next = DateTime.UtcNow;
|
||||
|
||||
m_Timer = Timer.DelayCall( next - DateTime.Now, EvaluationInterval, new TimerCallback( Evaluate ) );
|
||||
m_Timer = Timer.DelayCall( next - DateTime.UtcNow, EvaluationInterval, new TimerCallback( Evaluate ) );
|
||||
|
||||
goto case 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace Server.Items
|
|||
if ( m_DecayTimer != null )
|
||||
m_DecayTimer.Stop();
|
||||
|
||||
m_DecayTime = DateTime.Now + delay;
|
||||
m_DecayTime = DateTime.UtcNow + delay;
|
||||
|
||||
m_DecayTimer = new InternalTimer( this, delay );
|
||||
m_DecayTimer.Start();
|
||||
|
|
@ -214,7 +214,7 @@ namespace Server.Items
|
|||
if( reader.ReadBool() )
|
||||
{
|
||||
m_DecayTime = reader.ReadDeltaTime();
|
||||
BeginDecay( m_DecayTime - DateTime.Now );
|
||||
BeginDecay( m_DecayTime - DateTime.UtcNow );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ namespace Server.Items
|
|||
int mins = Utility.RandomMinMax( this.MinRespawnMinutes, this.MaxRespawnMinutes );
|
||||
TimeSpan delay = TimeSpan.FromMinutes( mins );
|
||||
|
||||
m_NextRespawnTime = DateTime.Now + delay;
|
||||
m_NextRespawnTime = DateTime.UtcNow + delay;
|
||||
m_RespawnTimer = Timer.DelayCall( delay, new TimerCallback( Respawn ) );
|
||||
}
|
||||
}
|
||||
|
|
@ -257,7 +257,7 @@ namespace Server.Items
|
|||
{
|
||||
m_NextRespawnTime = reader.ReadDeltaTime();
|
||||
|
||||
TimeSpan delay = m_NextRespawnTime - DateTime.Now;
|
||||
TimeSpan delay = m_NextRespawnTime - DateTime.UtcNow;
|
||||
m_RespawnTimer = Timer.DelayCall( delay > TimeSpan.Zero ? delay : TimeSpan.Zero, new TimerCallback( Respawn ) );
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ namespace Server.Items
|
|||
public InternalTimer( MarkContainer container, TimeSpan delay ) : base( delay )
|
||||
{
|
||||
m_Container = container;
|
||||
m_RelockTime = DateTime.Now + delay;
|
||||
m_RelockTime = DateTime.UtcNow + delay;
|
||||
|
||||
Start();
|
||||
}
|
||||
|
|
@ -257,7 +257,7 @@ namespace Server.Items
|
|||
m_AutoLock = reader.ReadBool();
|
||||
|
||||
if ( !Locked && m_AutoLock )
|
||||
m_RelockTimer = new InternalTimer( this, reader.ReadDeltaTime() - DateTime.Now );
|
||||
m_RelockTimer = new InternalTimer( this, reader.ReadDeltaTime() - DateTime.UtcNow );
|
||||
|
||||
m_TargetMap = reader.ReadMap();
|
||||
m_Target = reader.ReadPoint3D();
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ namespace Server.Items
|
|||
{
|
||||
m_Owner = owner;
|
||||
m_Level = level;
|
||||
m_DeleteTime = DateTime.Now + TimeSpan.FromHours( 3.0 );
|
||||
m_DeleteTime = DateTime.UtcNow + TimeSpan.FromHours( 3.0 );
|
||||
|
||||
m_Temporary = temporary;
|
||||
m_Guardians = new List<Mobile>();
|
||||
|
|
@ -560,7 +560,7 @@ namespace Server.Items
|
|||
{
|
||||
private Item m_Item;
|
||||
|
||||
public DeleteTimer( Item item, DateTime time ) : base( time - DateTime.Now )
|
||||
public DeleteTimer( Item item, DateTime time ) : base( time - DateTime.UtcNow )
|
||||
{
|
||||
m_Item = item;
|
||||
Priority = TimerPriority.OneMinute;
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ namespace Server.Items
|
|||
if ( m_Item != null && value == null )
|
||||
{
|
||||
int delay = Utility.RandomMinMax( this.Entry.MinDelay, this.Entry.MaxDelay );
|
||||
this.NextRespawn = DateTime.Now + TimeSpan.FromMinutes( delay );
|
||||
this.NextRespawn = DateTime.UtcNow + TimeSpan.FromMinutes( delay );
|
||||
}
|
||||
|
||||
if ( Instance != null )
|
||||
|
|
@ -287,7 +287,7 @@ namespace Server.Items
|
|||
set{ m_NextRespawn = value; }
|
||||
}
|
||||
|
||||
public StealableInstance( StealableEntry entry ) : this( entry, null, DateTime.Now )
|
||||
public StealableInstance( StealableEntry entry ) : this( entry, null, DateTime.UtcNow )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -303,7 +303,7 @@ namespace Server.Items
|
|||
if ( this.Item != null && ( this.Item.Deleted || this.Item.Movable || this.Item.Parent != null ) )
|
||||
this.Item = null;
|
||||
|
||||
if ( this.Item == null && DateTime.Now >= this.NextRespawn )
|
||||
if ( this.Item == null && DateTime.UtcNow >= this.NextRespawn )
|
||||
{
|
||||
this.Item = this.Entry.CreateInstance();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ namespace Server.Items
|
|||
return false;
|
||||
}
|
||||
|
||||
if ( DateTime.Now.Month != 12 )
|
||||
if ( DateTime.UtcNow.Month != 12 )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005700 ); // You will have to wait till next December to put your tree back up for display.
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ namespace Server.Engines.Mahjong
|
|||
m_WallBreakIndicator = new MahjongWallBreakIndicator( this, new Point2D( 335, 335 ) );
|
||||
m_Dices = new MahjongDices( this );
|
||||
m_Players = new MahjongPlayers( this, MaxPlayers, BaseScore );
|
||||
m_LastReset = DateTime.Now;
|
||||
m_LastReset = DateTime.UtcNow;
|
||||
m_Level = SecureLevel.CoOwners;
|
||||
}
|
||||
|
||||
|
|
@ -189,10 +189,10 @@ namespace Server.Engines.Mahjong
|
|||
|
||||
public void ResetGame( Mobile from )
|
||||
{
|
||||
if ( DateTime.Now - m_LastReset < TimeSpan.FromSeconds( 5.0 ) )
|
||||
if ( DateTime.UtcNow - m_LastReset < TimeSpan.FromSeconds( 5.0 ) )
|
||||
return;
|
||||
|
||||
m_LastReset = DateTime.Now;
|
||||
m_LastReset = DateTime.UtcNow;
|
||||
|
||||
if ( from != null )
|
||||
m_Players.SendLocalizedMessage( 1062771, from.Name ); // ~1_name~ has reset the game.
|
||||
|
|
@ -207,10 +207,10 @@ namespace Server.Engines.Mahjong
|
|||
|
||||
public void ResetWalls( Mobile from )
|
||||
{
|
||||
if ( DateTime.Now - m_LastReset < TimeSpan.FromSeconds( 5.0 ) )
|
||||
if ( DateTime.UtcNow - m_LastReset < TimeSpan.FromSeconds( 5.0 ) )
|
||||
return;
|
||||
|
||||
m_LastReset = DateTime.Now;
|
||||
m_LastReset = DateTime.UtcNow;
|
||||
|
||||
BuildWalls();
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ namespace Server.Engines.Mahjong
|
|||
m_ShowScores = reader.ReadBool();
|
||||
m_SpectatorVision = reader.ReadBool();
|
||||
|
||||
m_LastReset = DateTime.Now;
|
||||
m_LastReset = DateTime.UtcNow;
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ namespace Server.Items
|
|||
{
|
||||
if ( m_Duration != TimeSpan.Zero && m_Burning )
|
||||
{
|
||||
return m_End - DateTime.Now;
|
||||
return m_End - DateTime.UtcNow;
|
||||
}
|
||||
else
|
||||
return m_Duration;
|
||||
|
|
@ -124,7 +124,7 @@ namespace Server.Items
|
|||
if ( m_BurntOut )
|
||||
m_Duration = TimeSpan.Zero;
|
||||
else if ( m_Duration != TimeSpan.Zero )
|
||||
m_Duration = m_End - DateTime.Now;
|
||||
m_Duration = m_End - DateTime.UtcNow;
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
|
|
@ -148,7 +148,7 @@ namespace Server.Items
|
|||
if ( delay == TimeSpan.Zero )
|
||||
return;
|
||||
|
||||
m_End = DateTime.Now + delay;
|
||||
m_End = DateTime.UtcNow + delay;
|
||||
|
||||
m_Timer = new InternalTimer( this, delay );
|
||||
m_Timer.Start();
|
||||
|
|
@ -206,7 +206,7 @@ namespace Server.Items
|
|||
m_Protected = reader.ReadBool();
|
||||
|
||||
if ( m_Burning && m_Duration != TimeSpan.Zero )
|
||||
DoTimer( reader.ReadDeltaTime() - DateTime.Now );
|
||||
DoTimer( reader.ReadDeltaTime() - DateTime.UtcNow );
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -444,10 +444,10 @@ namespace Server.Items
|
|||
|
||||
private int m_Count;
|
||||
|
||||
private DateTime m_NextSkillTime;
|
||||
private DateTime m_NextSpellTime;
|
||||
private DateTime m_NextActionTime;
|
||||
private DateTime m_LastMoveTime;
|
||||
private int m_NextSkillTime;
|
||||
private int m_NextSpellTime;
|
||||
private int m_NextActionTime;
|
||||
private int m_LastMoveTime;
|
||||
|
||||
public DigTimer( Mobile from, TreasureMap treasureMap, Point3D location, Map map ) : base( TimeSpan.Zero, TimeSpan.FromSeconds( 1.0 ) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace Server.Items
|
|||
Movable = false;
|
||||
m_MinDamage = minDamage;
|
||||
m_MaxDamage = maxDamage;
|
||||
m_Created = DateTime.Now;
|
||||
m_Created = DateTime.UtcNow;
|
||||
m_Duration = duration;
|
||||
m_Timer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromSeconds( 1 ), new TimerCallback( OnTick ) );
|
||||
}
|
||||
|
|
@ -44,7 +44,7 @@ namespace Server.Items
|
|||
|
||||
private void OnTick()
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
DateTime now = DateTime.UtcNow;
|
||||
TimeSpan age = now - m_Created;
|
||||
|
||||
if( age > m_Duration ) {
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ namespace Server.Items
|
|||
|
||||
public static bool CheckTime( DateTime time, TimeSpan range )
|
||||
{
|
||||
return (time + range) < DateTime.Now;
|
||||
return (time + range) < DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public static string FormatTS( TimeSpan ts )
|
||||
|
|
@ -183,7 +183,7 @@ namespace Server.Items
|
|||
public void PostMessage( Mobile from, BulletinMessage thread, string subject, string[] lines )
|
||||
{
|
||||
if ( thread != null )
|
||||
thread.LastPostTime = DateTime.Now;
|
||||
thread.LastPostTime = DateTime.UtcNow;
|
||||
|
||||
AddItem( new BulletinMessage( from, thread, subject, lines ) );
|
||||
}
|
||||
|
|
@ -363,7 +363,7 @@ namespace Server.Items
|
|||
|
||||
m_Poster = poster;
|
||||
m_Subject = subject;
|
||||
m_Time = DateTime.Now;
|
||||
m_Time = DateTime.UtcNow;
|
||||
m_LastPostTime = m_Time;
|
||||
m_Thread = thread;
|
||||
m_PostedName = m_Poster.Name;
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ namespace Server.Items
|
|||
if ( !Core.SE )
|
||||
return false;
|
||||
|
||||
return ( DateTime.Now < (m_TimeOfDeath + InstancedCorpseTime) );
|
||||
return ( DateTime.UtcNow < (m_TimeOfDeath + InstancedCorpseTime) );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -403,7 +403,7 @@ namespace Server.Items
|
|||
if ( m_DecayTimer != null )
|
||||
m_DecayTimer.Stop();
|
||||
|
||||
m_DecayTime = DateTime.Now + delay;
|
||||
m_DecayTime = DateTime.UtcNow + delay;
|
||||
|
||||
m_DecayTimer = new InternalTimer( this, delay );
|
||||
m_DecayTimer.Start();
|
||||
|
|
@ -551,7 +551,7 @@ namespace Server.Items
|
|||
|
||||
m_CorpseName = GetCorpseName( owner );
|
||||
|
||||
m_TimeOfDeath = DateTime.Now;
|
||||
m_TimeOfDeath = DateTime.UtcNow;
|
||||
|
||||
m_AccessLevel = owner.AccessLevel;
|
||||
m_Guild = owner.Guild as Guild;
|
||||
|
|
@ -578,10 +578,10 @@ namespace Server.Items
|
|||
{
|
||||
AggressorInfo info = owner.Aggressors[i];
|
||||
|
||||
if ( (DateTime.Now - info.LastCombatTime) < lastTime )
|
||||
if ( (DateTime.UtcNow - info.LastCombatTime) < lastTime )
|
||||
{
|
||||
m_Killer = info.Attacker;
|
||||
lastTime = (DateTime.Now - info.LastCombatTime);
|
||||
lastTime = (DateTime.UtcNow - info.LastCombatTime);
|
||||
}
|
||||
|
||||
if ( !isBaseCreature && !info.CriminalAggression )
|
||||
|
|
@ -592,10 +592,10 @@ namespace Server.Items
|
|||
{
|
||||
AggressorInfo info = owner.Aggressed[i];
|
||||
|
||||
if ( (DateTime.Now - info.LastCombatTime) < lastTime )
|
||||
if ( (DateTime.UtcNow - info.LastCombatTime) < lastTime )
|
||||
{
|
||||
m_Killer = info.Defender;
|
||||
lastTime = (DateTime.Now - info.LastCombatTime);
|
||||
lastTime = (DateTime.UtcNow - info.LastCombatTime);
|
||||
}
|
||||
|
||||
if ( !isBaseCreature )
|
||||
|
|
@ -739,7 +739,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
if( reader.ReadBool() )
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.Now );
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.UtcNow );
|
||||
|
||||
m_Looters = reader.ReadStrongMobileList();
|
||||
m_Killer = reader.ReadMobile();
|
||||
|
|
@ -787,7 +787,7 @@ namespace Server.Items
|
|||
case 7:
|
||||
{
|
||||
if ( reader.ReadBool() )
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.Now );
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.UtcNow );
|
||||
|
||||
goto case 6;
|
||||
}
|
||||
|
|
@ -831,7 +831,7 @@ namespace Server.Items
|
|||
case 0:
|
||||
{
|
||||
if ( version < 10 )
|
||||
m_TimeOfDeath = DateTime.Now;
|
||||
m_TimeOfDeath = DateTime.UtcNow;
|
||||
|
||||
if ( version < 7 )
|
||||
BeginDecay( m_DefaultDecayTime );
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Server.Items
|
|||
if ( m_DecayTimer != null )
|
||||
m_DecayTimer.Stop();
|
||||
|
||||
m_DecayTime = DateTime.Now + delay;
|
||||
m_DecayTime = DateTime.UtcNow + delay;
|
||||
|
||||
m_DecayTimer = new InternalTimer( this, delay );
|
||||
m_DecayTimer.Start();
|
||||
|
|
@ -105,7 +105,7 @@ namespace Server.Items
|
|||
case 1:
|
||||
{
|
||||
if ( reader.ReadBool() )
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.Now );
|
||||
BeginDecay( reader.ReadDeltaTime() - DateTime.UtcNow );
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ namespace Server.Items
|
|||
{
|
||||
Movable = false;
|
||||
Light = LightType.Circle225;
|
||||
m_NextSpawn = DateTime.Now;
|
||||
m_NextSpawn = DateTime.UtcNow;
|
||||
m_NextSpawnDelay = TimeSpan.FromMinutes( 15.0 );
|
||||
m_SpawnRange = 5;
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ namespace Server.Items
|
|||
m_NextSpawnDelay = reader.ReadTimeSpan();
|
||||
}
|
||||
|
||||
m_NextSpawn = DateTime.Now;
|
||||
m_NextSpawn = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public virtual void HeedWarning()
|
||||
|
|
@ -134,7 +134,7 @@ namespace Server.Items
|
|||
|
||||
public override void OnMovement( Mobile m, Point3D oldLocation )
|
||||
{
|
||||
if( m_NextSpawn < DateTime.Now ) // means we haven't spawned anything if the next spawn is below
|
||||
if( m_NextSpawn < DateTime.UtcNow ) // means we haven't spawned anything if the next spawn is below
|
||||
{
|
||||
if( Utility.InRange( m.Location, Location, 1 ) && !Utility.InRange( oldLocation, Location, 1 ) && m.Player && !(m.AccessLevel > AccessLevel.Player || m.Hidden) )
|
||||
{
|
||||
|
|
@ -181,7 +181,7 @@ namespace Server.Items
|
|||
{
|
||||
try
|
||||
{
|
||||
if( m_NextSpawn < DateTime.Now )
|
||||
if( m_NextSpawn < DateTime.UtcNow )
|
||||
{
|
||||
Map map = this.Map;
|
||||
BaseCreature bc = (BaseCreature)Activator.CreateInstance( m_Creatures[Utility.Random( m_Creatures.Length )] );
|
||||
|
|
@ -205,7 +205,7 @@ namespace Server.Items
|
|||
bc.ForceReacquire();
|
||||
} );
|
||||
|
||||
m_NextSpawn = DateTime.Now + m_NextSpawnDelay;
|
||||
m_NextSpawn = DateTime.UtcNow + m_NextSpawnDelay;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ namespace Server.Items
|
|||
{
|
||||
Movable = false;
|
||||
m_LitBy = litBy;
|
||||
m_Expire = DateTime.Now + TimeSpan.FromSeconds( 10 );
|
||||
m_Expire = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
|
||||
m_Burning = toDamage;
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ), new TimerCallback( OnFirebombFieldTimerTick ) );
|
||||
}
|
||||
|
|
@ -302,7 +302,7 @@ namespace Server.Items
|
|||
m_Burning.RemoveAt( i );
|
||||
}
|
||||
|
||||
if ( DateTime.Now >= m_Expire )
|
||||
if ( DateTime.UtcNow >= m_Expire )
|
||||
{
|
||||
m_Timer.Stop();
|
||||
Delete();
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Server.Items
|
|||
{
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that
|
||||
}
|
||||
else if ( Visible && ( ItemID == 4656 || ItemID == 4702 ) && DateTime.Now >= m_NextUse )
|
||||
else if ( Visible && ( ItemID == 4656 || ItemID == 4702 ) && DateTime.UtcNow >= m_NextUse )
|
||||
{
|
||||
Point3D p = this.GetWorldLocation();
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ namespace Server.Items
|
|||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 5.00 ), new TimerCallback( BackUp ) );
|
||||
|
||||
m_NextUse = DateTime.Now + TimeSpan.FromSeconds( 10.0 );
|
||||
m_NextUse = DateTime.UtcNow + TimeSpan.FromSeconds( 10.0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ namespace Server.Items
|
|||
|
||||
if ( text.Length > 0 )
|
||||
{
|
||||
PlayerBBMessage message = new PlayerBBMessage( DateTime.Now, from, text );
|
||||
PlayerBBMessage message = new PlayerBBMessage( DateTime.UtcNow, from, text );
|
||||
|
||||
if ( m_Greeting )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace Server.Items
|
|||
|
||||
m_MinDamage = minDamage;
|
||||
m_MaxDamage = maxDamage;
|
||||
m_Created = DateTime.Now;
|
||||
m_Created = DateTime.UtcNow;
|
||||
m_Duration = duration;
|
||||
|
||||
m_Timer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromSeconds( 1 ), new TimerCallback( OnTick ) );
|
||||
|
|
@ -46,7 +46,7 @@ namespace Server.Items
|
|||
|
||||
private void OnTick()
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
DateTime now = DateTime.UtcNow;
|
||||
TimeSpan age = now - m_Created;
|
||||
|
||||
if( age > m_Duration ) {
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ namespace Server.Items
|
|||
return;
|
||||
|
||||
if ( m_User.Deleted || m_User.Map != Map || !m_User.InRange( this, 3 )
|
||||
|| m_User.NetState == null || DateTime.Now - m_LastUse >= m_UseTimeout )
|
||||
|| m_User.NetState == null || DateTime.UtcNow - m_LastUse >= m_UseTimeout )
|
||||
{
|
||||
m_User.CloseGump( typeof( GameGump ) );
|
||||
}
|
||||
|
|
@ -223,7 +223,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
m_User = from;
|
||||
m_LastUse = DateTime.Now;
|
||||
m_LastUse = DateTime.UtcNow;
|
||||
|
||||
from.SendGump( new GameGump( this, from, 0, false ) );
|
||||
}
|
||||
|
|
@ -375,7 +375,7 @@ namespace Server.Items
|
|||
if ( 40.0 + Utility.RandomDouble() * 80.0 < lockpicking )
|
||||
{
|
||||
m_From.SendGump( new GameGump( m_Panel, m_From, m_Step, true ) );
|
||||
m_Panel.m_LastUse = DateTime.Now;
|
||||
m_Panel.m_LastUse = DateTime.UtcNow;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -422,7 +422,7 @@ namespace Server.Items
|
|||
{
|
||||
m_From.PlaySound( 0x1F4 );
|
||||
m_From.SendGump( new GameGump( m_Panel, m_From, m_Step + 1, false ) );
|
||||
m_Panel.m_LastUse = DateTime.Now;
|
||||
m_Panel.m_LastUse = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ namespace Server.Items
|
|||
m.SendLocalizedMessage(m_ProgressNumber);
|
||||
|
||||
if (m_ShowTimeRemaining)
|
||||
m.SendMessage("Time remaining: {0}", FormatTime(m_Table[m].Timer.Next - DateTime.Now));
|
||||
m.SendMessage("Time remaining: {0}", FormatTime(m_Table[m].Timer.Next - DateTime.UtcNow));
|
||||
|
||||
Timer.DelayCall<Mobile>(TimeSpan.FromSeconds(5), EndLock, m);
|
||||
}
|
||||
|
|
@ -842,7 +842,7 @@ namespace Server.Items
|
|||
Mobile m = reader.ReadMobile();
|
||||
DateTime end = reader.ReadDateTime();
|
||||
|
||||
StartTimer(m, end - DateTime.Now);
|
||||
StartTimer(m, end - DateTime.UtcNow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,10 +96,10 @@ namespace Server.Items
|
|||
|
||||
public virtual void Broadcast( Mobile triggerer )
|
||||
{
|
||||
if ( m_Broadcasting || (DateTime.Now < (m_LastBroadcast + m_ResetDelay)) )
|
||||
if ( m_Broadcasting || (DateTime.UtcNow < (m_LastBroadcast + m_ResetDelay)) )
|
||||
return;
|
||||
|
||||
m_LastBroadcast = DateTime.Now;
|
||||
m_LastBroadcast = DateTime.UtcNow;
|
||||
|
||||
m_Broadcasting = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace Server.Items
|
|||
|
||||
m_Entries = new ArrayList();
|
||||
|
||||
m_Created = DateTime.Now;
|
||||
m_Created = DateTime.UtcNow;
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ), new TimerCallback( OnTick ) );
|
||||
}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ namespace Server.Items
|
|||
|
||||
private void OnTick()
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
DateTime now = DateTime.UtcNow;
|
||||
TimeSpan age = now - this.Created;
|
||||
|
||||
if ( age >= TimeSpan.FromSeconds( 100.0 ) )
|
||||
|
|
@ -210,7 +210,7 @@ namespace Server.Items
|
|||
{
|
||||
m_Player = player;
|
||||
m_Fire = fire;
|
||||
m_Start = DateTime.Now;
|
||||
m_Start = DateTime.UtcNow;
|
||||
m_Safe = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,8 +124,8 @@ namespace Server.Items
|
|||
{
|
||||
Timer timer = m_Delay[ m ] as Timer;
|
||||
|
||||
if ( timer != null && timer.Next > DateTime.Now )
|
||||
return (int) (timer.Next - DateTime.Now).TotalSeconds;
|
||||
if ( timer != null && timer.Next > DateTime.UtcNow )
|
||||
return (int) (timer.Next - DateTime.UtcNow).TotalSeconds;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -211,7 +211,7 @@ namespace Server.Items
|
|||
MoveToWorld( loc, map );
|
||||
|
||||
m_From = from;
|
||||
m_End = DateTime.Now + TimeSpan.FromSeconds( 10 );
|
||||
m_End = DateTime.UtcNow + TimeSpan.FromSeconds( 10 );
|
||||
|
||||
SetDamage( min, max );
|
||||
|
||||
|
|
@ -310,7 +310,7 @@ namespace Server.Items
|
|||
if ( m_Item.Deleted )
|
||||
return;
|
||||
|
||||
if ( DateTime.Now > m_End )
|
||||
if ( DateTime.UtcNow > m_End )
|
||||
{
|
||||
m_Item.Delete();
|
||||
Stop();
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ namespace Server.Items
|
|||
if ( mon.Controlled || mon.Summoned )
|
||||
continue;
|
||||
|
||||
mon.Pacify( from, DateTime.Now + TimeSpan.FromSeconds( 5.0 ) ); // TODO check
|
||||
mon.Pacify( from, DateTime.UtcNow + TimeSpan.FromSeconds( 5.0 ) ); // TODO check
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -146,8 +146,8 @@ namespace Server.Items
|
|||
{
|
||||
Timer timer = m_Delay[ m ] as Timer;
|
||||
|
||||
if ( timer != null && timer.Next > DateTime.Now )
|
||||
return (int) (timer.Next - DateTime.Now).TotalSeconds;
|
||||
if ( timer != null && timer.Next > DateTime.UtcNow )
|
||||
return (int) (timer.Next - DateTime.UtcNow).TotalSeconds;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
if ( DateTime.Now < m_NextUse )
|
||||
if ( DateTime.UtcNow < m_NextUse )
|
||||
{
|
||||
from.SendLocalizedMessage( 502406 ); // This book needs time to recharge.
|
||||
return;
|
||||
|
|
@ -353,7 +353,7 @@ namespace Server.Items
|
|||
public virtual void OnTravel()
|
||||
{
|
||||
if ( !Core.SA )
|
||||
m_NextUse = DateTime.Now + UseDelay;
|
||||
m_NextUse = DateTime.UtcNow + UseDelay;
|
||||
}
|
||||
|
||||
public override void OnAfterDuped( Item newItem )
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace Server.Items
|
|||
set
|
||||
{
|
||||
if( value != m_ReplenishesCharges && value )
|
||||
m_LastReplenished = DateTime.Now;
|
||||
m_LastReplenished = DateTime.UtcNow;
|
||||
|
||||
m_ReplenishesCharges = value;
|
||||
}
|
||||
|
|
@ -112,12 +112,12 @@ namespace Server.Items
|
|||
if( !m_ReplenishesCharges || m_UsesRemaining >= InitMaxUses )
|
||||
return;
|
||||
|
||||
if( m_LastReplenished + ChargeReplenishRate < DateTime.Now )
|
||||
if( m_LastReplenished + ChargeReplenishRate < DateTime.UtcNow )
|
||||
{
|
||||
TimeSpan timeDifference = DateTime.Now - m_LastReplenished;
|
||||
TimeSpan timeDifference = DateTime.UtcNow - m_LastReplenished;
|
||||
|
||||
m_UsesRemaining = Math.Min( m_UsesRemaining + (int)( timeDifference.Ticks / ChargeReplenishRate.Ticks), InitMaxUses ); //How rude of TimeSpan to not allow timespan division.
|
||||
m_LastReplenished = DateTime.Now;
|
||||
m_LastReplenished = DateTime.UtcNow;
|
||||
|
||||
if( invalidate )
|
||||
InvalidateProperties();
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace Server.Items
|
|||
// You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
|
||||
from.SendLocalizedMessage( 1063013, "50\tNinjitsu" );
|
||||
}
|
||||
else if ( from.NextSkillTime > DateTime.Now )
|
||||
else if (Core.TickCount - from.NextSkillTime < 0)
|
||||
{
|
||||
// You must wait a few seconds before you can use that item.
|
||||
from.SendLocalizedMessage( 1070772 );
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Server.Items
|
|||
// You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
|
||||
from.SendLocalizedMessage( 1063013, "50\tNinjitsu" );
|
||||
}
|
||||
else if ( from.NextSkillTime > DateTime.Now )
|
||||
else if (Core.TickCount - from.NextSkillTime < 0)
|
||||
{
|
||||
// You must wait a few seconds before you can use that item.
|
||||
from.SendLocalizedMessage( 1070772 );
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ namespace Server.Items
|
|||
{
|
||||
from.SendLocalizedMessage( 1062845 + Utility.Random( 3 ) ); //"That doesn't seem like the smartest thing to do." / "That was an encounter you don't wish to repeat." / "Ha! You missed!"
|
||||
}
|
||||
else if( Core.SE && Utility.RandomDouble() > .20 && (from.Direction & Direction.Running) != 0 && ( DateTime.Now - from.LastMoveTime ) < from.ComputeMovementSpeed( from.Direction ) )
|
||||
else if (Core.SE && Utility.RandomDouble() > .20 && (from.Direction & Direction.Running) != 0 && (Core.TickCount - from.LastMoveTime) < from.ComputeMovementSpeed(from.Direction))
|
||||
{
|
||||
from.SendLocalizedMessage( 1063305 ); // Didn't your parents ever tell you not to run with scissors in your hand?!
|
||||
}
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ namespace Server.Items
|
|||
|
||||
if ( t != null )
|
||||
{
|
||||
t.Delay = t.Next - DateTime.Now;
|
||||
t.Delay = t.Next - DateTime.UtcNow;
|
||||
t.Stop();
|
||||
}
|
||||
|
||||
|
|
@ -356,7 +356,7 @@ namespace Server.Items
|
|||
|
||||
if ( t != null )
|
||||
{
|
||||
return t.Next - DateTime.Now;
|
||||
return t.Next - DateTime.UtcNow;
|
||||
}
|
||||
|
||||
return TimeSpan.Zero;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ namespace Server.Items
|
|||
Mobile m = (Mobile)entry.Key;
|
||||
|
||||
writer.Write( m );
|
||||
writer.Write( ((Timer)entry.Value).Next - DateTime.Now );
|
||||
writer.Write( ((Timer)entry.Value).Next - DateTime.UtcNow );
|
||||
writer.Write( m.NameMod );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Server.Items
|
|||
|
||||
public static void Initialize()
|
||||
{
|
||||
m_ServerStart = DateTime.Now;
|
||||
m_ServerStart = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
|
|
@ -71,7 +71,7 @@ namespace Server.Items
|
|||
|
||||
public static void GetTime( Map map, int x, int y, out int hours, out int minutes, out int totalMinutes )
|
||||
{
|
||||
TimeSpan timeSpan = DateTime.Now - WorldStart;
|
||||
TimeSpan timeSpan = DateTime.UtcNow - WorldStart;
|
||||
|
||||
totalMinutes = (int)(timeSpan.TotalSeconds / SecondsPerUOMinute);
|
||||
|
||||
|
|
|
|||
|
|
@ -178,10 +178,10 @@ namespace Server.Items
|
|||
|
||||
DateTime next = reader.ReadDateTime();
|
||||
|
||||
if( next < DateTime.Now )
|
||||
if( next < DateTime.UtcNow )
|
||||
m_Timer = Timer.DelayCall( TimeSpan.Zero, RechargeTime, new TimerCallback( Recharge ) );
|
||||
else
|
||||
m_Timer = Timer.DelayCall( next - DateTime.Now, RechargeTime, new TimerCallback( Recharge ) );
|
||||
m_Timer = Timer.DelayCall( next - DateTime.UtcNow, RechargeTime, new TimerCallback( Recharge ) );
|
||||
}
|
||||
|
||||
public void Recharge()
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ namespace Server.Items
|
|||
m_SpawnTimer = new SpawnTimer( this, delay );
|
||||
m_SpawnTimer.Start();
|
||||
|
||||
m_NextSpawnTime = DateTime.Now + delay;
|
||||
m_NextSpawnTime = DateTime.UtcNow + delay;
|
||||
}
|
||||
|
||||
private void StopSpawnTimer()
|
||||
|
|
@ -158,7 +158,7 @@ namespace Server.Items
|
|||
m_Level = (SecureLevel) reader.ReadEncodedInt();
|
||||
|
||||
if ( m_Petals < 10 )
|
||||
StartSpawnTimer( m_NextSpawnTime - DateTime.Now );
|
||||
StartSpawnTimer( m_NextSpawnTime - DateTime.UtcNow );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace Server.Items
|
|||
|
||||
public override void OnComponentUsed( AddonComponent c, Mobile from )
|
||||
{
|
||||
if ( from.InRange( Location, 2 ) )
|
||||
if ( from.InRange( this.GetWorldLocation(), 2 ) && from.InLOS( this.GetWorldLocation() ) )
|
||||
{
|
||||
if ( Utility.RandomBool() )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ namespace Server.Items
|
|||
}
|
||||
else
|
||||
{
|
||||
int daysLeft = (int)Math.Ceiling( ( deed.Stone.Started + deed.Stone.Duration + HouseRaffleStone.ExpirationTime - DateTime.Now ).TotalDays );
|
||||
int daysLeft = (int)Math.Ceiling( ( deed.Stone.Started + deed.Stone.Duration + HouseRaffleStone.ExpirationTime - DateTime.UtcNow ).TotalDays );
|
||||
|
||||
return String.Format(
|
||||
"<bodytextblack>" +
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ namespace Server.Items
|
|||
else
|
||||
m_Address = IPAddress.None;
|
||||
|
||||
m_Date = DateTime.Now;
|
||||
m_Date = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public void Serialize( GenericWriter writer )
|
||||
|
|
@ -123,7 +123,7 @@ namespace Server.Items
|
|||
m_Entries.Clear();
|
||||
m_Winner = null;
|
||||
m_Deed = null;
|
||||
m_Started = DateTime.Now;
|
||||
m_Started = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
m_State = value;
|
||||
|
|
@ -194,7 +194,7 @@ namespace Server.Items
|
|||
if ( m_State != HouseRaffleState.Completed )
|
||||
return false;
|
||||
|
||||
return ( m_Started + m_Duration + ExpirationTime <= DateTime.Now );
|
||||
return ( m_Started + m_Duration + ExpirationTime <= DateTime.UtcNow );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -520,7 +520,7 @@ namespace Server.Items
|
|||
|
||||
public void CheckEnd()
|
||||
{
|
||||
if ( m_State != HouseRaffleState.Active || m_Started + m_Duration > DateTime.Now )
|
||||
if ( m_State != HouseRaffleState.Active || m_Started + m_Duration > DateTime.UtcNow )
|
||||
return;
|
||||
|
||||
m_State = HouseRaffleState.Completed;
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ namespace Server.Items
|
|||
{
|
||||
from.Send( new AsciiMessage( this.Serial, this.ItemID, MessageType.Regular, 0x22, 3, "", "You cannot summon your pet to this location." ) );
|
||||
}
|
||||
else if ( Core.ML && from is PlayerMobile && DateTime.Now < ((PlayerMobile)from).LastPetBallTime.AddSeconds( 15.0 ) )
|
||||
else if ( Core.ML && from is PlayerMobile && DateTime.UtcNow < ((PlayerMobile)from).LastPetBallTime.AddSeconds( 15.0 ) )
|
||||
{
|
||||
MessageHelper.SendLocalizedMessageTo( this, from, 1080072, 0x22 ); // You must wait a few seconds before you can summon your pet.
|
||||
}
|
||||
|
|
@ -308,7 +308,7 @@ namespace Server.Items
|
|||
|
||||
if ( from is PlayerMobile )
|
||||
{
|
||||
((PlayerMobile)from).LastPetBallTime = DateTime.Now;
|
||||
((PlayerMobile)from).LastPetBallTime = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ namespace Server.Items
|
|||
{
|
||||
AggressorInfo info = m.Aggressed[i];
|
||||
|
||||
if ( DateTime.Now - info.LastCombatTime < time )
|
||||
if ( DateTime.UtcNow - info.LastCombatTime < time )
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +158,7 @@ namespace Server.Items
|
|||
|
||||
protected virtual bool CheckUse( Mobile from )
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
DateTime now = DateTime.UtcNow;
|
||||
|
||||
PlayerMobile pm = from as PlayerMobile;
|
||||
|
||||
|
|
@ -218,7 +218,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
#region Scroll of Alacrity
|
||||
if ( pm.AcceleratedStart > DateTime.Now )
|
||||
if ( pm.AcceleratedStart > DateTime.UtcNow )
|
||||
{
|
||||
from.SendLocalizedMessage(1078115); // You may not use a soulstone while your character is under the effects of a Scroll of Alacrity.
|
||||
return false;
|
||||
|
|
@ -595,7 +595,7 @@ namespace Server.Items
|
|||
|
||||
#region Scroll of ALacrity
|
||||
PlayerMobile pm = from as PlayerMobile;
|
||||
if (pm.AcceleratedStart > DateTime.Now)
|
||||
if (pm.AcceleratedStart > DateTime.UtcNow)
|
||||
{
|
||||
// <CENTER>Unable to Absorb Selected Skill from Soulstone</CENTER>
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ namespace Server.Items
|
|||
#endregion
|
||||
|
||||
#region Scroll of Alacrity
|
||||
if (pm.AcceleratedStart > DateTime.Now)
|
||||
if (pm.AcceleratedStart > DateTime.UtcNow)
|
||||
{
|
||||
from.SendLocalizedMessage(1077951); // You are already under the effect of an accelerated skillgain scroll.
|
||||
return false;
|
||||
|
|
@ -129,7 +129,7 @@ namespace Server.Items
|
|||
Effects.PlaySound( from.Location, from.Map, 0x1E9 );
|
||||
Effects.SendTargetParticles( from, 0x373A, 35, 45, 0x00, 0x00, 9502, (EffectLayer)255, 0x100 );
|
||||
|
||||
pm.AcceleratedStart = DateTime.Now + TimeSpan.FromMinutes(15);
|
||||
pm.AcceleratedStart = DateTime.UtcNow + TimeSpan.FromMinutes(15);
|
||||
|
||||
Timer t = (Timer)m_Table[from];
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ namespace Server.Items
|
|||
#endregion
|
||||
|
||||
#region Scroll of Alacrity
|
||||
if (pm.AcceleratedStart > DateTime.Now)
|
||||
if (pm.AcceleratedStart > DateTime.UtcNow)
|
||||
{
|
||||
from.SendLocalizedMessage(1077951); // You are already under the effect of an accelerated skillgain scroll.
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -59,9 +59,9 @@ namespace Server.Items
|
|||
{
|
||||
m.SendLocalizedMessage( 1060197 ); // You are not dead, and thus cannot be resurrected!
|
||||
}
|
||||
else if ( m.AnkhNextUse > DateTime.Now )
|
||||
else if ( m.AnkhNextUse > DateTime.UtcNow )
|
||||
{
|
||||
TimeSpan delay = m.AnkhNextUse - DateTime.Now;
|
||||
TimeSpan delay = m.AnkhNextUse - DateTime.UtcNow;
|
||||
|
||||
if ( delay.TotalMinutes > 0 )
|
||||
m.SendLocalizedMessage( 1079265, Math.Round( delay.TotalMinutes ).ToString() ); // You must wait ~1_minutes~ minutes before you can use this item.
|
||||
|
|
@ -142,7 +142,7 @@ namespace Server.Items
|
|||
|
||||
if ( from is PlayerMobile )
|
||||
{
|
||||
((PlayerMobile) from).AnkhNextUse = DateTime.Now + TimeSpan.FromHours( 1 );
|
||||
((PlayerMobile) from).AnkhNextUse = DateTime.UtcNow + TimeSpan.FromHours( 1 );
|
||||
}
|
||||
|
||||
base.OnResponse( state, info );
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ namespace Server.Items
|
|||
if ( m_Timer != null )
|
||||
writer.Write( (DateTime) m_Timer.Next );
|
||||
else
|
||||
writer.Write( (DateTime) DateTime.Now + TimeSpan.FromDays( 1 ) );
|
||||
writer.Write( (DateTime) DateTime.UtcNow + TimeSpan.FromDays( 1 ) );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -294,10 +294,10 @@ namespace Server.Items
|
|||
|
||||
DateTime next = reader.ReadDateTime();
|
||||
|
||||
if ( next < DateTime.Now )
|
||||
next = DateTime.Now;
|
||||
if ( next < DateTime.UtcNow )
|
||||
next = DateTime.UtcNow;
|
||||
|
||||
m_Timer = Timer.DelayCall( next - DateTime.Now, TimeSpan.FromDays( 1 ), new TimerCallback( GiveResources ) );
|
||||
m_Timer = Timer.DelayCall( next - DateTime.UtcNow, TimeSpan.FromDays( 1 ), new TimerCallback( GiveResources ) );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace Server.Items
|
|||
if ( m_Timer != null )
|
||||
writer.Write( (DateTime) m_Timer.Next );
|
||||
else
|
||||
writer.Write( (DateTime) DateTime.Now + TimeSpan.FromDays( 1 ) );
|
||||
writer.Write( (DateTime) DateTime.UtcNow + TimeSpan.FromDays( 1 ) );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -148,10 +148,10 @@ namespace Server.Items
|
|||
|
||||
DateTime next = reader.ReadDateTime();
|
||||
|
||||
if ( next < DateTime.Now )
|
||||
next = DateTime.Now;
|
||||
if ( next < DateTime.UtcNow )
|
||||
next = DateTime.UtcNow;
|
||||
|
||||
m_Timer = Timer.DelayCall( next - DateTime.Now, TimeSpan.FromDays( 1 ), new TimerCallback( GiveLogs ) );
|
||||
m_Timer = Timer.DelayCall( next - DateTime.UtcNow, TimeSpan.FromDays( 1 ), new TimerCallback( GiveLogs ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ namespace Server.Mobiles
|
|||
public override void OnThink()
|
||||
{
|
||||
/*
|
||||
if ( m_NextWave < DateTime.Now )
|
||||
if ( m_NextWave < DateTime.UtcNow )
|
||||
AreaHeatDamage();
|
||||
*/
|
||||
}
|
||||
|
|
@ -421,7 +421,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
m_NextWave = DateTime.Now + TimeSpan.FromSeconds( 3 );
|
||||
m_NextWave = DateTime.UtcNow + TimeSpan.FromSeconds( 3 );
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,15 +45,15 @@ namespace Server.Items
|
|||
if ( m.Location == oldLocation )
|
||||
return;
|
||||
|
||||
if ( CheckRange( m.Location, oldLocation, 0 ) && DateTime.Now >= m_NextActiveTrigger )
|
||||
if ( CheckRange( m.Location, oldLocation, 0 ) && DateTime.UtcNow >= m_NextActiveTrigger )
|
||||
{
|
||||
m_NextActiveTrigger = m_NextPassiveTrigger = DateTime.Now + ResetDelay;
|
||||
m_NextActiveTrigger = m_NextPassiveTrigger = DateTime.UtcNow + ResetDelay;
|
||||
|
||||
OnTrigger( m );
|
||||
}
|
||||
else if ( PassivelyTriggered && CheckRange( m.Location, oldLocation, PassiveTriggerRange ) && DateTime.Now >= m_NextPassiveTrigger )
|
||||
else if ( PassivelyTriggered && CheckRange( m.Location, oldLocation, PassiveTriggerRange ) && DateTime.UtcNow >= m_NextPassiveTrigger )
|
||||
{
|
||||
m_NextPassiveTrigger = DateTime.Now + PassiveTriggerDelay;
|
||||
m_NextPassiveTrigger = DateTime.UtcNow + PassiveTriggerDelay;
|
||||
|
||||
OnTrigger( m );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ namespace Server.Items
|
|||
{
|
||||
BaseWeapon.InDoubleStrike = true;
|
||||
attacker.RevealingAction();
|
||||
attacker.NextCombatTime = DateTime.Now + weapon.OnSwing( attacker, defender );
|
||||
attacker.NextCombatTime = Core.TickCount + weapon.OnSwing(attacker, defender).TotalMilliseconds;
|
||||
BaseWeapon.InDoubleStrike = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -636,7 +636,7 @@ namespace Server.Items
|
|||
m.AddStatMod( new StatMod( StatType.Int, modName + "Int", intBonus, TimeSpan.Zero ) );
|
||||
}
|
||||
|
||||
from.NextCombatTime = DateTime.Now + GetDelay( from );
|
||||
from.NextCombatTime = Core.TickCount + (int)GetDelay( from ).TotalMilliseconds;
|
||||
|
||||
if ( UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular )
|
||||
{
|
||||
|
|
@ -689,7 +689,7 @@ namespace Server.Items
|
|||
m.RemoveStatMod( modName + "Int" );
|
||||
|
||||
if ( weapon != null )
|
||||
m.NextCombatTime = DateTime.Now + weapon.GetDelay( m );
|
||||
m.NextCombatTime = Core.TickCount + (int)weapon.GetDelay(m).TotalMilliseconds;
|
||||
|
||||
if ( UseSkillMod && m_SkillMod != null )
|
||||
{
|
||||
|
|
@ -1018,7 +1018,7 @@ namespace Server.Items
|
|||
{
|
||||
PlayerMobile p = attacker as PlayerMobile;
|
||||
|
||||
canSwing = ( p == null || p.PeacedUntil <= DateTime.Now );
|
||||
canSwing = ( p == null || p.PeacedUntil <= DateTime.UtcNow );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ namespace Server.Items
|
|||
WeaponAbility a = WeaponAbility.GetCurrentAbility( attacker );
|
||||
|
||||
// Make sure we've been standing still for .25/.5/1 second depending on Era
|
||||
if ( DateTime.Now > (attacker.LastMoveTime + TimeSpan.FromSeconds( Core.SE ? 0.25 : (Core.AOS ? 0.5 : 1.0) )) || (Core.AOS && WeaponAbility.GetCurrentAbility( attacker ) is MovingShot) )
|
||||
if (Core.TickCount - attacker.LastMoveTime >= (Core.SE ? 250 : Core.AOS ? 500 : 1000) || (Core.AOS && WeaponAbility.GetCurrentAbility(attacker) is MovingShot))
|
||||
{
|
||||
bool canSwing = true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue