public UpdateHealthPacket(PacketReader reader) : base(0xA1, "Update Health") { m_serial = reader.ReadInt32(); m_max = reader.ReadInt16(); m_current = reader.ReadInt16(); }
public ObjectPropertyListPacket(PacketReader reader) : base(0xD6, "Object Property List") { reader.ReadInt16(); // Always 0x0001 m_serial = reader.ReadInt32(); reader.ReadInt16(); // Always 0x0000 m_hash = reader.ReadInt32(); m_clilocs = new List<int>(); m_arguments = new List<string>(); // Loop of all the item/creature's properties to display in the order to display them. The name is always the first entry. int clilocId = reader.ReadInt32(); while (clilocId != 0) { m_clilocs.Add(clilocId); int textLength = reader.ReadUInt16(); string args = string.Empty; if (textLength > 0) { args = reader.ReadUnicodeStringReverse(textLength / 2); } m_arguments.Add(args); clilocId = reader.ReadInt32(); } }
public ObjectInfoPacket(PacketReader reader) : base(0x1A, "ObjectInfoPacket") { Serial = reader.ReadInt32(); ItemID = reader.ReadUInt16(); Amount = (ushort)(((Serial & 0x80000000) == 0x80000000) ? reader.ReadUInt16() : 0); X = reader.ReadInt16(); Y = reader.ReadInt16(); Direction = (byte)(((X & 0x8000) == 0x8000) ? reader.ReadByte() : 0); Z = reader.ReadSByte(); Hue = (ushort)(((Y & 0x8000) == 0x8000) ? reader.ReadUInt16() : 0); Flags = (byte)(((Y & 0x4000) == 0x4000) ? reader.ReadByte() : 0); // sanitize values Serial = (int)(Serial & 0x7FFFFFFF); ItemID = (ushort)(ItemID & 0x7FFF); X = (short)(X & 0x7FFF); Y = (short)(Y & 0x3FFF); }
public UpdateStaminaPacket(PacketReader reader) : base(0xA3, "Update Stamina") { m_serial = reader.ReadInt32(); m_max = reader.ReadInt16(); m_current = reader.ReadInt16(); }
public ContainerContentPacket(PacketReader reader) : base(0x3C, "Container ContentPacket") { int itemCount = reader.ReadUInt16(); List<ItemInContainer> items = new List<ItemInContainer>(itemCount); bool PacketIsPre6017 = (reader.Buffer.Length == 5 + (19 * itemCount)); for (int i = 0; i < itemCount; i++) { Serial serial = reader.ReadInt32(); int iItemID = reader.ReadUInt16(); int iUnknown = reader.ReadByte(); // signed, itemID offset. always 0 in RunUO. int iAmount = reader.ReadUInt16(); int iX = reader.ReadInt16(); int iY = reader.ReadInt16(); int iGridLocation = 0; if (!PacketIsPre6017) iGridLocation = reader.ReadByte(); // always 0 in RunUO. int iContainerSerial = reader.ReadInt32(); int iHue = reader.ReadUInt16(); items.Add(new ItemInContainer(serial, iItemID, iAmount, iX, iY, iGridLocation, iContainerSerial, iHue)); } m_items = items.ToArray(); }
public ContainerContentPacket(PacketReader reader) : base(0x3C, "Container ContentPacket") { int itemCount = reader.ReadUInt16(); List<ContentItem> items = new List<ContentItem>(itemCount); for (int i = 0; i < itemCount; i++) { Serial serial = reader.ReadInt32(); int iItemID = reader.ReadUInt16(); int iUnknown = reader.ReadByte(); // signed, itemID offset. always 0 in RunUO. int iAmount = reader.ReadUInt16(); int iX = reader.ReadInt16(); int iY = reader.ReadInt16(); int iGridLocation = 0; if (!NextContainerContentsIsPre6017) iGridLocation = reader.ReadByte(); // always 0 in RunUO. int iContainerSerial = reader.ReadInt32(); int iHue = reader.ReadUInt16(); items.Add(new ContentItem(serial, iItemID, iAmount, iX, iY, iGridLocation, iContainerSerial, iHue)); } m_items = items.ToArray(); if (NextContainerContentsIsPre6017) NextContainerContentsIsPre6017 = false; }
public CustomHousePacket(PacketReader reader) : base(0xD8, "Custom House Packet") { byte CompressionType = reader.ReadByte(); if (CompressionType != 3) { m_houseSerial = Serial.Null; return; } reader.ReadByte(); // unknown, always 0? m_houseSerial = reader.ReadInt32(); m_revisionHash = reader.ReadInt32(); // this is for compression type 3 only int bufferLength = reader.ReadInt16(); int trueBufferLength = reader.ReadInt16(); m_numPlanes = reader.ReadByte(); // end compression type 3 m_planes = new CustomHousePlane[m_numPlanes]; for (int i = 0; i < m_numPlanes; i++) { m_planes[i] = new CustomHousePlane(reader); } }
public MovementRejectPacket(PacketReader reader) : base(0x21, "Move Request Rejected") { m_sequence = reader.ReadByte(); // (matches sent sequence) m_x = reader.ReadInt16(); m_y = reader.ReadInt16(); m_direction = reader.ReadByte(); m_z = reader.ReadSByte(); }
public PlaySoundEffectPacket(PacketReader reader) : base(0x54, "Play Sound Effect") { Mode = reader.ReadByte(); SoundModel = reader.ReadInt16(); Unknown = reader.ReadInt16(); X = reader.ReadInt16(); Y = reader.ReadInt16(); Z = reader.ReadInt16(); }
public WornItemPacket(PacketReader reader) : base(0x2E, "Worn Item") { m_serial = reader.ReadInt32(); m_itemId = reader.ReadInt16(); reader.ReadByte(); m_layer = reader.ReadByte(); m_parentSerial = reader.ReadInt32(); m_hue = reader.ReadInt16(); }
public AsciiMessagePacket(PacketReader reader) : base(0x1C, "Ascii Message") { m_serial = reader.ReadInt32(); m_graphic = reader.ReadInt16(); m_type = (MessageTypes)reader.ReadByte(); m_hue = reader.ReadInt16(); m_font = reader.ReadInt16(); m_name = reader.ReadString(30); m_text = reader.ReadString(); }
public AsciiMessagePacket(PacketReader reader) : base(0x1C, "Ascii Message") { Serial = reader.ReadInt32(); Model = reader.ReadInt16(); MsgType = (MessageTypes)reader.ReadByte(); Hue = reader.ReadUInt16(); Font = reader.ReadInt16(); SpeakerName = reader.ReadString(30).Trim(); Text = reader.ReadString(); }
public MobileAnimationPacket(PacketReader reader) : base(0x6E, "Mobile Animation") { m_serial = reader.ReadInt32(); m_action = reader.ReadInt16(); m_framecount = reader.ReadInt16(); m_repeatcount = reader.ReadInt16(); m_reverse = reader.ReadByte(); // 0x00=forward, 0x01=backwards m_repeat = reader.ReadByte(); // 0 - Don't repeat / 1 repeat m_delay = reader.ReadByte(); }
public UnicodeMessagePacket(PacketReader reader) : base(0xAE, "Unicode Message") { m_serial = reader.ReadInt32(); m_model = reader.ReadInt16(); m_msgType = (MessageTypes)reader.ReadByte(); m_hue = reader.ReadInt16(); m_font = reader.ReadInt16(); m_language = reader.ReadInt32(); m_speakerName = reader.ReadString(30); m_spokenText = reader.ReadUnicodeString((reader.Buffer.Length - 48) / 2); }
// This is called when the packet is received. public TargetCursorMultiPacket(PacketReader reader) : base(0x99, "Target Cursor For Multi") { reader.ReadByte(); // (0x01 from server, 0x00 from client) m_deedSerial = reader.ReadInt32(); reader.ReadByte(); // flag byte. Harmful = 1, Beneficial = 2. Unused. reader.ReadBytes(11); // unknown (all 0) m_multiModel = reader.ReadInt16(); m_offsetX = reader.ReadInt16(); m_offsetY = reader.ReadInt16(); m_offsetZ = reader.ReadInt16(); }
public UnicodeMessagePacket(PacketReader reader) : base(0xAE, "Unicode Message") { Serial = reader.ReadInt32(); Model = reader.ReadInt16(); MsgType = (MessageTypes)reader.ReadByte(); Hue = reader.ReadUInt16(); Font = reader.ReadInt16(); Language = reader.ReadString(4).Trim(); SpeakerName = reader.ReadString(30).Trim(); Text = reader.ReadUnicodeString((reader.Buffer.Length - 48) / 2); }
public BookHeaderNewPacket(PacketReader reader) : base(0xD4, "Book Header (New)") { Serial = reader.ReadInt32(); Flag0 = reader.ReadByte(); Flag1 = reader.ReadByte(); Pages = reader.ReadInt16(); TitleLength = reader.ReadInt16(); Title = reader.ReadString(); AuthorLength = reader.ReadInt16(); Author = reader.ReadString(); }
public MessageLocalizedPacket(PacketReader reader) : base(0xC1, "Message Localized") { Serial = reader.ReadInt32(); // 0xffff for system message Body = reader.ReadInt16(); // (0xff for system message MessageType = (MessageTypes)reader.ReadByte(); // 6 - lower left, 7 on player Hue = reader.ReadUInt16(); Font = reader.ReadInt16(); CliLocNumber = reader.ReadInt32(); SpeakerName = reader.ReadString(30).Trim(); Arguements = reader.ReadUnicodeStringSafeReverse(); }
public SupportedFeaturesPacket(PacketReader reader) : base(0xB9, "Enable Features") { if (reader.Buffer.Length == 3) Flags = (FeatureFlags)reader.ReadInt16(); else if (reader.Buffer.Length == 5) Flags = (FeatureFlags)reader.ReadInt32(); else { Flags = (FeatureFlags)reader.ReadInt16(); Tracer.Error("Bad feature flag size in SupportedFeaturesPacket; expected 16 or 32 bit features, received {0} bits.", (reader.Buffer.Length - 1) * 8); } }
public ContainerContentUpdatePacket(PacketReader reader) : base(0x25, "Add Single Item") { Serial = reader.ReadInt32(); ItemId = reader.ReadUInt16(); reader.ReadByte(); // unknown Amount = reader.ReadUInt16(); X = reader.ReadInt16(); Y = reader.ReadInt16(); GridLocation = reader.ReadByte(); // always 0 in RunUO. ContainerSerial = (Serial)reader.ReadInt32(); Hue = reader.ReadUInt16(); }
public MobileMovingPacket(PacketReader reader) : base(0x77, "Mobile Moving") { serial = reader.ReadInt32(); bodyid = reader.ReadUInt16(); x = reader.ReadInt16(); y = reader.ReadInt16(); z = reader.ReadSByte(); direction = reader.ReadByte(); hue = reader.ReadUInt16(); Flags = new MobileFlags((MobileFlag)reader.ReadByte()); notoriety = reader.ReadByte(); }
public LoginConfirmPacket(PacketReader reader) : base(0x1B, "Login Confirm") { m_serial = reader.ReadInt32(); reader.ReadInt32(); //unknown. Always 0. m_body = reader.ReadInt16(); m_x = reader.ReadInt16(); m_y = reader.ReadInt16(); m_z = reader.ReadInt16(); m_direction = reader.ReadByte(); }
public MobileMovingPacket(PacketReader reader) : base(0x77, "Mobile Moving") { this.serial = reader.ReadInt32(); this.bodyid = reader.ReadUInt16(); this.x = reader.ReadInt16(); this.y = reader.ReadInt16(); this.z = reader.ReadSByte(); this.direction = reader.ReadByte(); this.hue = reader.ReadUInt16(); this.Flags = new MobileFlags(reader.ReadByte()); this.notoriety = reader.ReadByte(); }
public ContainerContentUpdatePacket(PacketReader reader) : base(0x25, "Add Single Item") { m_serial = reader.ReadInt32(); m_itemId = reader.ReadUInt16(); reader.ReadByte(); // unknown m_amount = reader.ReadUInt16(); m_x = reader.ReadInt16(); m_y = reader.ReadInt16(); m_gridLocation = reader.ReadByte(); // always 0 in RunUO. m_parentSerial = (Serial)reader.ReadInt32(); m_hue = reader.ReadUInt16(); }
public MobileUpdatePacket(PacketReader reader) : base(0x20, "Mobile Update") { m_serial = reader.ReadInt32(); m_body = reader.ReadInt16(); reader.ReadByte(); // Always 0 m_hue = reader.ReadUInt16(); // Skin hue m_flags = new MobileFlags((MobileFlag)reader.ReadByte()); m_x = reader.ReadInt16(); m_y = reader.ReadInt16(); reader.ReadInt16(); // Always 0 m_direction = reader.ReadByte(); m_z = reader.ReadSByte(); }
public ChatPacket(PacketReader reader) : base(0xB3, "Chat Packet") { m_language = reader.ReadString(3); reader.ReadInt16(); // unknown. m_commandtype = reader.ReadByte(); }
public AddSingleItemToContainerPacket(PacketReader reader) : base(0x25, "Add Single Item") { Serial = reader.ReadInt32(); ItemId = reader.ReadUInt16(); reader.ReadByte(); // unknown Amount = reader.ReadUInt16(); X = reader.ReadInt16(); Y = reader.ReadInt16(); if (reader.Buffer.Length == 21) GridLocation = reader.ReadByte(); // always 0 in RunUO. else GridLocation = 0; ContainerSerial = (Serial)reader.ReadInt32(); Hue = reader.ReadUInt16(); }
public ServerRelayPacket(PacketReader reader) : base(0x8C, "Server Relay") { m_ipAddress = reader.ReadInt32(); m_port = reader.ReadInt16(); m_accountId = reader.ReadInt32(); }
public ServerListEntry(PacketReader reader) { index = (ushort)reader.ReadInt16(); name = reader.ReadString(30); percentFull = reader.ReadByte(); timezone = reader.ReadByte(); address = (uint)reader.ReadInt32(); }
public ServerListEntry(PacketReader reader) { Index = (ushort)reader.ReadInt16(); Name = reader.ReadString(32); PercentFull = reader.ReadByte(); Timezone = reader.ReadByte(); Address = (uint)reader.ReadInt32(); }