2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2015-02-19 10:32:41 +00:00
|
|
|
/*
|
|
|
|
* Author: Garth 'L-H' de Wet
|
|
|
|
* Performs the dial tones and detonation of explosive.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Unit to do dialing <OBJECT>
|
|
|
|
* 1: Index <NUMBER>
|
|
|
|
* 2: Dialing points <ARRAY>
|
|
|
|
* 3: IED code <STRING>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
2023-11-08 18:00:05 +00:00
|
|
|
* [ace_explosives_fnc_dialingPhone, 0.25, [_unit,4,_arr,_code]] call CBA_fnc_addPerFrameHandler;
|
2015-02-19 10:32:41 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
2015-08-15 19:35:33 +00:00
|
|
|
|
|
|
|
params ["_args", "_pfID"];
|
|
|
|
_args params ["_unit", "_i", "_arr", "_code"];
|
|
|
|
|
2015-02-19 10:32:41 +00:00
|
|
|
if ((_i mod 4) == 0) then {
|
2021-10-08 16:35:47 +00:00
|
|
|
private _pos = _unit modelToWorldVisualWorld (_unit selectionPosition "RightHand");
|
|
|
|
playSound3D [QUOTE(PATHTO_R(Data\Audio\DialTone.wss)), objNull, false, _pos, 5, 1, 5];
|
2015-02-19 10:32:41 +00:00
|
|
|
};
|
|
|
|
ctrlSetText [1400,format["Calling%1",_arr select (_i - 4)]];
|
2015-02-19 10:39:13 +00:00
|
|
|
|
2016-09-04 14:44:22 +00:00
|
|
|
private _explosive = [_code] call FUNC(getSpeedDialExplosive);
|
2015-02-19 10:39:13 +00:00
|
|
|
|
2015-02-19 10:32:41 +00:00
|
|
|
if (_i >= (count _arr + 2)) then {
|
2015-11-30 15:45:20 +00:00
|
|
|
[_pfID] call CALLSTACK(CBA_fnc_removePerFrameHandler);
|
2015-02-19 13:59:14 +00:00
|
|
|
if ((count _explosive) > 0) then {
|
2017-05-10 16:28:44 +00:00
|
|
|
[_unit, -1, [_explosive select 0, _explosive select 2], "ACE_Cellphone"] call FUNC(detonateExplosive);
|
2015-02-19 10:32:41 +00:00
|
|
|
};
|
|
|
|
_unit setVariable [QGVAR(Dialing), false, true];
|
|
|
|
if (_unit == ace_player) then {
|
|
|
|
ctrlSetText [1400,"Call Ended!"];
|
|
|
|
};
|
|
|
|
};
|
2022-09-10 18:02:53 +00:00
|
|
|
|
2015-02-19 10:32:41 +00:00
|
|
|
if (_i == (count _arr)) then {
|
2022-09-10 18:02:53 +00:00
|
|
|
if (
|
|
|
|
((count _explosive) > 0) &&
|
|
|
|
{[_unit, -1, (_explosive # 0), (_explosive # 2), "ACE_Cellphone"] call FUNC(checkDetonateHandlers)}
|
|
|
|
) then {
|
|
|
|
playSound3D [QUOTE(PATHTO_R(Data\Audio\Cellphone_Ring.wss)), objNull, false, (getPosASL (_explosive # 0)), 3.16228, 1, 75];
|
2015-02-19 10:32:41 +00:00
|
|
|
};
|
|
|
|
};
|
2022-09-10 18:02:53 +00:00
|
|
|
|
2015-08-15 19:35:33 +00:00
|
|
|
_args set [1, _i + 1];
|