From 40ee26c6ed15ccc7060fdbf3386178af478b0ab5 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 15 Oct 2010 03:54:16 +0000 Subject: [PATCH] more 7.0.9.x support --- Server/Mobile.cs | 18 +----------------- Server/Network/Packets.cs | 18 ++++++++++++++++++ Server/Targeting/MultiTarget.cs | 7 +++++-- Server/Targeting/Target.cs | 2 +- Server/TileData.cs | 4 ++-- 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/Server/Mobile.cs b/Server/Mobile.cs index 8abd39cc6..5ccb88b20 100644 --- a/Server/Mobile.cs +++ b/Server/Mobile.cs @@ -2730,25 +2730,9 @@ namespace Server m_Target = newTarget; if( newTarget != null && m_NetState != null && !m_TargetLocked ) - m_NetState.Send( newTarget.GetPacket() ); + m_NetState.Send( newTarget.GetPacketFor( m_NetState ) ); OnTargetChange(); - - - - /*if ( m_Target != value ) - { - if ( m_Target != null && value != null ) - m_Target.Cancel( this, TargetCancelType.Overriden ); - - m_Target = value; - - if ( m_Target != null && m_NetState != null && !m_TargetLocked ) - m_NetState.Send( m_Target.GetPacket() ); - //m_NetState.Send( new TargetReq( m_Target ) ); - - OnTargetChange(); - }*/ } } diff --git a/Server/Network/Packets.cs b/Server/Network/Packets.cs index 4363ee0ea..fb8dfd128 100644 --- a/Server/Network/Packets.cs +++ b/Server/Network/Packets.cs @@ -2114,6 +2114,24 @@ namespace Server.Network } } + public sealed class MultiTargetReqHS : Packet + { + public MultiTargetReq( MultiTarget t ) : base( 0x99, 30 ) + { + m_Stream.Write( (bool) t.AllowGround ); + m_Stream.Write( (int) t.TargetID ); + m_Stream.Write( (byte) t.Flags ); + + m_Stream.Fill(); + + m_Stream.Seek( 18, SeekOrigin.Begin ); + m_Stream.Write( (short) t.MultiID ); + m_Stream.Write( (short) t.Offset.X ); + m_Stream.Write( (short) t.Offset.Y ); + m_Stream.Write( (short) t.Offset.Z ); + } + } + public sealed class MultiTargetReq : Packet { public MultiTargetReq( MultiTarget t ) : base( 0x99, 26 ) diff --git a/Server/Targeting/MultiTarget.cs b/Server/Targeting/MultiTarget.cs index c1174283f..a570ba574 100644 --- a/Server/Targeting/MultiTarget.cs +++ b/Server/Targeting/MultiTarget.cs @@ -63,9 +63,12 @@ namespace Server.Targeting m_Offset = offset; } - public override Packet GetPacket() + public override Packet GetPacketFor( NetState ns ) { - return new MultiTargetReq( this ); + if ( ns.HighSeas ) + return new MultiTargetReqHS( this ); + else + return new MultiTargetReq( this ); } } } \ No newline at end of file diff --git a/Server/Targeting/Target.cs b/Server/Targeting/Target.cs index b1b31ca7f..21cc452da 100644 --- a/Server/Targeting/Target.cs +++ b/Server/Targeting/Target.cs @@ -168,7 +168,7 @@ namespace Server.Targeting } } - public virtual Packet GetPacket() + public virtual Packet GetPacketFor( NetState ns ) { return new TargetReq( this ); } diff --git a/Server/TileData.cs b/Server/TileData.cs index 2ac6d094c..f7d2c37e1 100644 --- a/Server/TileData.cs +++ b/Server/TileData.cs @@ -257,9 +257,9 @@ namespace Server m_LandData[i] = new LandData( ReadNameString( bin ), flags ); } - m_ItemData = new ItemData[0x8000]; + m_ItemData = new ItemData[0x10000]; - for ( int i = 0; i < 0x8000; ++i ) + for ( int i = 0; i < 0x10000; ++i ) { if ( (i & 0x1F) == 0 ) {