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); }
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); }
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); } }
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); }
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); }
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); }
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); } }
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); } }
public static void ProcessAllChannelPlayerList(Client client, PacketReader packet) { if (client.GetChannel() != null) client.GetChannel().AllPlayerList(client); }
public static void Refresh(Client client) { if (client.GetChannel() != null) client.GetChannel().Refresh(); }
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); }); } }