using System;
using System.Linq;

using FilterAPI;
using FilterAPI.Networking;

using FilterCentral.LocalEnums;
using FilterCentral.LocalNetworking;

namespace FilterCentral.LocalHandlers
{
    internal class Local5Handle
    {
        [LocalPacketHandler(5, 3)]
        public static void HandleSpawnMobAll(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 4)]
        public static void HandleSpawnMobPlayer(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 5)]
        public static void HandleItemAll(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 6)]
        public static void HandleGiveItem(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 7)]
        public static void HandleTp(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 8)]
        public static void HandleTpAll(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 9)]
        public static void HandleMap(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 10)]
        public static void HandleSetLevel(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 11)]
        public static void HandleAbstate(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 12)]
        public static void HandleKQReward(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 13)]
        public static void HandleRunCommand(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 14)]
        public static void HandleCanWalk(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 15)]
        public static void HandleLearnSkill(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 16)]
        public static void HandleLearnPassive(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }

        [LocalPacketHandler(5, 17)]
        public static void HandleRGB(LocalClient ClientSocket, Packet ClientPacket)
        {
            foreach (LocalClient ZoneClient in Program.ZoneClients.Values) { ZoneClient.SendPacket(ClientPacket); }
        }
    }
}
