7.0.9.x compat
updated spawner
This commit is contained in:
parent
e86794c4e6
commit
6441f12907
10 changed files with 367 additions and 88 deletions
|
|
@ -201,7 +201,9 @@ namespace Server.Network {
|
|||
set {
|
||||
m_Version = value;
|
||||
|
||||
if ( value >= m_Version7000 ) {
|
||||
if ( value >= m_Version7090 ) {
|
||||
_ProtocolChanges = ProtocolChanges.Version7090;
|
||||
} else if ( value >= m_Version7000 ) {
|
||||
_ProtocolChanges = ProtocolChanges.Version7000;
|
||||
} else if ( value >= m_Version60142 ) {
|
||||
_ProtocolChanges = ProtocolChanges.Version60142;
|
||||
|
|
@ -229,27 +231,30 @@ 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 static ClientVersion m_Version7000 = new ClientVersion( "7.0.0.0" );
|
||||
private static ClientVersion m_Version7090 = new ClientVersion( "7.0.9.0" );
|
||||
|
||||
private ProtocolChanges _ProtocolChanges;
|
||||
|
||||
private enum ProtocolChanges {
|
||||
NewSpellbook = 0x00000001,
|
||||
DamagePacket = 0x00000002,
|
||||
Unpack = 0x00000004,
|
||||
BuffIcon = 0x00000008,
|
||||
NewHaven = 0x00000010,
|
||||
ContainerGridLines = 0x00000020,
|
||||
NewSpellbook = 0x00000001,
|
||||
DamagePacket = 0x00000002,
|
||||
Unpack = 0x00000004,
|
||||
BuffIcon = 0x00000008,
|
||||
NewHaven = 0x00000010,
|
||||
ContainerGridLines = 0x00000020,
|
||||
ExtendedSupportedFeatures = 0x00000040,
|
||||
StygianAbyss = 0x00000080,
|
||||
StygianAbyss = 0x00000080,
|
||||
HighSeas = 0x00000100,
|
||||
|
||||
Version400a = NewSpellbook,
|
||||
Version407a = Version400a | DamagePacket,
|
||||
Version500a = Version407a | Unpack,
|
||||
Version502b = Version500a | BuffIcon,
|
||||
Version6000 = Version502b | NewHaven,
|
||||
Version6017 = Version6000 | ContainerGridLines,
|
||||
Version60142 = Version6017 | ExtendedSupportedFeatures,
|
||||
Version7000 = Version60142 | StygianAbyss
|
||||
Version400a = NewSpellbook,
|
||||
Version407a = Version400a | DamagePacket,
|
||||
Version500a = Version407a | Unpack,
|
||||
Version502b = Version500a | BuffIcon,
|
||||
Version6000 = Version502b | NewHaven,
|
||||
Version6017 = Version6000 | ContainerGridLines,
|
||||
Version60142 = Version6017 | ExtendedSupportedFeatures,
|
||||
Version7000 = Version60142 | StygianAbyss,
|
||||
Version7090 = Version7000 | HighSeas
|
||||
}
|
||||
|
||||
public bool NewSpellbook { get { return ((_ProtocolChanges & ProtocolChanges.NewSpellbook) != 0); } }
|
||||
|
|
@ -260,6 +265,7 @@ namespace Server.Network {
|
|||
public bool ContainerGridLines { get { return ((_ProtocolChanges & ProtocolChanges.ContainerGridLines) != 0); } }
|
||||
public bool ExtendedSupportedFeatures { get { return ((_ProtocolChanges & ProtocolChanges.ExtendedSupportedFeatures) != 0); } }
|
||||
public bool StygianAbyss { get { return ((_ProtocolChanges & ProtocolChanges.StygianAbyss) != 0); } }
|
||||
public bool HighSeas { get { return ((_ProtocolChanges & ProtocolChanges.HighSeas) != 0); } }
|
||||
|
||||
public bool IsUOTDClient {
|
||||
get {
|
||||
|
|
|
|||
|
|
@ -310,7 +310,17 @@ namespace Server.Network
|
|||
public DisplayBuyList( Mobile vendor ) : base( 0x24, 7 )
|
||||
{
|
||||
m_Stream.Write( (int)vendor.Serial );
|
||||
m_Stream.Write( (short)0x30 );//buy window id?
|
||||
m_Stream.Write( (short) 0x30 ); // buy window id?
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class DisplayBuyListHS : Packet
|
||||
{
|
||||
public DisplayBuyListHS( Mobile vendor ) : base( 0x24, 9 )
|
||||
{
|
||||
m_Stream.Write( (int)vendor.Serial );
|
||||
m_Stream.Write( (short) 0x30 ); // buy window id?
|
||||
m_Stream.Write( (short) 0x00 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1112,6 +1122,47 @@ namespace Server.Network
|
|||
}
|
||||
}
|
||||
|
||||
public sealed class WorldItemHS : Packet
|
||||
{
|
||||
public WorldItemHS( Item item ) : base( 0xF3, 26 )
|
||||
{
|
||||
m_Stream.Write( (short) 0x1 );
|
||||
|
||||
int itemID = item.ItemID;
|
||||
|
||||
if ( item is BaseMulti ) {
|
||||
m_Stream.Write( (byte) 0x02 );
|
||||
itemID &= 0x3FFF;
|
||||
} else {
|
||||
m_Stream.Write( (byte) 0x00 );
|
||||
itemID &= 0x7FFF;
|
||||
}
|
||||
|
||||
m_Stream.Write( (int) item.Serial );
|
||||
|
||||
m_Stream.Write( (short) itemID );
|
||||
|
||||
m_Stream.Write( (byte) item.Direction );
|
||||
|
||||
int amount = item.Amount;
|
||||
m_Stream.Write( (short) amount );
|
||||
m_Stream.Write( (short) amount );
|
||||
|
||||
Point3D loc = item.Location;
|
||||
int x = loc.m_X & 0x7FFF;
|
||||
int y = loc.m_Y & 0x3FFF;
|
||||
m_Stream.Write( (short) x );
|
||||
m_Stream.Write( (short) y );
|
||||
m_Stream.Write( (sbyte) loc.m_Z );
|
||||
|
||||
m_Stream.Write( (byte) item.Light );
|
||||
m_Stream.Write( (short) item.Hue );
|
||||
m_Stream.Write( (byte) item.GetPacketFlags() );
|
||||
|
||||
m_Stream.Write( (short) 0x00 ); // ??
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class LiftRej : Packet
|
||||
{
|
||||
public LiftRej( LRReason reason ) : base( 0x27, 2 )
|
||||
|
|
@ -1518,6 +1569,16 @@ namespace Server.Network
|
|||
}
|
||||
}
|
||||
|
||||
public sealed class DisplaySpellbookHS : Packet
|
||||
{
|
||||
public DisplaySpellbookHS( Item book ) : base( 0x24, 9 )
|
||||
{
|
||||
m_Stream.Write( (int) book.Serial );
|
||||
m_Stream.Write( (short) -1 );
|
||||
m_Stream.Write( (short) 0x7D );
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class NewSpellbookContent : Packet
|
||||
{
|
||||
public NewSpellbookContent( Item item, int graphic, int offset, ulong content ) : base( 0xBF )
|
||||
|
|
@ -1614,6 +1675,16 @@ namespace Server.Network
|
|||
}
|
||||
}
|
||||
|
||||
public sealed class ContainerDisplayHS : Packet
|
||||
{
|
||||
public ContainerDisplayHS( Container c ) : base( 0x24, 9 )
|
||||
{
|
||||
m_Stream.Write( (int) c.Serial );
|
||||
m_Stream.Write( (short) c.GumpID );
|
||||
m_Stream.Write( (short) 0x7D );
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ContainerContentUpdate : Packet
|
||||
{
|
||||
public ContainerContentUpdate( Item item ) : base( 0x25, 20 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue