client/addons/task/functions/fnc_defuseModule.sqf
Jacob Schmidt d474b3676a
All checks were successful
Build / Build (push) Successful in 28s
Refactor: Standardize function descriptions and variable handling
This commit refactors several client-side functions to improve code consistency and readability.

- Standardizes function descriptions by removing redundant "Function: forge_client..." prefixes and "[Description]" sections, focusing on concise descriptions of the function's purpose.
- Updates variable handling in arsenal functions to use GVAR and EGVARS for default values, improving consistency and reducing code duplication.
- Removes the bank init function as it is no longer needed.
- Adds a done variable to the preinit file.
2025-05-25 11:30:26 -05:00

63 lines
2.3 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: IDSolutions
* Initializes the defuse module
*
* Arguments:
* 0: Logic <OBJECT> - The logic object
* 1: Units <ARRAY> - The array of units
* 2: Activated <BOOL> - 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;