private void HandleDuelRequest(DuelRequest command)
{
if (InvokeRequired)
{
Invoke(new Action<DuelRequest>(HandleDuelRequest), command);
return;
}
if (Program.Config.RefuseDuelRequests || IgnoreList.Items.Contains(command.username.ToLower()))
{
Program.ChatServer.SendPacket(DevServerPackets.RefuseDuel);
return;
}
RoomInfos info = RoomInfos.FromName(command.duelformatstring);
var request = new DuelRequestFrm(
command.username
+ Program.LanguageManager.Translation.DuelReqestMessage
+ Environment.NewLine
+ Program.LanguageManager.Translation.DuelRequestMode
+ RoomInfos.GameMode(info.mode)
+ Program.LanguageManager.Translation.DuelRequestRules
+ RoomInfos.GameRule(info.rule)
+ Program.LanguageManager.Translation.DuelRequestBanlist
+ LauncherHelper.GetBanListFromInt(info.banListType));
if (request.ShowDialog() == DialogResult.Yes)
{
WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "You accepted " + command.username + " duel request."));
Program.ChatServer.SendPacket(DevServerPackets.AcceptDuel);
}
else
{
WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "You refused " + command.username + " duel request."));
Program.ChatServer.SendPacket(DevServerPackets.RefuseDuel);
}
}