/* * Authors: Ruthberg * Updates the ammo and weapon class names * * Arguments: * unit * * Return Value: * Update successful? * * Example: * unit call ace_rangecard_fnc_updateClassNames * * Public: No */ #include "script_component.hpp" private ["_unit", "_ammoClass", "_magazineClass", "_weaponClass", "_ammo", "_ammoConfig", "_parentClasses"]; _unit = _this; _ammoClass = ""; _magazineClass = ""; _weaponClass = primaryWeapon _unit; if (_weaponClass == "") exitWith { (GVAR(ammoClass) != "" && GVAR(magazineClass) != "" && GVAR(weaponClass) != "") }; { _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); _ammoConfig = (configFile >> "CfgAmmo" >> _ammo); _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(ammoClass) = _ammoClass; GVAR(magazineClass) = _magazineClass; GVAR(weaponClass) = _weaponClass; } else { GVAR(ammoClassCopy) = _ammoClass; GVAR(magazineClassCopy) = _magazineClass; GVAR(weaponClassCopy) = _weaponClass; }; true