ACE3/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf
BrettMayson 1e404cf85b
General - SQF Improvements (#9698)
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-04 14:50:24 -03:00

39 lines
1.0 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: Ruthberg
*
* Reads the weapon class config and updates the config cache
*
* Arguments:
* weapon - classname <STRING>
*
* Return Value:
* 0: _barrelTwist <NUMBER>
* 1: _twistDirection <NUMBER>
* 2: _barrelLength <NUMBER>
*
* Example:
* ["weapon"] call ace_advanced_ballistics_fnc_readWeaponDataFromConfig
*
* Public: No
*/
private _weaponConfig = (configFile >> "CfgWeapons" >> _this);
private _barrelTwist = 0 max getNumber(_weaponConfig >> "ACE_barrelTwist");
private _twistDirection = parseNumber (_barrelTwist != 0);
if (isNumber (_weaponConfig >> "ACE_twistDirection")) then {
_twistDirection = getNumber (_weaponConfig >> "ACE_twistDirection");
if !(_twistDirection in [-1, 0, 1]) then {
_twistDirection = 1;
};
};
private _barrelLength = 0 max getNumber(_weaponConfig >> "ACE_barrelLength");
private _result = [_barrelTwist, _twistDirection, _barrelLength];
uiNamespace setVariable [format[QGVAR(%1), _this], _result];
_result