ACE3/addons/mk6mortar/functions/fnc_mortarInit.sqf
2016-02-14 13:51:44 +01:00

46 lines
1.1 KiB
Plaintext

/*
* Author: VKing
* Initializes mortar for use with ammunition handling magazines.
*
* Arguments:
* 0: Mortar <OBJECT>
*
* Return Value:
* None
*
* Example:
* [mortar1] call ace_mk6mortar_fnc_mortarInit
*
* Public: No
*/
#include "script_component.hpp"
params ["_mortar"];
if (_mortar getVariable [QGVAR(initialized),false] || _mortar getVariable [QGVAR(exclude),false]) exitWith {TRACE_1("Exit",_mortar)};
// Remove all magazines
if (count magazines _mortar > 0) then {
{
[QGVAR(removeMagazine), [_mortar, _x]] call EFUNC(common,globalEvent);
} forEach magazines _mortar;
};
// Replace current weapon with ammo handling weapon
private _currentWeapon = _mortar weaponsTurret [0] select 0;
private _newWeapon = "";
if (_currentWeapon == "mortar_82mm") then {
_newWeapon = "ace_mortar_82mm";
} else {
_newWeapon = getText (configFile >> "CfgWeapons" >> _currentWeapon >> QGVAR(replaceWith));
};
if (_newWeapon != "") then {
_mortar removeWeaponGlobal _currentWeapon;
_mortar addWeaponGlobal _newWeapon;
};
_mortar setVariable [QGVAR(initialized),true,true];
TRACE_1("Init complete",_mortar);