public static bool BattleLog(ClientInfo _cInfo) { try { EntityPlayer _player = PersistentOperations.GetEntityPlayer(_cInfo.playerId); if (_player != null) { List <EntityPlayer> _players = PersistentOperations.PlayerList(); if (_players != null) { for (int i = 0; i < _players.Count; i++) { EntityPlayer _player2 = _players[i]; if (_player2 != null && _player2 != _player) { EntityPlayer _damageTarget = (EntityPlayer)_player.GetDamagedTarget(); EntityPlayer _attackTarget = (EntityPlayer)_player.GetAttackTarget(); EntityPlayer _damageTarget2 = (EntityPlayer)_player2.GetDamagedTarget(); EntityPlayer _attackTarget2 = (EntityPlayer)_player2.GetAttackTarget(); if ((_damageTarget != null && _damageTarget == _player2 && !_damageTarget.IsFriendsWith(_player2)) || (_attackTarget != null && _attackTarget == _player2 && !_attackTarget.IsFriendsWith(_player2)) || (_damageTarget2 != null && _damageTarget2 == _player && !_damageTarget2.IsFriendsWith(_player)) || (_attackTarget2 != null && _attackTarget2 == _player && !_damageTarget2.IsFriendsWith(_player))) { float _distance = _player2.GetDistanceSq(_player); if (_distance <= 80f) { Timers.BattleLogTool(_cInfo.playerId); } } } } } } BattleLogger.Players.Remove(_cInfo.playerId); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in API.BattleLog: {0}.", e.Message)); } return(true); }