Exemplo n.º 1
0
        public static void ProcessChat(Client client, PacketReader packet)
        {
            var uidChar = packet.ReadMuid();
            var uidChan = packet.ReadMuid();
            var message = packet.ReadString();

            if (client.GetChannel() != null)
                client.GetChannel().Chat(client, message);
        }
Exemplo n.º 2
0
        public static void ProcessPlayerList(Client client, PacketReader packet)
        {
            var playerId = packet.ReadUInt64();
            var channelId = packet.ReadUInt64();
            var page = packet.ReadInt32();

            client.ClientPlayer.ChannelPage = page;

            if (client.GetChannel() != null)
                client.GetChannel().PlayerList(client);
        }
Exemplo n.º 3
0
        public static void ResponseChannelJoin(Client client)
        {
            var traits = client.GetChannel().GetTraits();

            using (var packet = new PacketWriter(Operation.ChannelResponseJoin, CryptFlags.Encrypt))
            {
                packet.Write(traits.ChannelId);
                packet.Write((Int32)traits.Type);
                packet.Write(traits.ChannelName);
                packet.Write(true);

                client.Send(packet);
            }
        }
Exemplo n.º 4
0
        public static void ProcessStageList(Client client, PacketReader packetReader)
        {
            var uidChar = packetReader.ReadUInt64();
            var uidChan = packetReader.ReadUInt64();
            var page = packetReader.ReadInt32();

            client.ClientPlayer.StageIndex = Convert.ToByte(page);
            if (client.GetChannel() != null)
                client.GetChannel().StageList(client);
        }
Exemplo n.º 5
0
        public static void ProcessStageJoin(Client client, PacketReader packetReader)
        {
            var uidChar = packetReader.ReadMuid();
            var uidStage = packetReader.ReadMuid();

            var stage = client.GetChannel().Find(uidStage);

            if (stage == null)
            {
                Log.Write("Failed to join stage: {0}", uidStage.HighId);
                return;
            }

            stage.Join(client);
        }
Exemplo n.º 6
0
        public static void ProcessStageCreate(Client client, PacketReader packetReader)
        {
            var uid = packetReader.ReadMuid();
            var name = packetReader.ReadString();
            var locked = packetReader.ReadBoolean();
            var password = packetReader.ReadString();

            if (uid != client.GetMuid())
            {
                client.Disconnect();
                return;
            }

            var traits = new StageTraits();
            traits.StageId = Globals.StageCounter.GetNext();
            traits.Name = name;
            traits.Locked = locked;
            traits.Password = password;
            traits.Master = client;

            client.ClientPlayer.PlayerStage = client.GetChannel().Add(traits);
            client.GetStage().Join(client);
        }
Exemplo n.º 7
0
        public static void ResponseRuleSet(Client client)
        {
            var traits = client.GetChannel().GetTraits();
            using (var packet = new PacketWriter(Operation.MatchResponseRuleset, CryptFlags.Encrypt))
            {
                packet.Write(traits.ChannelId);
                packet.Write(traits.Rule.ToString().ToLower());

                client.Send(packet);
            }
        }
Exemplo n.º 8
0
        public static void ProcessRecommendedChannel(Client client, PacketReader packet)
        {
            if (client.GetCharacter().ClanId == 0)
                client.ClientPlayer.PlayerChannel = ChannelList.Recommend(client.GetCharacter().Level);
            else
            {
                client.ClientPlayer.PlayerChannel = ChannelList.Recommend(client.GetCharacter().Level, true, client.GetCharacter().ClanName);
            }

            Match.ResponseRecommendedChannel(client, client.GetChannel().GetTraits().ChannelId);

            if (client.GetCharacter().ClanId != 0)
            {
                ClanPackets.MemberConnected(client, client.GetCharacter().Name);
            }
        }
Exemplo n.º 9
0
 public static void ProcessAllChannelPlayerList(Client client, PacketReader packet)
 {
     if (client.GetChannel() != null)
         client.GetChannel().AllPlayerList(client);
 }
Exemplo n.º 10
0
 public static void Refresh(Client client)
 {
     if (client.GetChannel() != null)
         client.GetChannel().Refresh();
 }
Exemplo n.º 11
0
        public void Join(Client client)
        {
            lock (_objectLock)
            {
                if (client.GetChannel() != null)
                    client.GetChannel().Leave(client);

                _traits.Playerlist.Add(client);
                client.ClientPlayer.PlayerChannel = this;

                ChannelPackets.ResponseChannelJoin(client);
                ChannelPackets.ResponseRuleSet(client);

                _traits.Playerlist.ForEach(delegate(Client c)
                                               {
                                                   PlayerList(c);
                                                   StageList(c);
                                               });
            }
        }