Exemple #1
0
        public static void ProfileReq(NetState state, CircularBufferReader reader, ref int packetLength)
        {
            int type   = reader.ReadByte();
            var serial = (Serial)reader.ReadUInt32();

            var beholder = state.Mobile;
            var beheld   = World.FindMobile(serial);

            if (beheld == null)
            {
                return;
            }

            switch (type)
            {
            case 0x00:     // display request
            {
                EventSink.InvokeProfileRequest(beholder, beheld);

                break;
            }

            case 0x01:              // edit request
            {
                reader.ReadInt16(); // Skip
                int length = reader.ReadUInt16();

                if (length > 511)
                {
                    return;
                }

                var text = reader.ReadBigUni(length);

                EventSink.InvokeChangeProfileRequest(beholder, beheld, text);

                break;
            }
            }
        }