fix(core): Converts combat and container packets (#382)

- [X] Converts container packets
- [X] Converts combat packets
This commit is contained in:
Kamron Batman 2021-01-04 21:17:39 -08:00 • committed by GitHub
parent ac76c57c39
commit 75c0527284
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 51 deletions

View file

@ -21,47 +21,35 @@ namespace Server.Network
{
public static void SendSwing(this NetState ns, Serial attacker, Serial defender)
{
if (ns == null || !ns.GetSendBuffer(out var buffer))
if (ns == null)
{
return;
}
var writer = new CircularBufferWriter(buffer);
var writer = new SpanWriter(stackalloc byte[10]);
writer.Write((byte)0x2F); // Packet ID
writer.Write((byte)0);
writer.Write(attacker);
writer.Write(defender);
ns.Send(ref buffer, writer.Position);
ns.Send(writer.Span);
}
public static void SendSetWarMode(this NetState ns, bool warmode)
{
if (ns == null || !ns.GetSendBuffer(out var buffer))
{
return;
}
var writer = new CircularBufferWriter(buffer);
writer.Write((byte)0x72); // Packet ID
// Warmode, 0x00, 0x32, 0x00
writer.Write(warmode ? 0x01003200 : 0x00003200);
ns.Send(ref buffer, writer.Position);
}
public static unsafe void SendSetWarMode(this NetState ns, bool warmode) =>
ns?.Send(stackalloc byte[] { 0x72, *(byte*)&warmode, 0x00, 0x32, 0x00 });
public static void SendChangeCombatant(this NetState ns, Serial combatant)
{
if (ns == null || !ns.GetSendBuffer(out var buffer))
if (ns == null)
{
return;
}
var writer = new CircularBufferWriter(buffer);
var writer = new SpanWriter(stackalloc byte[5]);
writer.Write((byte)0xAA); // Packet ID
writer.Write(combatant);
ns.Send(ref buffer, writer.Position);
ns.Send(writer.Span);
}
}
}