EDIT: I have identified and fixed the bug, thanks for the report.
From my tests it is working as intended.
Here are a few screenshots from my testing with the different levels
25%: https://gyazo.com/95e28678e16d93414b749d81258cb568
50%: https://gyazo.com/47db4250be66e5a1aff5728155fa013d
75%: https://gyazo.com/394ededce2a8806a2bd14afdc74ee623
The groups garrisoned inside the buildings are the un-ready groups.
The math inside the function handling this behavior also appears correct.
Say you select a readiness level of 75%. If there are 4 groups then this means that only 1 group will be garrisoned at the objective.
_readiness = parseNumber([_logic, "readinessLevel"] call MAINCLASS); // gets the readiness value -> 75% == 0.75
_readiness = (1 - _readiness) * _groupCount; // calculates amount of garrisoned groups -> (1 - 0.75) * 4 = 1
This calculates that only one group shall be garrisoned
Then, during group creation
if (_totalCount < _readiness ) then {
_command = "ALIVE_fnc_garrison";
_garrisonPos = [_center, 50] call CBA_fnc_RandPos;
_radius = [200,"true",[0,0,0]];
};
_totalCount is assigned a starting value of 0 and is increased after each profile is created
If 1 is greater than the amount of groups created, then garrison that profile in a nearby building. After this profile is created, _totalCount is raised to 1 and therefore the condition is no longer satisifed and the rest of the groups will remain un-garrisoned.
If someone else other than us two tests this and finds something contradicting these findings, please post.