private static async Task Main(string[] args) { var customCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); customCulture.NumberFormat.NumberDecimalSeparator = "."; Thread.CurrentThread.CurrentCulture = customCulture; var userInitiatedExit = false; using (var udpClient = new UdpClient(8022)) { Console.WriteLine("Welcome to mutateful!"); Console.WriteLine("Open Ableton Live, drop mutateful-connector.amxd onto one of the tracks, and start entering formulas."); var queue = Channel.CreateUnbounded <byte[]>(); await Task.WhenAny( UdpHandler.ProcessUdpDataAsync(udpClient, queue.Writer, CliHandler.HandleInput), UdpHandler.SendUdpDataAsync(udpClient, queue.Reader), Task.Run(() => { Console.WriteLine("Press any key to exit..."); Console.ReadKey(); userInitiatedExit = true; } ) ); } if (!userInitiatedExit) { Console.WriteLine("Mutateful will exit now. Press any key..."); Console.ReadKey(); } }
public void close() { this._prepareToClose = true; try { AccountManager.getInstance().get(this.getPlayer().name).setOnlineStatus(false); if (this.getPlayer() != null) { if (this.getPlayer().getRoom() != null) { UdpHandler.getInstance().RemovePlayerInRoom(this.getPlayer()); ChannelInfoHolder.getChannel(this.getChannelId()).getRooms()[this.getPlayer().getRoom().getRoomId()].removePlayer(this.getPlayer()); this.getPlayer().setRoom((Room)null); } if (this.getChannelId() >= 0) { ChannelInfoHolder.getChannel(this.getChannelId()).removePlayer(this.getPlayer()); } } AccountManager.getInstance().get(this.getPlayer().name).setClient((GameClient)null); GameClientManager.getInstance().removeClient(this); if (this._client.Connected) { this._client.Close(); this._stream = (NetworkStream)null; } CLogger.getInstance().info("Jogador desconectado."); } catch (Exception ex) { CLogger.getInstance().warning(ex.ToString()); } }
protected internal override void run() { Account player = this.getClient().getPlayer(); UdpHandler.getInstance().RemovePlayerInRoom(player); player.sendPacket((SendBaseGamePacket) new S_BATTLE_ENDBATTLE(player)); }
protected internal override void run() { Account player = base.getClient().getPlayer(); UdpHandler.getInstance().RemovePlayerInRoom(player); player.sendPacket(new PROTOCOL_BATTLE_MISSION_ROUND_PRE_START_ACK()); }
public BaseClient(int _id) { id = _id; tcp = new TcpHandler(); udp = new UdpHandler(); }
protected internal override void run() { Account player = base.getClient().getPlayer(); Room room = player.getRoom(); bool flag = player != null && room != null; if (flag) { bool flag2 = room._aiLevel < 10; if (flag2) { room._aiLevel++; } for (int i = 0; i < 16; i++) { Account playerFromPlayerId = ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(room.getSlot(i)._playerId); bool flag3 = playerFromPlayerId != null; if (flag3) { playerFromPlayerId.sendPacket(new PROTOCOL_BATTLE_AI_COLLISION_ACK(room)); } } UdpHandler.getInstance().PingUdpServer(); } }
public void TestExceptionCaught() { var mockLogger = new Mock <ILogger <UdpHandler> >(); var context = new Mock <IChannelHandlerContext>(); var handler = new UdpHandler(mockLogger.Object); handler.ChannelRead(context.Object, null); handler.ChannelRead(context.Object, new DatagramPacket(Unpooled.Empty, new IPEndPoint(IPAddress.Any, 88))); handler.ExceptionCaught(context.Object, new Exception("tEST")); }
public MainWindow(String myname) { MyName = myname; Random ran = new Random(); MyIcon = "icon" + ran.Next(1, 7); InitializeComponent(); handler = new UdpHandler(this); this.DataContext = new MainWindowViewModel(this); }
public void Execute(object parameter) { Task task = new Task(() => { //BluetoothServerHandler bluetoothManager = new BluetoothServerHandler(); //bluetoothManager.ServerStart(); //TcpHandler tcpHandler = new TcpHandler(); //tcpHandler.Start(); UdpHandler s = new UdpHandler(); s.Server(IpHelper.GetLocalIPAddress(), 5563); }); task.Start(); }
private void btnConnect_Click(object sender, EventArgs e) { try { Target = new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text)); Console.WriteLine("Connecting {0}:{1}", txtIP.Text, int.Parse(txtPort.Text)); net = new UdpHandler(new IPEndPoint(IPAddress.Any, 54204)); net.Listen(true); net.Received += net_Received; init(); } catch (Exception ex) { Console.WriteLine("Init: " + ex.Message + "\r\n" + ex.StackTrace); } }
public DhtNetwork(OpCore core, bool lookup) { Core = core; IsLookup = lookup; Cache = new OpCache(this); // lookup config loads cache entries if (IsLookup) { Core.Context.LookupConfig.Load(this); Lookup = Core.Context.LookupConfig; } Local = new DhtClient(); Local.UserID = IsLookup ? Lookup.Ports.UserID : Utilities.KeytoID(Core.User.Settings.KeyPublic); Local.ClientID = (ushort)Core.RndGen.Next(1, ushort.MaxValue); OpID = Utilities.KeytoID(IsLookup ? LookupKey : Core.User.Settings.OpKey); OpCrypt = new RijndaelManaged(); // load encryption if (IsLookup) { OpCrypt.Key = LookupKey; } else { OpCrypt.Key = Core.User.Settings.OpKey; } LocalAugmentedKey = GetAugmentedKey(Local.UserID); Protocol = new G2Protocol(); TcpControl = new TcpHandler(this); UdpControl = new UdpHandler(this); LanControl = new LanHandler(this); RudpControl = new RudpHandler(this); LightComm = new LightCommHandler(this); UPnPControl = new UPnPHandler(this); Routing = new DhtRouting(this); Store = new DhtStore(this); Searches = new DhtSearchControl(this); }
public MainWindow() { Dispatcher.UnhandledException += Dispatcher_UnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;; GamepadHandler = new GamepadHandler(); GamepadHandler.ConnectionChange += GamepadConnected_Changed; InputSerialDeviceHandler = new SerialDeviceHandler(OSRRemoteDeviceMode.In); InputSerialDeviceHandler.ConnectionChange += SerialConnected_Changed; OutputSerialDeviceHandler = new SerialDeviceHandler(OSRRemoteDeviceMode.Out); OutputSerialDeviceHandler.ConnectionChange += SerialConnected_Changed; SerialPorts = OutputSerialDeviceHandler.GetPorts(); BLEDevices = new ObservableCollection <DeviceModel>(); InputTcpAddresshandler = new TcpHandler(OSRRemoteDeviceMode.In); InputTcpAddresshandler.ConnectionChange += NetworkConnected_Changed; OutputTcpAddresshandler = new TcpHandler(OSRRemoteDeviceMode.Out); OutputTcpAddresshandler.ConnectionChange += NetworkConnected_Changed; InputUdpAddresshandler = new UdpHandler(OSRRemoteDeviceMode.In); InputUdpAddresshandler.ConnectionChange += NetworkConnected_Changed; OutputUdpAddresshandler = new UdpHandler(OSRRemoteDeviceMode.Out); OutputUdpAddresshandler.ConnectionChange += NetworkConnected_Changed; //BLEDeviceHandler = new BLEDeviceHandler(OSRRemoteDeviceMode.Out); //BLEDeviceHandler.ConnectionChange += BLEDeviceHandler_ConnectionChanged; //BLEDeviceHandler.DeviceAdded += BLEDeviceAdded; //BLEDeviceHandler.DeviceRemoved += BLEDeviceRemoved; InitializeComponent(); this.DataContext = this; IPAddressLabel.Content = GetLocalIPV4Address(); RestoreSavedSettings(); _outputNetworkAddressTxtDebouncer = new Debouncer(); _outputNetworkAddressTxtDebouncer.Idled += OutputNetworkAddressTxtDebouncer_Idled; _inputNetworkPortTxtDebouncer = new Debouncer(); _inputNetworkPortTxtDebouncer.Idled += InputNetworkPortTxtDebouncer_Idled; //BLERdo.Checked += OutRadio_Checked; }
public void close() { this._prepareToClose = true; try { AccountManager.getInstance().get(this.getPlayer().name)._status = 0; this.getPlayer()._status = 0; AccountManager.getInstance().get(this.getPlayer().name).setOnlineStatus(false); bool flag = this.getPlayer() != null; if (flag) { bool flag2 = this.getPlayer().getRoom() != null; if (flag2) { UdpHandler.getInstance().RemovePlayerInRoom(this.getPlayer()); ChannelInfoHolder.getChannel(this.getChannelId()).getRooms()[this.getPlayer().getRoom().getRoomId()].removePlayer(this.getPlayer()); this.getPlayer().setRoom(null); } bool flag3 = this.getChannelId() >= 0; if (flag3) { ChannelInfoHolder.getChannel(this.getChannelId()).removePlayer(this.getPlayer()); } } AccountManager.getInstance().get(this.getPlayer().name).setClient(null); GameClientManager.getInstance().removeClient(this); bool connected = this._client.Connected; if (connected) { this._client.Close(); this._stream = null; } CLogger.getInstance().info("[GameClient] Player disconnect."); } catch (Exception ex) { CLogger.getInstance().warning(ex.ToString()); } }
private static void Main(string[] args) { Console.Title = "Project Blackout Server"; CLogger.getInstance().form(); Console.ForegroundColor = ConsoleColor.Green; CLogger.getInstance().info("-----------------------------"); CLogger.getInstance().info("| Servidor Project Wars |"); CLogger.getInstance().info("| PVP 4X4 |"); CLogger.getInstance().info("| FIX 88% |"); CLogger.getInstance().info("| developer by Skelleton |"); CLogger.getInstance().info("| SystemPBlackout |"); CLogger.getInstance().info("| Version: " + ((object)ServerVersion.version).ToString() + " |"); CLogger.getInstance().info("| New Battle |"); CLogger.getInstance().info("| Creation By Skelleton |"); CLogger.getInstance().info("-----------------------------"); Console.ForegroundColor = ConsoleColor.White; Config.load(); StartedInventoryItemsParser.getInstance(); UdpHandler.getInstance().SendPacket((short)byte.MaxValue, new byte[4]); GameServerInfoParser.getInstance(); ChannelInfoParser.getInstance(); ClanManager.getInstance(); AccountManager.getInstance(); ConfigManager.getInstance(); FriendManager.getInstance(); RankExpInfoParser.getInstance(); ShopInfoManager.getInstance(); MissionManager.getInstance(); PlayerTemplateParser.getInstance(); LoginClientManager.getInstance(); GameClientManager.getInstance(); NetworkLoginFactory.getInstance(); NetworkGameFactory.getInstance(); CLogger.getInstance().warning("Servidor aberto"); CLogger.getInstance().warning("Servidor aberto"); CLogger.getInstance().warning("Servidor aberto"); CLogger.getInstance().warning("Servidor aberto"); Process.GetCurrentProcess().WaitForExit(); }
protected internal override void run() { Account player = this.getClient().getPlayer(); Room room = player.getRoom(); if (player == null || room == null) { return; } if (room._aiLevel < 10) { ++room._aiLevel; } for (int id = 0; id < 16; ++id) { Account playerFromPlayerId = ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(room.getSlot(id)._playerId); if (playerFromPlayerId != null) { playerFromPlayerId.sendPacket((SendBaseGamePacket) new opcode_3890_ACK(room)); } } UdpHandler.getInstance().PingUdpServer(); }
protected internal override void write() { base.writeH(3345); base.writeB(this._slots); UdpHandler.getInstance().PingUdpServer(); }
public static void Load() { NetworkGame.getInstance(); UdpHandler.getInstance().SendPacket(255, new byte[4]); }
protected internal override void run() { CLogger.getInstance().info(string.Concat(new string[] { "[Chat Normal] ", base.getClient().getPlayer().getPlayerName(), " send message: [", this.chat.chat, "]" })); Account player = base.getClient().getPlayer(); Room room = player.getRoom(); bool flag = room != null; if (flag) { try { bool flag2 = this.chat.chat.StartsWith("cmd "); if (flag2) { string text = this.chat.chat.Substring(4); bool flag3 = text.StartsWith("map "); if (flag3) { int map = int.Parse(text.Substring(4)); this.chat.playername = "ServerCMD"; this.chat.chat = "Changed map to " + map.ToString(); room.CMDChangeMap(map, player); } else { bool flag4 = text.StartsWith("player go"); if (flag4) { room.changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_LOAD, true); bool flag5 = base.getClient().getPlayer().getRoom().getLeader().player_id == base.getClient().getPlayer().player_id; if (flag5) { UdpHandler.getInstance().CreateBattleUdpRoom(base.getClient().getPlayer().getRoom(), 2); } this.chat.playername = "ServerCMD"; this.chat.chat = "Player go!!!"; room.setState(ROOM_STATE.ROOM_STATE_LOADING); player.sendPacket(new PROTOCOL_BATTLE_READYBATTLE_ACK(player, room)); CLogger.getInstance().info("[Game::Chat]: Player enter command 'player go' player=" + base.getClient().getPlayer().player_name); } } } for (int i = 0; i < 15; i++) { Account playerBySlot = room.getPlayerBySlot(i); bool flag6 = playerBySlot != null; if (flag6) { playerBySlot.sendPacket(new PROTOCOL_ROOM_CHATTING_ACK(this.chat, player)); } } } catch (Exception ex) { CLogger.getInstance().warning(ex.ToString()); } } else { Channel channel = ChannelInfoHolder.getChannel(base.getClient().getChannelId()); bool flag7 = channel != null; if (flag7) { for (int j = 0; j < channel.getWaitPlayers().Count; j++) { bool flag8 = channel.getWaitPlayers()[j] != null; if (flag8) { channel.getWaitPlayers()[j].sendPacket(new PROTOCOL_LOBBY_CHATTING_ACK(this.chat, player)); } } } } }
protected internal override void run() { if (this.getClient() == null) { return; } Channel channel = ChannelInfoHolder.getChannel(this.getClient().getChannelId()); Room room = this.getClient().getPlayer().getRoom(); Account player = this.getClient().getPlayer(); Account playerFromPlayerId1 = channel.getPlayerFromPlayerId(this.getClient().getPlayer().getRoom().getLeader().player_id); if (room.getLeader().player_id == this.getClient().getPlayer().player_id) { player.getRoom().changeSlotState(this.getClient().getPlayer().getSlot(), SLOT_STATE.SLOT_STATE_LOAD, true); for (int index = 0; index < 16; ++index) { int playerId = room.getSlot(index)._playerId; if (playerId > 0) { Account playerFromPlayerId2 = ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(playerId); if (playerFromPlayerId2 != null) { if (channel.getRoomInId(room.getRoomId()).getSlotState(index) == SLOT_STATE.SLOT_STATE_READY) { channel.getRoomInId(room.getRoomId()).changeSlotState(index, SLOT_STATE.SLOT_STATE_LOAD, true); } room.setState(ROOM_STATE.ROOM_STATE_LOADING); playerFromPlayerId2.CheckCorrectInventory(); playerFromPlayerId2.sendPacket((SendBaseGamePacket) new S_BATTLE_READYBATTLE(playerFromPlayerId2)); } } } if (this.getClient().getPlayer().getRoom().getLeader().player_id != this.getClient().getPlayer().player_id || this.getClient().getPlayer().getRoom().server_type <= 1) { return; } if (this.getClient().getPlayer().customAddress == null) { UdpHandler.getInstance().CreateBattleUdpRoom(this.getClient().getPlayer().getRoom(), this.getClient().getPlayer().getRoom().server_type); } else { UdpHandler.getInstance().CreateBattleUdpRoom(this.getClient().getPlayer().getRoom(), this.getClient().getPlayer().getRoom().server_type); } } else if (room.getSlotState(playerFromPlayerId1.getSlot()) == SLOT_STATE.SLOT_STATE_PRESTART || room.getSlotState(playerFromPlayerId1.getSlot()) == SLOT_STATE.SLOT_STATE_RENDEZVOUS || (room.getSlotState(playerFromPlayerId1.getSlot()) == SLOT_STATE.SLOT_STATE_LOAD || room.getSlotState(playerFromPlayerId1.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE_READY) || room.getSlotState(playerFromPlayerId1.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE) { ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(room.getSlot(player.getSlot())._playerId).getRoom().changeSlotState(this.getClient().getPlayer().getSlot(), SLOT_STATE.SLOT_STATE_LOAD, true); player.sendPacket((SendBaseGamePacket) new S_BATTLE_READYBATTLE(player)); UdpHandler.getInstance().AddPlayerInUdpRoom(player, room.getLeader()); } else { int playerId = room.getSlot(player.getSlot())._playerId; int slot = this.getClient().getPlayer().getSlot(); if (ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().getSlotState(slot) == SLOT_STATE.SLOT_STATE_NORMAL) { ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().changeSlotState(slot, SLOT_STATE.SLOT_STATE_READY, true); } else if (ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().getSlotState(slot) == SLOT_STATE.SLOT_STATE_READY) { ChannelInfoHolder.getChannel(this.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().changeSlotState(slot, SLOT_STATE.SLOT_STATE_NORMAL, true); } player.sendPacket((SendBaseGamePacket) new S_BATTLE_READYBATTLE(player)); } }
protected internal override void run() { Channel channel = ChannelInfoHolder.getChannel(base.getClient().getChannelId()); Room room = base.getClient().getPlayer().getRoom(); Account player = base.getClient().getPlayer(); Account playerFromPlayerId = channel.getPlayerFromPlayerId(base.getClient().getPlayer().getRoom().getLeader().player_id); bool flag = room.getLeader().player_id == base.getClient().getPlayer().player_id; if (flag) { bool flag2 = room.isBattleInt() == 0; if (flag2) { room.setFigth(1); room.setTimeLost(room.getTimeByMask() * 60); } player.getRoom().changeSlotState(base.getClient().getPlayer().getSlot(), SLOT_STATE.SLOT_STATE_LOAD, true); for (int i = 0; i < 16; i++) { int playerId = room.getSlot(i)._playerId; bool flag3 = playerId > 0; if (flag3) { Account playerFromPlayerId2 = ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(playerId); bool flag4 = playerFromPlayerId2 != null; if (flag4) { bool flag5 = channel.getRoomInId(room.getRoomId()).getSlotState(i) == SLOT_STATE.SLOT_STATE_READY; if (flag5) { channel.getRoomInId(room.getRoomId()).changeSlotState(i, SLOT_STATE.SLOT_STATE_LOAD, true); } room.setState(ROOM_STATE.ROOM_STATE_LOADING); playerFromPlayerId2.CheckCorrectInventory(); playerFromPlayerId2.sendPacket(new PROTOCOL_BATTLE_READYBATTLE_ACK(playerFromPlayerId2, room)); } } } bool flag6 = base.getClient().getPlayer().getRoom().getLeader().player_id == base.getClient().getPlayer().player_id&& base.getClient().getPlayer().getRoom().server_type > 1; if (flag6) { bool flag7 = base.getClient().getPlayer().customAddress == null; if (flag7) { UdpHandler.getInstance().CreateBattleUdpRoom(base.getClient().getPlayer().getRoom(), base.getClient().getPlayer().getRoom().server_type); } else { UdpHandler.getInstance().CreateBattleUdpRoom(base.getClient().getPlayer().getRoom(), base.getClient().getPlayer().getRoom().server_type); } } } else { bool flag8 = room.getSlotState(playerFromPlayerId.getSlot()) == SLOT_STATE.SLOT_STATE_PRESTART || room.getSlotState(playerFromPlayerId.getSlot()) == SLOT_STATE.SLOT_STATE_RENDEZVOUS || room.getSlotState(playerFromPlayerId.getSlot()) == SLOT_STATE.SLOT_STATE_LOAD || room.getSlotState(playerFromPlayerId.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE_READY || room.getSlotState(playerFromPlayerId.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE; if (flag8) { ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(room.getSlot(player.getSlot())._playerId).getRoom().changeSlotState(base.getClient().getPlayer().getSlot(), SLOT_STATE.SLOT_STATE_LOAD, true); player.sendPacket(new PROTOCOL_BATTLE_READYBATTLE_ACK(player, room)); UdpHandler.getInstance().AddPlayerInUdpRoom(player, room.getLeader()); } else { int playerId = room.getSlot(player.getSlot())._playerId; int slot = base.getClient().getPlayer().getSlot(); bool flag9 = ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().getSlotState(slot) == SLOT_STATE.SLOT_STATE_NORMAL; if (flag9) { ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().changeSlotState(slot, SLOT_STATE.SLOT_STATE_READY, true); } else { bool flag10 = ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().getSlotState(slot) == SLOT_STATE.SLOT_STATE_READY; if (flag10) { ChannelInfoHolder.getChannel(base.getClient().getChannelId()).getPlayerFromPlayerId(playerId).getRoom().changeSlotState(slot, SLOT_STATE.SLOT_STATE_NORMAL, true); } } } } foreach (Account current in base.getClient().getPlayer().getRoom().getReadyPlayerList()) { current.getClient().sendPacket(new PROTOCOL_ROOM_GET_SLOTINFO_ACK(room)); } player.getRoom().updateInfo(); }
protected internal override void run() { Account player = base.getClient().getPlayer(); Room room = player.getRoom(); CLogger.getInstance().info("[Battle] " + player.getPlayerName() + " It came out during the match."); player._statistic.setEscapes(player._statistic.getEscapes_s() + 1); AccountManager.getInstance().updateEscapes(player); UdpHandler.getInstance().RemovePlayerInRoom(player); bool flag = player.getSlot() == player.getRoom().getLeader().getSlot() && player.getRoom().getReadyPlayerList().Count == 1; if (flag) { for (int i = 0; i < 16; i++) { bool flag2 = room._slots[i].state == SLOT_STATE.SLOT_STATE_BATTLE || room._slots[i].state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag2) { room.changeSlotState(i, SLOT_STATE.SLOT_STATE_NORMAL, true); } room._slots[i].allDeaths = 0; room._slots[i].allKills = 0; room._slots[i].killMessage = 0; room._slots[i].killsOnLife = 0; room._slots[i].lastKillState = 0; room._slots[i].repeatLastState = false; room._slots[i].botScore = 0; room._slots[i].headshotsInPlay = 0; } room._redKills = 0; room._redDeaths = 0; room._blueKills = 0; room._blueDeaths = 0; room._timeRoom = room.getTimeByMask() * 60; room.setState(ROOM_STATE.ROOM_STATE_READY); player.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(player)); } else { bool flag3 = player.getSlot() == player.getRoom().getLeader().getSlot() && player.getRoom().getAllPlayers().Count > 1 && player.getRoom().special == 6; if (flag3) { foreach (Account current in player.getRoom().getAllPlayers()) { bool flag4 = current != null && player.getRoom().getSlotState(current.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE; if (flag4) { bool flag5 = player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_BATTLE || player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag5) { player.getRoom().changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_NORMAL, true); } player.getRoom().getSlot(player.getSlot()).allDeaths = 0; player.getRoom().getSlot(player.getSlot()).allKills = 0; player.getRoom().getSlot(player.getSlot()).killMessage = 0; player.getRoom().getSlot(player.getSlot()).killsOnLife = 0; player.getRoom().getSlot(player.getSlot()).lastKillState = 0; player.getRoom().getSlot(player.getSlot()).repeatLastState = false; player.getRoom().getSlot(player.getSlot()).botScore = 0; player.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(player)); current.sendPacket(new PROTOCOL_BATTLE_GIVEUPBATTLE_ACK(player.getSlot())); bool flag6 = player.getPlayerId() != current.getPlayerId(); if (flag6) { current.sendPacket(new PROTOCOL_BATTLE_HOLE_CHECK_ACK(player.getRoom())); } } } } else { bool flag7 = player.getSlot() == player.getRoom().getLeader().getSlot() && player.getRoom().getAllPlayers().Count == 2 && player.getRoom().special != 6; if (flag7) { foreach (Account current2 in player.getRoom().getAllPlayers()) { bool flag8 = player.getSlot() != current2.getSlot() && player.getRoom().getSlotState(current2.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE; if (flag8) { CLogger.getInstance().info("[Battle] End of the match to give up eancia."); bool flag9 = player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_BATTLE || player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag9) { player.getRoom().changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_NORMAL, true); } player.getRoom().getSlot(player.getSlot()).allDeaths = 0; player.getRoom().getSlot(player.getSlot()).allKills = 0; player.getRoom().getSlot(player.getSlot()).killMessage = 0; player.getRoom().getSlot(player.getSlot()).killsOnLife = 0; player.getRoom().getSlot(player.getSlot()).lastKillState = 0; player.getRoom().getSlot(player.getSlot()).repeatLastState = false; player.getRoom().getSlot(player.getSlot()).botScore = 0; room._redKills = 0; room._redDeaths = 0; room._blueKills = 0; room._blueDeaths = 0; room._timeRoom = room.getTimeByMask() * 60; room.setState(ROOM_STATE.ROOM_STATE_READY); current2.sendPacket(new PROTOCOL_BATTLE_GIVEUPBATTLE_ACK(player.getSlot())); current2.sendPacket(new PROTOCOL_BATTLE_HOLE_CHECK_ACK(player.getRoom())); player.getRoom().setState(ROOM_STATE.ROOM_STATE_BATTLE_END); current2.getRoom().CalculateBattleResult(current2); current2.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(current2)); } } } else { bool flag10 = player.getSlot() != player.getRoom().getLeader().getSlot() && player.getRoom().getAllPlayers().Count == 2 && player.getRoom().special != 6; if (flag10) { foreach (Account current3 in player.getRoom().getAllPlayers()) { bool flag11 = player.getSlot() != current3.getSlot() && player.getRoom().getSlotState(current3.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE; if (flag11) { CLogger.getInstance().info("[Battle] End of the match to give up eancia."); bool flag12 = player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_BATTLE || player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag12) { player.getRoom().changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_NORMAL, true); } player.getRoom().getSlot(player.getSlot()).allDeaths = 0; player.getRoom().getSlot(player.getSlot()).allKills = 0; player.getRoom().getSlot(player.getSlot()).killMessage = 0; player.getRoom().getSlot(player.getSlot()).killsOnLife = 0; player.getRoom().getSlot(player.getSlot()).lastKillState = 0; player.getRoom().getSlot(player.getSlot()).repeatLastState = false; player.getRoom().getSlot(player.getSlot()).botScore = 0; room._redKills = 0; room._redDeaths = 0; room._blueKills = 0; room._blueDeaths = 0; room._timeRoom = room.getTimeByMask() * 60; room.setState(ROOM_STATE.ROOM_STATE_READY); current3.sendPacket(new PROTOCOL_BATTLE_GIVEUPBATTLE_ACK(player.getSlot())); current3.sendPacket(new PROTOCOL_BATTLE_HOLE_CHECK_ACK(player.getRoom())); player.getRoom().setState(ROOM_STATE.ROOM_STATE_BATTLE_END); current3.getRoom().CalculateBattleResult(current3); current3.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(current3)); } } } else { bool flag13 = player.getSlot() != player.getRoom().getLeader().getSlot() && player.getRoom().getAllPlayers().Count > 2; if (flag13) { bool flag14 = player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_BATTLE || player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag14) { player.getRoom().changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_NORMAL, true); } player.getRoom().getSlot(player.getSlot()).allDeaths = 0; player.getRoom().getSlot(player.getSlot()).allKills = 0; player.getRoom().getSlot(player.getSlot()).killMessage = 0; player.getRoom().getSlot(player.getSlot()).killsOnLife = 0; player.getRoom().getSlot(player.getSlot()).lastKillState = 0; player.getRoom().getSlot(player.getSlot()).repeatLastState = false; player.getRoom().getSlot(player.getSlot()).botScore = 0; foreach (Account current4 in player.getRoom().getAllPlayers()) { current4.sendPacket(new PROTOCOL_BATTLE_GIVEUPBATTLE_ACK(player.getSlot())); } player.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(player)); } else { bool flag15 = player.getSlot() != player.getRoom().getLeader().getSlot() && player.getRoom().getAllPlayers().Count > 1 && player.getRoom().special == 6; if (flag15) { foreach (Account current5 in player.getRoom().getAllPlayers()) { bool flag16 = current5 != null && player.getRoom().getSlotState(current5.getSlot()) == SLOT_STATE.SLOT_STATE_BATTLE; if (flag16) { bool flag17 = player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_BATTLE || player.getRoom().getSlot(player.getSlot()).state == SLOT_STATE.SLOT_STATE_PRESTART; if (flag17) { player.getRoom().changeSlotState(player.getSlot(), SLOT_STATE.SLOT_STATE_NORMAL, true); } player.getRoom().getSlot(player.getSlot()).allDeaths = 0; player.getRoom().getSlot(player.getSlot()).allKills = 0; player.getRoom().getSlot(player.getSlot()).killMessage = 0; player.getRoom().getSlot(player.getSlot()).killsOnLife = 0; player.getRoom().getSlot(player.getSlot()).lastKillState = 0; player.getRoom().getSlot(player.getSlot()).repeatLastState = false; player.getRoom().getSlot(player.getSlot()).botScore = 0; player.sendPacket(new PROTOCOL_BATTLE_ENDBATTLE_ACK(player)); current5.sendPacket(new PROTOCOL_BATTLE_GIVEUPBATTLE_ACK(player.getSlot())); } } } else { CLogger.getInstance().info("[Batte] Failure to remove the player."); } } } } } } }