public static ClientGuriPacket GenerateGuriPacket(this IPlayerEntity player, GuriPacketType type, byte argument, int value = 0) { switch (type) { case GuriPacketType.Unknow: return(new ClientGuriPacket { Type = 2, Argument = argument, VisualId = player.Id }); case GuriPacketType.Unknow2: return(new ClientGuriPacket { Type = 6, Argument = 1, VisualId = player.Id, Value = 0, Data = 0 }); case GuriPacketType.Unknow3: return(new ClientGuriPacket { Type = 10, Argument = argument, VisualId = value, Value = player.Id }); case GuriPacketType.Unknow4: return(new ClientGuriPacket { Type = 15, Argument = argument, VisualId = 0, Data = 0 }); default: return(new ClientGuriPacket { Type = (int)type, Argument = argument, VisualId = player.Id, Value = value }); } }
public static Task SendGuri(this IPlayerEntity player, GuriPacketType type, byte argument, int value = 0) => player.SendPacketAsync(player.GenerateGuriPacket(type, argument, value));