server-master/srcs/_plugins/WingsEmu.Plugins.PacketHandling/Game/Basic/GuriPacketHandler.cs
2026-02-10 18:21:30 +01:00

27 lines
No EOL
855 B
C#

using System.Threading.Tasks;
using WingsEmu.Game._Guri.Event;
using WingsEmu.Game.Networking;
using WingsEmu.Packets.ClientPackets;
namespace WingsEmu.Plugins.PacketHandling.Game.Basic;
public class GuriPacketHandler : GenericGamePacketHandlerBase<GuriPacket>
{
protected override async Task HandlePacketAsync(IClientSession session, GuriPacket packet)
{
if (session.PlayerEntity.CheatComponent.IsInvisible)
{
return;
}
string[] split = packet.OriginalContent.Split(' ', '^');
await session.EmitEventAsync(new GuriEvent
{
EffectId = packet.Type,
Data = (int)(split[1][0] == '#' ? packet.Argument : packet.Data ?? 0),
User = packet.User ?? session.PlayerEntity.Id,
Value = packet.Value,
Packet = split
});
}
}