6.0.14.2 compat

This commit is contained in:
mark 2009-07-19 04:18:39 +00:00
parent f2b9f04620
commit cc7814db35
4 changed files with 34 additions and 19 deletions

View file

@ -6769,7 +6769,7 @@ namespace Server
ClearFastwalkStack();
Send( new MobileIncoming( this, this ) );
Send( SupportedFeatures.Instantiate( ns.Account ) );
Send( SupportedFeatures.Instantiate( ns ) );
Send( new MobileUpdate( this ) );
Send( new MobileAttributes( this ) );
}
@ -8816,7 +8816,7 @@ namespace Server
ClearFastwalkStack();
Send( new MobileIncoming( this, this ) );
Send( SupportedFeatures.Instantiate( ns.Account ) );
Send( SupportedFeatures.Instantiate( ns ) );
Send( new MobileUpdate( this ) );
Send( new MobileAttributes( this ) );
}

View file

@ -201,13 +201,19 @@ namespace Server.Network {
set {
m_Version = value;
if ( value >= m_Version6017 )
if ( value >= m_Version60142 ) {
m_Post60142 = m_Post6017 = true;
} else if ( value >= m_Version6017 ) {
m_Post6017 = true;
else
m_Post6017 = false;
}
}
}
public bool ExtendedSupportedFeatures
{
get { return m_Post60142; }
}
public bool IsUOTDClient
{
get
@ -217,8 +223,10 @@ namespace Server.Network {
}
private static ClientVersion m_Version6017 = new ClientVersion( "6.0.1.7" );
private static ClientVersion m_Version60142 = new ClientVersion( "6.0.14.2" );
private bool m_Post6017;
private bool m_Post60142;
public bool IsPost6017 {
get {
@ -226,6 +234,12 @@ namespace Server.Network {
}
}
public bool IsPost60142 {
get {
return m_Post60142;
}
}
public List<SecureTrade> Trades {
get {
return m_Trades;

View file

@ -1952,7 +1952,7 @@ namespace Server.Network
state.Send( SeasonChange.Instantiate( m.GetSeason(), true ) );
state.Send( SupportedFeatures.Instantiate( state.Account ) );
state.Send( SupportedFeatures.Instantiate( state ) );
state.Sequence = 0;
state.Send( new MobileUpdate( m ) );
@ -1969,7 +1969,7 @@ namespace Server.Network
m.SendEverything();
state.Send( SupportedFeatures.Instantiate( state.Account ) );
state.Send( SupportedFeatures.Instantiate( state ) );
state.Send( new MobileUpdate( m ) );
//state.Send( new MobileAttributes( m ) );
state.Send( new MobileStatus( m, m ) );
@ -2201,7 +2201,7 @@ namespace Server.Network
state.CompressionEnabled = true;
if ( Core.AOS )
state.Send( SupportedFeatures.Instantiate( state.Account ) );
state.Send( SupportedFeatures.Instantiate( state ) );
state.Send( new CharacterList( state.Account, state.CityInfo ) );
}

View file

@ -2493,18 +2493,12 @@ namespace Server.Network
public static int Value{ get{ return m_AdditionalFlags; } set{ m_AdditionalFlags = value; } }
[Obsolete( "Specify account instead" )]
public static SupportedFeatures Instantiate()
public static SupportedFeatures Instantiate( NetState ns )
{
return Instantiate( null );
return new SupportedFeatures( ns );
}
public static SupportedFeatures Instantiate( IAccount account )
{
return new SupportedFeatures( account );
}
public SupportedFeatures( IAccount acct ) : base( 0xB9, 3 )
public SupportedFeatures( NetState ns ) : base( 0xB9, ns.ExtendedSupportedFeatures ? 5 : 3 )
{
int flags = ExpansionInfo.CurrentExpansion.SupportedFeatures;
@ -2519,13 +2513,20 @@ namespace Server.Network
flags |= 0x801C;
* */
IAccount acct = ns.Account as IAccount;
if ( acct != null && acct.Limit >= 6 )
{
flags |= 0x8020;
flags &= ~0x004;
}
m_Stream.Write( (ushort) flags );
if ( ns.ExtendedSupportedFeatures ) {
m_Stream.Write( (uint) flags );
} else {
m_Stream.Write( (ushort) flags );
}
//m_Stream.Write( (ushort) m_Value ); // 0x01 = T2A, 0x02 = LBR
}
}