Example #1
0
 public AsciiMessagePacket(PacketReader reader)
     : base(0x1C, "Ascii Message")
 {
     _serial = reader.ReadInt32();
     _graphic = reader.ReadInt16();
     _type = (MessageType)reader.ReadByte();
     _hue = reader.ReadInt16();
     _font = reader.ReadInt16();
     _name = reader.ReadString(30);
     _text = reader.ReadString();
 }
Example #2
0
 public ChatPacket(PacketReader reader)
     : base(0xB3, "Chat Packet")
 {
     _language = reader.ReadString(3);
     reader.ReadInt16(); // unknown.
     _commandtype = reader.ReadByte();
 }
 public MessageLocalizedPacket(PacketReader reader)
     : base(0xC1, "Message Localized")
 {
     Serial = reader.ReadInt32(); // 0xffff for system message
     Body = reader.ReadInt16(); // (0xff for system message
     MessageType = (MessageType)reader.ReadByte(); // 6 - lower left, 7 on player
     Hue = reader.ReadUInt16();
     Font = reader.ReadInt16();
     CliLocNumber = reader.ReadInt32();
     SpeakerName = reader.ReadString(30);
     Arguements = reader.ReadUnicodeStringSafeReverse();
 }
Example #4
0
 public UnicodeMessagePacket(PacketReader reader)
     : base(0xAE, "Unicode Message")
 {
     _serial = reader.ReadInt32();
     _model = reader.ReadInt16();
     _msgType = (MessageType)reader.ReadByte();
     _hue = reader.ReadInt16();
     _font = reader.ReadInt16();
     _language = reader.ReadInt32();
     _speakerName = reader.ReadString(30);
     _spokenText = reader.ReadUnicodeString((reader.Buffer.Length - 48) / 2);
 }
Example #5
0
        public VendorBuyListPacket(PacketReader reader)
            : base(0x74, "Open Buy Window")
        {
            _vendorPackSerial = reader.ReadInt32();
            _itemCount = reader.ReadByte();
            _prices = new int[_itemCount];
            _descriptions = new string[_itemCount];

            for (int i = 0; i < this._itemCount; i++)
            {
                _prices[i] = reader.ReadInt32();
                int descriptionLegnth = reader.ReadByte();
                _descriptions[i] = reader.ReadString(descriptionLegnth);
            }
        }
Example #6
0
        public MobileStatusCompactPacket(PacketReader reader)
            : base(0x11, "StatusInfo")
        {
            _serial = reader.ReadInt32();
            _playerName = reader.ReadString(30);
            _currentHealth = reader.ReadInt16();
            _maxHealth = reader.ReadInt16();
            _nameChangeFlag = reader.ReadByte(); // 0x1 = allowed, 0 = not allowed
            _statusTypeFlag = reader.ReadByte();
            sex = (Sex)reader.ReadByte(); // 0=male, 1=female
            _strength = reader.ReadInt16();
            _dexterity = reader.ReadInt16();
            _intelligence = reader.ReadInt16();
            _currentStamina = reader.ReadInt16();
            _maxStamina = reader.ReadInt16();
            _currentMana = reader.ReadInt16();
            _maxMana = reader.ReadInt16();
            _goldInInventory = reader.ReadInt32();
            _armorRating = reader.ReadInt16();
            _weight = reader.ReadInt16();

            if (_statusTypeFlag >= 5)
            {
                _maxWeight = reader.ReadInt16();
                _race = (Race)reader.ReadByte();
            }

            if (_statusTypeFlag >= 3)
            {
                _statCap = reader.ReadInt16();
                _followers = reader.ReadByte();
                _maxFollowers = reader.ReadByte();
            }

            if (_statusTypeFlag >= 4)
            {
                _resistFire = reader.ReadInt16();
                _resistCold = reader.ReadInt16();
                _resistPoison = reader.ReadInt16();
                _resistEnergy = reader.ReadInt16();
                _luck = reader.ReadInt16();
                _dmgMin = reader.ReadInt16();
                _dmgMax = reader.ReadInt16();
                _tithingPoints = reader.ReadInt16();
            }
        }
Example #7
0
        public UOGInfoResponsePacket(PacketReader reader)
            : base(0x52, "UOG Information Response")
        {
            string response = reader.ReadString();
            string[] parts = response.Split(',');

            for (int j = 0; j < parts.Length; j++)
            {
                string[] keyValue = parts[j].Split('=');

                if (keyValue.Length == 2)
                {
                    string key = keyValue[0].Trim();
                    string value = keyValue[1].Trim();

                    switch (key)
                    {
                        case "Name":
                            _name = value;
                            break;
                        case "Age":
                            _age = int.Parse(value);
                            break;
                        case "Clients":
                            _clientCount = int.Parse(value) - 1;
                            break;
                        case "Items":
                            _itemCount = int.Parse(value);
                            break;
                        case "Chars":
                            _mobileCount = int.Parse(value);
                            break;
                        case "Mem":
                            _memory = value;
                            break;
                    }
                }
            }
        }
 public RequestNameResponsePacket(PacketReader reader)
     : base(0x98, "Request Name Response")
 {
     _serial = reader.ReadInt32();
     _mobileName = reader.ReadString(30);
 }
Example #9
0
 public OpenWebBrowserPacket(PacketReader reader)
     : base(0xA5, "Open Web Browser")
 {
     _url = reader.ReadString(reader.Size);
 }