Ejemplo n.º 1
0
            protected override void OnTick()
            {
                Party p = Party.Get(m_Mobile);

                if (p == null)
                {
                    return;
                }

                m_Mobile.SendLocalizedMessage(1005437);                   // You have rejoined the party.
                m_Mobile.Send(new PartyMemberList(p));

                Packet message = new MessageLocalizedAffix(Serial.MinusOne, -1, MessageType.Label, 0x3B2, 3, 1008087, "", AffixType.Prepend | AffixType.System, m_Mobile.Name, "");
                Packet attrs   = new MobileAttributesN(m_Mobile);

                foreach (PartyMemberInfo mi in p.Members)
                {
                    Mobile m = mi.Mobile;

                    if (m != m_Mobile)
                    {
                        m.Send(message);
                        m.Send(new MobileStatusCompact(m_Mobile.CanBeRenamedBy(m), m_Mobile));
                        m.Send(attrs);
                        m_Mobile.Send(new MobileStatusCompact(m.CanBeRenamedBy(m_Mobile), m));
                        m_Mobile.Send(new MobileAttributesN(m));
                    }
                }
            }
Ejemplo n.º 2
0
        public void TestMessageLocalizedAffix()
        {
            Serial serial      = (Serial)0x1024;
            var    graphic     = 0x100;
            var    messageType = MessageType.Label;
            var    hue         = 1024;
            var    font        = 3;
            var    number      = 150000;
            var    name        = "Stuff";
            var    args        = "Arguments";
            var    affixType   = AffixType.System;
            var    affix       = "Affix";

            var expected = new MessageLocalizedAffix(
                serial,
                graphic,
                messageType,
                hue,
                font,
                number,
                name,
                affixType,
                affix,
                args
                ).Compile();

            var ns = PacketTestUtilities.CreateTestNetState();

            ns.SendMessageLocalizedAffix(
                serial,
                graphic,
                messageType,
                hue,
                font,
                number,
                name,
                affixType,
                affix,
                args
                );

            var result = ns.SendPipe.Reader.TryRead();

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
Ejemplo n.º 3
0
        public void TestMessageLocalizedAffix()
        {
            Serial serial      = 0x1;
            var    graphic     = 0x100;
            var    messageType = MessageType.Label;
            var    hue         = 1024;
            var    font        = 3;
            var    number      = 150000;
            var    name        = "Stuff";
            var    args        = "Arguments";
            var    affixType   = AffixType.System;
            var    affix       = "Affix";

            var data = new MessageLocalizedAffix(
                serial,
                graphic,
                messageType,
                hue,
                font,
                number,
                name,
                affixType,
                affix,
                args
                ).Compile();

            Span <byte> expectedData = stackalloc byte[52 + affix.Length + args.Length * 2];
            var         pos          = 0;

            expectedData.Write(ref pos, (byte)0xCC);                  // Packet ID
            expectedData.Write(ref pos, (ushort)expectedData.Length); // Length

            expectedData.Write(ref pos, serial);
            expectedData.Write(ref pos, (ushort)graphic);
            expectedData.Write(ref pos, (byte)messageType);
            expectedData.Write(ref pos, (ushort)hue);
            expectedData.Write(ref pos, (ushort)font);
            expectedData.Write(ref pos, number);
            expectedData.Write(ref pos, (byte)affixType);
            expectedData.WriteAsciiFixed(ref pos, name, 30);
            expectedData.WriteAsciiNull(ref pos, affix);
            expectedData.WriteBigUniNull(ref pos, args);

            AssertThat.Equal(data, expectedData);
        }