2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2016-11-08 13:47:12 +00:00
|
|
|
/*
|
|
|
|
* Author: Ruthberg
|
|
|
|
* Gets the zero range of the currently used optic
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Unit <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
2016-12-01 20:20:51 +00:00
|
|
|
* current zero range <NUMBER>
|
2016-11-08 13:47:12 +00:00
|
|
|
*
|
|
|
|
* Example:
|
2016-12-01 20:20:51 +00:00
|
|
|
* [player] call ace_scopes_fnc_getCurrentZeroRange
|
2016-11-08 13:47:12 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_unit"];
|
|
|
|
|
2024-06-18 14:08:03 +00:00
|
|
|
if (!GVAR(enabled)) exitWith {currentZeroing _unit};
|
2016-11-08 16:51:55 +00:00
|
|
|
|
2016-11-08 13:47:12 +00:00
|
|
|
private _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex);
|
2016-11-08 16:51:55 +00:00
|
|
|
if (_weaponIndex < 0) exitWith { currentZeroing _unit };
|
2017-11-29 10:38:19 +00:00
|
|
|
if (GVAR(simplifiedZeroing)) exitWith {
|
2024-06-18 14:08:03 +00:00
|
|
|
if !(GVAR(canAdjustElevation) select _weaponIndex) exitWith {currentZeroing _unit};
|
2017-11-29 10:38:19 +00:00
|
|
|
private _adjustment = _unit getVariable [QGVAR(Adjustment), [[0, 0, 0], [0, 0, 0], [0, 0, 0]]];
|
|
|
|
((_adjustment select _weaponIndex) select 0)
|
|
|
|
};
|
2016-11-08 13:47:12 +00:00
|
|
|
|
|
|
|
private _optic = GVAR(Optics) select _weaponIndex;
|
2016-11-16 11:25:21 +00:00
|
|
|
private _opticConfig = if (_optic != "") then {
|
|
|
|
(configFile >> "CfgWeapons" >> _optic)
|
|
|
|
} else {
|
|
|
|
(configFile >> "CfgWeapons" >> (GVAR(Guns) select _weaponIndex))
|
|
|
|
};
|
2016-11-08 13:47:12 +00:00
|
|
|
|
|
|
|
private _zeroRange = currentZeroing _unit;
|
2016-11-16 11:55:43 +00:00
|
|
|
if (GVAR(overwriteZeroRange) && {GVAR(canAdjustElevation) select _weaponIndex}) then {
|
2016-11-08 13:47:12 +00:00
|
|
|
_zeroRange = GVAR(defaultZeroRange);
|
|
|
|
};
|
|
|
|
if (isNumber (_opticConfig >> "ACE_ScopeZeroRange")) then {
|
|
|
|
_zeroRange = getNumber(_opticConfig >> "ACE_ScopeZeroRange");
|
|
|
|
};
|
|
|
|
|
|
|
|
_zeroRange
|