ACE3/addons/common/functions/fnc_unmuteUnit.sqf
jonpas 742626ff1a
General - Relative script_component.hpp includes (#9378)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-09-12 20:58:10 +02:00

39 lines
940 B
Plaintext

#include "..\script_component.hpp"
/*
* Author: commy2
* Unmutes the unit. Only unmutes if the last reason was removed.
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Reason to unmute the unit. <STRING>
*
* Return Value:
* None
*
* Example:
* [bob, "because"] call ace_common_fnc_unmuteUnit
*
* Public: Yes
*/
params ["_unit", "_reason"];
if (isNull _unit) exitWith {};
// remove reason to mute to the unit
private _muteUnitReasons = _unit getVariable [QGVAR(muteUnitReasons), []];
if (_reason in _muteUnitReasons) then {
_muteUnitReasons deleteAt (_muteUnitReasons find _reason);
_unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true];
};
// don't unmute if there is another mute reason!
if (count _muteUnitReasons > 0) exitWith {};
private _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""];
if (_speaker == "") exitWith {};
[QGVAR(setSpeaker), [_unit, _speaker], _unit] call CBA_fnc_targetEvent;