public void TestHealthbarPoison(string pName)
        {
            var p = Poison.GetPoison(pName);
            var m = new Mobile(0x1);

            m.DefaultMobileInit();
            m.Poison = p;

            var expected = new HealthbarPoison(m).Compile();

            using var ns = PacketTestUtilities.CreateTestNetState();
            ns.SendMobileHealthbar(m, Healthbar.Poison);

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

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
Exemple #2
0
        public void TestHealthbarPoison(string pName)
        {
            var p = Poison.GetPoison(pName);
            var m = new Mobile(0x1);

            m.DefaultMobileInit();
            m.Poison = p;

            var data = new HealthbarPoison(m).Compile();

            Span <byte> expectedData = stackalloc byte[12];
            var         pos          = 0;

            expectedData.Write(ref pos, (byte)0x17); // Packet ID
            expectedData.Write(ref pos, (ushort)12); // Length
            expectedData.Write(ref pos, m.Serial);
            expectedData.Write(ref pos, 0x10001);    // Show Bar?, Poison Bar
            expectedData.Write(ref pos, (byte)((p?.Level ?? -1) + 1));

            AssertThat.Equal(data, expectedData);
            Assert.Equal(p?.Level, m.Poison?.Level);
        }