mostly working
This commit is contained in:
68
framework/emp/functions/fn_getObjectsAndGroupsToAffect.sqf
Normal file
68
framework/emp/functions/fn_getObjectsAndGroupsToAffect.sqf
Normal file
@@ -0,0 +1,68 @@
|
||||
#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];
|
||||
Reference in New Issue
Block a user