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); }
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); }