Files
MissionTemplate/framework/emp/functions/fn_getObjectsAndGroupsToAffect.sqf
2024-02-10 16:13:42 -08:00

69 lines
1.7 KiB
Plaintext

#include "..\script_component.hpp"
// This function will gather objects to be affected by the EMP blast
// It will return an array of objects within the radius of the EMP blast
params [["_origin", objNull, [[], objNull]],["_radius",1500]];
if (_origin isEqualType []) then {
if (count _origin != 3) exitWith {
["Invalid origin position provided (%1)", _origin] call BIS_fnc_error;
};
};
if (_origin isEqualType objNull) then {
if (isNull _origin) exitWith {
["No origin object or position provided (%1)", _origin] call BIS_fnc_error;
};
_origin = getPosASL _origin;
};
//search for and return objects
private _objectsToAffect = nearestObjects [
_origin,
[
"Car",
"Motorcycle",
"UAV",
"Tank",
"Air",
"Ship",
"StreetLamp",
"Lamps_base_F", //These are all the lights' base classes
"PowerLines_base_F",
"PowerLines_Small_base_F",
"Land_TTowerBig_1_F",
"Land_TTowerBig_2_F",
"Land_fs_roof_F",
"Land_NavigLight",
"PowerLines_Wires_base_F",
"Land_PowerPoleWooden_L_F",
"Land_Runway_PAPI",
"Land_fs_sign_F",
"Land_FuelStation_01_roof_malevil_F",
"Land_FuelStation_01_roof_F",
"Lamps",
"Helicopter",
"Plane",
"Autonomous",
"Armored",
"Land_MobileRadar_01_radar_F",
"Land_Camping_Light_F",
"Land_PowLines_WoodL",
"Land_A_GeneralStore_01",
"Land_A_GeneralStore_01a",
"Land_Mil_Guardhouse",
"Land_NAV_Lighthouse",
"Land_Mil_House",
"Land_LightHouse_F",
"Land_Hospital_side2_F"
],
_radius
];
private _affectedLocalGroups = _objectsToAffect apply {group _x};
_affectedLocalGroups = _affectedLocalGroups arrayIntersect _affectedLocalGroups;
_affectedLocalGroups = _affectedLocalGroups select {local _x} select {!isPlayer (leader _x)};
[_objectsToAffect, _affectedLocalGroups];