fnc_emp_disableVehicle.sqf 968 B

1234567891011121314151617181920212223242526272829303132333435
  1. params["_vehicle"];
  2. if!(local _vehicle) exitWith { };
  3. diag_log format["[RD501][Vehicle EMP] Disabling Vehicle '%1'", _vehicle];
  4. _vehicle allowCrewInImmobile true;
  5. _vehicle lock 2;
  6. {
  7. _x setBehaviour "CARELESS";
  8. _x setCombatMode "BLUE";
  9. _x disableAI "TARGET";
  10. _x disableAI "AUTOTARGET";
  11. _x disableAI "MOVE";
  12. _x disableAI "FSM";
  13. } forEach crew _vehicle;
  14. (getAllHitPointsDamage _vehicle) params [["_allHitPoints", []]];
  15. {
  16. private _isEngineLower = (_x find "engine") != -1;
  17. private _isEngineUpper = (_x find "Engine") != -1;
  18. if(_isEngineLower || _isEngineUpper) then {
  19. _vehicle setHitPointDamage [_x, 1, true];
  20. diag_log format["[RD501][Vehicle EMP] Damaging %1", _x];
  21. };
  22. private _isTurretLower = (_x find "turret") != -1;
  23. private _isTurretUpper = (_x find "Turret") != -1;
  24. if(_isEngineLower || _isEngineUpper) then {
  25. _vehicle setHitPointDamage [_x, 1, true];
  26. diag_log format["[RD501][Vehicle EMP] Damaging %1", _x];
  27. };
  28. } forEach _allHitPoints;