#include "..\script_component.hpp" /* * Author: IDSolutions * Initializes the defuse module * * Arguments: * 0: Logic - The logic object * 1: Units - The array of units * 2: Activated - Whether the module is activated * * Return Value: * None * * Example: * [logicObject, [unit1, unit2], true] call forge_client_task_fnc_defuseModule; * * Public: No */ params [["_logic", objNull, [objNull]], ["_units", [], [[]]], ["_activated", true, [true]]]; if !(_activated) exitWith {}; private _taskID = _logic getVariable ["TaskID", ""]; private _limitFail = _logic getVariable ["LimitFail", -1]; private _limitSuccess = _logic getVariable ["LimitSuccess", -1]; private _companyFunds = _logic getVariable ["CompanyFunds", 0]; private _ratingFail = _logic getVariable ["RatingFail", 0]; private _ratingSuccess = _logic getVariable ["RatingSuccess", 0]; private _endSuccess = _logic getVariable ["EndSuccess", false]; private _endFail = _logic getVariable ["EndFail", false]; private _timeLimit = _logic getVariable ["TimeLimit", 0]; diag_log format ["[FORGE] Defuse Module Parameters: TaskID: %1, LimitFail: %2, LimitSuccess: %3, Funds: %4, RatingFail: %5, RatingSuccess: %6, EndSuccess: %7, EndFail: %8, Time: %9", _taskID, _limitFail, _limitSuccess, _companyFunds, _ratingFail, _ratingSuccess, _endSuccess, _endFail, _timeLimit]; private _syncedModules = synchronizedObjects _logic; diag_log format ["[FORGE] Defuse Module Synced Modules: %1", _syncedModules]; private _iedModule = (_syncedModules select { typeOf _x == "FORGE_Module_Explosives" }) select 0; private _protectedModule = (_syncedModules select { typeOf _x == "FORGE_Module_Protected" }) select 0; private _explosiveEntities = synchronizedObjects _iedModule; diag_log format ["[FORGE] Defuse Module Explosive Entites: %1", _explosiveEntities]; private _protectedEntities = synchronizedObjects _protectedModule; diag_log format ["[FORGE] Defuse Module Protected Entities: %1", _protectedEntities]; { if (!isNull _x) then { [_x, _taskID, _timeLimit] spawn FUNC(makeIED); }; } forEach _explosiveEntities; { if (!isNull _x) then { [_x, _taskID] spawn FUNC(makeObject); }; } forEach _protectedEntities; [_taskID, _limitFail, _limitSuccess, _companyFunds, _ratingFail, _ratingSuccess, _endSuccess, _endFail] spawn FUNC(defuse); deleteVehicle _logic;