#include "..\script_component.hpp" /* * Author: commy2 * The player will select the specified weapon or will change to the next firing mode if the weapon was already selected. * * Arguments: * 0: Unit * 1: Weapon * * Return Value: * None * * Example: * [player, currentWeapon player] call ace_weaponselect_fnc_selectWeaponMode * * Public: No */ params ["_unit", "_weapon"]; if (_weapon == "" || {!(_unit hasWeapon _weapon)}) exitWith {}; private _currentWeaponMode = (_unit weaponState _weapon) select 2; private _muzzle = (_weapon call EFUNC(common,getWeaponMuzzles)) select 0; if (currentWeapon _unit != _weapon) exitWith { _unit selectWeapon [_weapon, _muzzle, _currentWeaponMode]; }; // Unlock safety if ((["ace_safemode"] call EFUNC(common,isModLoaded)) && {[_unit, _weapon] call EFUNC(safemode,getWeaponSafety)}) exitWith { [_unit, _weapon, false] call EFUNC(safemode,setWeaponSafety); }; private _modes = _weapon call EFUNC(common,getWeaponModes); _unit selectWeapon [_weapon, _muzzle, _modes select (((_modes find _currentWeaponMode) + 1) % (count _modes))]; // Play fire mode selector sound [_unit, _weapon] call FUNC(playChangeFiremodeSound);