Transporthelis in battlegroups drop paratroopers
This commit is contained in:
parent
153b41d2e0
commit
ff2b52b778
|
@ -44,8 +44,12 @@ if !(_spawn_marker isEqualTo "") then {
|
|||
[_nextgrp] spawn battlegroup_ai;
|
||||
_bg_groups pushback _nextgrp;
|
||||
|
||||
if ((_x in opfor_troup_transports) && ([] call F_opforCap < GRLIB_battlegroup_cap)) then {
|
||||
[_vehicle] spawn troup_transport;
|
||||
if ((_x in opfor_troup_transports) && ([] call F_opforCap < GRLIB_battlegroup_cap)) then {
|
||||
if (_vehicle isKindOf "Air") then {
|
||||
[_spawn_marker, _vehicle] spawn send_paratroopers;
|
||||
} else {
|
||||
[_vehicle] spawn troup_transport;
|
||||
};
|
||||
};
|
||||
|
||||
_battlegroup_size = _battlegroup_size + 1;
|
||||
|
|
|
@ -1,27 +1,35 @@
|
|||
params ["_targetsector"];
|
||||
params [
|
||||
["_targetsector", "", [""]],
|
||||
["_chopper_type", objNull, [objNull]]
|
||||
];
|
||||
private _targetpos = getMarkerPos _targetsector;
|
||||
private _spawnsector = ([sectors_airspawn, [_targetpos], {(markerpos _x) distance _input0}, "ASCEND"] call BIS_fnc_sortBy) select 0;
|
||||
|
||||
private _chopper_type = selectRandom opfor_choppers;
|
||||
private _newvehicle = objNull;
|
||||
if (isNull _chopper_type) then {
|
||||
_chopper_type = selectRandom opfor_choppers;
|
||||
|
||||
while {!(_chopper_type in opfor_troup_transports)} do {
|
||||
_chopper_type = selectRandom opfor_choppers;
|
||||
while {!(_chopper_type in opfor_troup_transports)} do {
|
||||
_chopper_type = selectRandom opfor_choppers;
|
||||
};
|
||||
|
||||
private _newvehicle = createVehicle [_chopper_type, markerpos _spawnsector, [], 0, "FLY"];
|
||||
createVehicleCrew _newvehicle;
|
||||
sleep 0.1;
|
||||
|
||||
private _pilot_group = createGroup [GRLIB_side_enemy, true];
|
||||
(crew _newvehicle) joinSilent _pilot_group;
|
||||
|
||||
_newvehicle addMPEventHandler ["MPKilled", {_this spawn kill_manager}];
|
||||
{_x addMPEventHandler ["MPKilled", {_this spawn kill_manager}];} forEach (crew _newvehicle);
|
||||
} else {
|
||||
_newvehicle = _chopper_type;
|
||||
};
|
||||
|
||||
private _newvehicle = createVehicle [_chopper_type, markerpos _spawnsector, [], 0, "FLY"];
|
||||
createVehicleCrew _newvehicle;
|
||||
sleep 0.1;
|
||||
|
||||
private _pilot_group = createGroup [GRLIB_side_enemy, true];
|
||||
(crew _newvehicle) joinSilent _pilot_group;
|
||||
|
||||
private _para_group = createGroup [GRLIB_side_enemy, true];
|
||||
|
||||
_newvehicle addMPEventHandler ["MPKilled", {_this spawn kill_manager}];
|
||||
{_x addMPEventHandler ["MPKilled", {_this spawn kill_manager}];} forEach (crew _newvehicle);
|
||||
|
||||
while {(count (units _para_group)) < 8} do {
|
||||
[opfor_paratrooper, markerPos _spawnsector, _para_group] call F_createManagedUnit;
|
||||
[opfor_paratrooper, markerPos _spawnsector, _para_group] call F_createManagedUnit;
|
||||
};
|
||||
|
||||
{removeBackpack _x; _x addBackPack "B_parachute"; _x moveInCargo _newvehicle;} forEach (units _para_group);
|
||||
|
@ -72,15 +80,15 @@ _pilot_group setCurrentWaypoint [_para_group, 1];
|
|||
_newvehicle flyInHeight 100;
|
||||
|
||||
waitUntil {sleep 1;
|
||||
!(alive _newvehicle) || (damage _newvehicle > 0.2 ) || (_newvehicle distance _targetpos < 400 )
|
||||
!(alive _newvehicle) || (damage _newvehicle > 0.2 ) || (_newvehicle distance _targetpos < 400 )
|
||||
};
|
||||
|
||||
_newvehicle flyInHeight 100;
|
||||
|
||||
{
|
||||
unassignVehicle _x;
|
||||
moveout _x;
|
||||
sleep 0.5;
|
||||
unassignVehicle _x;
|
||||
moveout _x;
|
||||
sleep 0.5;
|
||||
} forEach (units _para_group);
|
||||
|
||||
_newvehicle flyInHeight 100;
|
||||
|
|
Loading…
Reference in New Issue