59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
/*
|
|
File: fn_getSquadComp.sqf
|
|
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
|
|
Date: 2019-11-25
|
|
Last Update: 2020-04-24
|
|
License: MIT License - http://www.opensource.org/licenses/MIT
|
|
|
|
Description:
|
|
Provides an infantry squad composition of classnames in accordance to the current weights to adapt to the players playstyle.
|
|
|
|
Parameter(s):
|
|
_type - Type of infantry. Army or militia [STRING, defaults to "army"]
|
|
|
|
Returns:
|
|
Array of infantry classnames [ARRAY]
|
|
*/
|
|
|
|
params [
|
|
["_type", "army", [""]]
|
|
];
|
|
|
|
private _squadcomp = [];
|
|
|
|
if (_type == "army") then {
|
|
private _selected = false;
|
|
private _randomchance = 0;
|
|
_squadcomp = KPLIB_o_squadStd;
|
|
|
|
if (armor_weight > 40 && !_selected) then {
|
|
_randomchance = (armor_weight - 35) * 1.4;
|
|
if ((random 100) < _randomchance) then {
|
|
_selected = true;
|
|
_squadcomp = KPLIB_o_squadTank;
|
|
};
|
|
};
|
|
|
|
if (air_weight > 40 && !_selected) then {
|
|
_randomchance = (air_weight - 35) * 1.4;
|
|
if ((random 100) < _randomchance) then {
|
|
_selected = true;
|
|
_squadcomp = KPLIB_o_squadAir;
|
|
};
|
|
};
|
|
|
|
if (infantry_weight > 40 && !_selected) then {
|
|
_randomchance = (infantry_weight - 35) * 1.4;
|
|
if ((random 100) < _randomchance) then {
|
|
_selected = true;
|
|
_squadcomp = KPLIB_o_squadInf;
|
|
};
|
|
};
|
|
} else {
|
|
private _multiplier = 1;
|
|
if (GRLIB_unitcap < 1) then {_multiplier = GRLIB_unitcap;};
|
|
while {count _squadcomp < (10 * _multiplier)} do {_squadcomp pushback (selectRandom militia_squad)};
|
|
};
|
|
|
|
_squadcomp
|