#include "script_component.hpp" /* * Authors: Ruthberg * Updates the ammo and weapon class names * * Arguments: * unit * * Return Value: * Update successful? * * Example: * unit call ace_rangecard_fnc_updateClassNames * * Public: No */ private _unit = _this; private _ammoClass = ""; private _magazineClass = ""; private _weaponClass = primaryWeapon _unit; if (_weaponClass == "") exitWith { (GVAR(ammoClass) != "" && GVAR(magazineClass) != "" && GVAR(weaponClass) != "") }; { private _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); private _ammoConfig = (configFile >> "CfgAmmo" >> _ammo); private _parentClasses = [_ammoConfig, true] call BIS_fnc_returnParents; if ("BulletBase" in _parentClasses) exitWith { _ammoClass = _ammo; _magazineClass = _x; }; } forEach (primaryWeaponMagazine _unit); if (_ammoClass == "") exitWith { (GVAR(ammoClass) != "" && GVAR(magazineClass) != "" && GVAR(weaponClass) != "") }; if (_unit == ACE_player) then { GVAR(zeroRange) = [_unit] call EFUNC(scopes,getCurrentZeroRange); GVAR(boreHeight) = [_unit, 0] call EFUNC(scopes,getBoreHeight); GVAR(ammoClass) = _ammoClass; GVAR(magazineClass) = _magazineClass; GVAR(weaponClass) = _weaponClass; } else { GVAR(zeroRangeCopy) = [_unit] call EFUNC(scopes,getCurrentZeroRange); GVAR(boreHeightCopy) = [_unit, 0] call EFUNC(scopes,getBoreHeight); GVAR(ammoClassCopy) = _ammoClass; GVAR(magazineClassCopy) = _magazineClass; GVAR(weaponClassCopy) = _weaponClass; }; true