mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
b489750d5b
* Optimizations with private, params, and isEqualType * Fixed tab being used instead of space * Fixed tabs inserted by notepad++ * More usage of new private syntax and params - changed a few checks for an array being empty to `_arr isEqualTo []` rather than `count _arr == 0` - added more uses of `private` on the same line as the variable is declared - added more uses of params to assign variables passed as parameters - removed unnecessary parentheses - removed several unnecessary variable declarations with private array syntax * clean up and formatting
48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
#include "script_component.hpp"
|
|
|
|
params ["_list", "_checkPos"];
|
|
private _spots = [];
|
|
private _outliers = [];
|
|
private _spot = [];
|
|
(_list select 0) params ["_testPos"];
|
|
{
|
|
_x params ["_samplePos"];
|
|
if(!lineIntersects [_samplePos, _checkPos] && {!terrainIntersectASL [_samplePos, _checkPos]}) then {
|
|
if(_samplePos distance _testPos < 2) then {
|
|
_spot pushBack _samplePos;
|
|
} else {
|
|
_outliers pushBack _samplePos;
|
|
};
|
|
};
|
|
} forEach _list;
|
|
_spots pushBack _spot;
|
|
|
|
if(count _outliers > 0) then {
|
|
for "_i" from 1 to 3 do {
|
|
private _remainingSpots = _outliers;
|
|
_outliers = [];
|
|
_spot = [];
|
|
_testPos = (_remainingSpots select 0);
|
|
{
|
|
private _samplePos = _x;
|
|
if(!lineIntersects [_samplePos, _checkPos] && {!terrainIntersectASL [_samplePos, _checkPos]}) then {
|
|
if(_samplePos distance _testPos < 2) then {
|
|
_spot pushBack _samplePos;
|
|
} else {
|
|
_outliers pushBack _samplePos;
|
|
};
|
|
};
|
|
} forEach _remainingSpots;
|
|
_spots pushBack _spot;
|
|
};
|
|
};
|
|
private _largest = 0;
|
|
private _largestSpot = [];
|
|
{
|
|
if(count _x > _largest) then {
|
|
_largest = count _x;
|
|
_largestSpot = _x;
|
|
};
|
|
} forEach _spots;
|
|
// player sideChat format["g: %1", _spots];
|
|
_largestSpot select (random (floor(count _largestSpot))); |