summaryrefslogtreecommitdiffstats
path: root/Server/Functions/Server_SelectOccupTeam.sqf
blob: a28bf3cf5308f59278b4ba6318f487215769ec80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
private ["_difficulty","_probaOccupation","_oc1","_oc2","_oc3","_oc4","_oc5","_oc6","_ran1","_ran2","_supplyValue","_teams","_type","_x"];
_supplyValue = _this select 0;
_type = [];
_teams = [];

_oc1 = 'WFBE_OCCUPATIONTEAM1' Call GetNamespace;
_oc2 = 'WFBE_OCCUPATIONTEAM2' Call GetNamespace;
_oc3 = 'WFBE_OCCUPATIONTEAM3' Call GetNamespace;
_oc4 = 'WFBE_OCCUPATIONTEAM4' Call GetNamespace;
_oc5 = 'WFBE_OCCUPATIONTEAM5' Call GetNamespace;
_oc6 = 'WFBE_OCCUPATIONTEAM6' Call GetNamespace;

_probaOccupation = 75;
if ((_supplyValue >= _oc1)&&(_supplyValue < _oc2)) then {_type = ["SmallTeam"];_probaOccupation = 95};
if ((_supplyValue >= _oc2)&&(_supplyValue < _oc3)) then {_type = ["SmallTeam","SmallVehTeam"];_probaOccupation = 85};
if ((_supplyValue >= _oc3)&&(_supplyValue < _oc4)) then {_type = ["SmallTeam","MediumTeam","MediumVehTeam"];_probaOccupation = 75};
if ((_supplyValue >= _oc4)&&(_supplyValue < _oc5)) then {_type = ["SmallTeam","MediumTeam","LargeTeam","MediumVehTeam"];_probaOccupation = 65};
if ((_supplyValue >= _oc5)&&(_supplyValue < _oc6)) then {_type = ["SmallTeam","MediumTeam","LargeTeam","MediumVehTeam","LargeVehTeam"];_probaOccupation = 60};
if (_supplyValue >= _oc6) then {_type = ["SmallTeam","MediumTeam","LargeTeam","SmallVehTeam","MediumVehTeam","LargeVehTeam"];_probaOccupation = 55};

_difficulty = 'WFBE_TOWNOCCUPATIONDIFFICULTY' Call GetNamespace;
if (_difficulty == 5) then {
	if (diag_fps >= 35) then {_difficulty = 4};
	if (diag_fps >= 25 && diag_fps < 30) then {_difficulty = 3};
	if (diag_fps >= 15 && diag_fps < 25) then {_difficulty = 2};
	if (diag_fps < 15) then {_difficulty = 1};
} else {
	_probaOccupation = _probaOccupation - (_difficulty * 5);
	if (_probaOccupation < 10) then {_probaOccupation = 10};
};

for [{_z = 0},{_z <= _difficulty},{_z = _z + 1}] do {
	_ran1 = random 100;
	if (_ran1 < _probaOccupation) then {
		{_ran2 = round(1 + random 2);_teams = _teams + [Format ["%1%2",_x,_ran2]]} forEach _type;
	};
};

if (count _teams < 1) then {_teams = ["SmallTeam1"]};

_teams