summaryrefslogtreecommitdiffstats
path: root/Server/Functions/Server_CreateDefenseTemplate.sqf
blob: ae0076984c60dd5d4e1a6f4158712b767cc39252 (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
Private ["_created","_current","_dir","_i","_object","_origin","_relDir","_relPos","_skip","_template","_toplace","_toWorld"];
_origin = _this select 0;
_template = _this select 1;
_existingTemplate = if (count _this > 2) then {_this select 2} else {[]};

_dir = getDir _origin;
_created = [];
_toplace = objNull;

for '_i' from 0 to count(_template)-1 do {
	_current = _template select _i;
	_object = _current select 0;
	_relPos = _current select 1;
	_relDir = _current select 2;
	
	_skip = false;
	if (_i < count(_existingTemplate)) then {
		if (alive(_existingTemplate select _i)) then {_skip = true};
	};
	
	if !(_skip) then {
		_toplace = _object createVehicle [0,0,0];
		
		_toWorld = _origin modelToWorld _relPos;
		_toWorld set [2,0];

		_toplace setDir (_dir - _relDir);
		_toplace setPos _toWorld;
	} else {
		_toplace = _existingTemplate select _i;
	};
	
	_created = _created + [_toplace];
};

_created