From 4e0b7a329a38452cbab2af093542b57e12f1a2f6 Mon Sep 17 00:00:00 2001 From: "mark@runuo.com" Date: Thu, 9 May 2013 21:36:54 +0000 Subject: [PATCH] core optimization for small servers moonglow CoM base coordinates removed an unnecessary using directives name change api client verification null sanity check --- .../Instances/Factions/CouncilOfMages.cs | 23 ++++++++++++++++++- .../Tailor Items/Dyetubs/MetallicHuePicker.cs | 1 - Scripts/Misc/ClientVerification.cs | 2 +- Server/Main.cs | 4 +++- Server/Mobile.cs | 6 +++++ 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/Scripts/Engines/Factions/Instances/Factions/CouncilOfMages.cs b/Scripts/Engines/Factions/Instances/Factions/CouncilOfMages.cs index f42b83aac..1553e0efd 100644 --- a/Scripts/Engines/Factions/Instances/Factions/CouncilOfMages.cs +++ b/Scripts/Engines/Factions/Instances/Factions/CouncilOfMages.cs @@ -39,7 +39,28 @@ namespace Server.Factions new TextDefinition( 1005187, "Members of the Council of Mages will now be ignored." ), new TextDefinition( 1005188, "Members of the Council of Mages will now be warned to leave." ), new TextDefinition( 1005189, "Members of the Council of Mages will now be beaten with a stick." ), + // Moonglow new StrongholdDefinition( + new Rectangle2D[] + { + new Rectangle2D( 4463, 1487, 15, 35 ), + new Rectangle2D( 4450, 1522, 35, 48 ), + }, + new Point3D( 4469, 1486, 0 ), + new Point3D( 4457, 1455, 0 ), + new Point3D[] + { + new Point3D( 4464, 1534, 21 ), + new Point3D( 4470, 1536, 21 ), + new Point3D( 4468, 1534, 21 ), + new Point3D( 4470, 1534, 21 ), + new Point3D( 4468, 1536, 21 ), + new Point3D( 4466, 1534, 21 ), + new Point3D( 4466, 1536, 21 ), + new Point3D( 4464, 1536, 21 ) + } ), + // Magincia + /* new StrongholdDefinition( new Rectangle2D[] { new Rectangle2D( 3756, 2232, 4, 23 ), @@ -59,7 +80,7 @@ namespace Server.Factions new Point3D( 3797, 2252, 20 ), new Point3D( 3797, 2249, 20 ), new Point3D( 3797, 2246, 20 ) - } ), + } ), */ new RankDefinition[] { new RankDefinition( 10, 991, 8, new TextDefinition( 1060789, "Inquisitor of the Council" ) ), diff --git a/Scripts/Items/Skill Items/Tailor Items/Dyetubs/MetallicHuePicker.cs b/Scripts/Items/Skill Items/Tailor Items/Dyetubs/MetallicHuePicker.cs index d00cc6d03..3027e0acb 100644 --- a/Scripts/Items/Skill Items/Tailor Items/Dyetubs/MetallicHuePicker.cs +++ b/Scripts/Items/Skill Items/Tailor Items/Dyetubs/MetallicHuePicker.cs @@ -2,7 +2,6 @@ using Server; using Server.Gumps; using Server.Network; using System; -using System.Windows.Forms; namespace Server.Items { diff --git a/Scripts/Misc/ClientVerification.cs b/Scripts/Misc/ClientVerification.cs index cce5c5370..4c02657e2 100644 --- a/Scripts/Misc/ClientVerification.cs +++ b/Scripts/Misc/ClientVerification.cs @@ -126,7 +126,7 @@ namespace Server.Misc NetState state = e.State; ClientVersion version = e.Version; - if ( state.Mobile.AccessLevel > AccessLevel.Player ) + if ( state.Mobile == null || state.Mobile.AccessLevel > AccessLevel.Player ) return; if( Required != null && version < Required && ( m_OldClientResponse == OldClientResponse.Kick ||( m_OldClientResponse == OldClientResponse.LenientKick && (DateTime.Now - state.Mobile.CreationTime) > m_AgeLeniency && state.Mobile is PlayerMobile && ((PlayerMobile)state.Mobile).GameTime > m_GameTimeLeniency ))) diff --git a/Server/Main.cs b/Server/Main.cs index 9692a9623..bcd0bec18 100644 --- a/Server/Main.cs +++ b/Server/Main.cs @@ -509,8 +509,10 @@ namespace Server long sample = 0; - while( m_Signal.WaitOne() ) + while( !m_Closing ) { + m_Signal.WaitOne( 10, false ); + Mobile.ProcessDeltaQueue(); Item.ProcessDeltaQueue(); diff --git a/Server/Mobile.cs b/Server/Mobile.cs index 766e7cd84..a7d07ae39 100644 --- a/Server/Mobile.cs +++ b/Server/Mobile.cs @@ -8392,13 +8392,19 @@ namespace Server { if( m_Name != value ) // I'm leaving out the && m_NameMod == null { + string oldName = m_Name; m_Name = value; + OnAfterNameChange( oldName, m_Name ); Delta( MobileDelta.Name ); InvalidateProperties(); } } } + public virtual void OnAfterNameChange( string oldName, string newName ) + { + } + [CommandProperty( AccessLevel.GameMaster )] public DateTime LastStrGain {