2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2015-05-08 16:43:26 +00:00
|
|
|
/*
|
|
|
|
* Author: Ruthberg
|
|
|
|
*
|
|
|
|
* Reads the weapon class config and updates the config cache
|
|
|
|
*
|
|
|
|
* Arguments:
|
2015-08-05 16:33:28 +00:00
|
|
|
* weapon - classname <STRING>
|
2015-05-08 16:43:26 +00:00
|
|
|
*
|
|
|
|
* Return Value:
|
2017-06-08 13:31:51 +00:00
|
|
|
* 0: _barrelTwist <NUMBER>
|
|
|
|
* 1: _twistDirection <NUMBER>
|
|
|
|
* 2: _barrelLength <NUMBER>
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* ["weapon"] call ace_advanced_ballistics_fnc_readWeaponDataFromConfig
|
2015-08-05 02:38:04 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
2015-05-08 16:43:26 +00:00
|
|
|
*/
|
|
|
|
|
2016-09-04 14:44:22 +00:00
|
|
|
private _weaponConfig = (configFile >> "CfgWeapons" >> _this);
|
2015-05-08 16:43:26 +00:00
|
|
|
|
2017-11-22 22:16:17 +00:00
|
|
|
private _barrelTwist = 0 max getNumber(_weaponConfig >> "ACE_barrelTwist");
|
2017-11-17 19:00:57 +00:00
|
|
|
private _twistDirection = [0, 1] select (_barrelTwist != 0);
|
2015-11-11 07:58:12 +00:00
|
|
|
if (isNumber (_weaponConfig >> "ACE_twistDirection")) then {
|
|
|
|
_twistDirection = getNumber (_weaponConfig >> "ACE_twistDirection");
|
|
|
|
if !(_twistDirection in [-1, 0, 1]) then {
|
|
|
|
_twistDirection = 1;
|
|
|
|
};
|
2015-05-08 16:43:26 +00:00
|
|
|
};
|
2015-08-05 16:33:28 +00:00
|
|
|
|
2017-11-22 22:16:17 +00:00
|
|
|
private _barrelLength = 0 max getNumber(_weaponConfig >> "ACE_barrelLength");
|
2015-05-08 16:43:26 +00:00
|
|
|
|
2016-09-04 14:44:22 +00:00
|
|
|
private _result = [_barrelTwist, _twistDirection, _barrelLength];
|
2015-05-08 16:43:26 +00:00
|
|
|
|
2017-05-14 19:48:05 +00:00
|
|
|
uiNamespace setVariable [format[QGVAR(%1), _this], _result];
|
2015-05-08 16:43:26 +00:00
|
|
|
|
|
|
|
_result
|