ACE3/addons/mk6mortar/functions/fnc_mortarInit.sqf

47 lines
1.2 KiB
Plaintext
Raw Normal View History

2015-12-19 01:18:35 +00:00
/*
* 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"];
2015-12-19 01:18:35 +00:00
if (_mortar getVariable [QGVAR(initialized),false] || _mortar getVariable [QGVAR(exclude),false]) exitWith {TRACE_1("Exit",_mortar)};
2016-03-14 13:21:02 +00:00
if (!(_mortar turretLocal [0])) exitWith {TRACE_1("Exit - turret not local",_mortar)};
2015-12-19 01:18:35 +00:00
2016-03-14 13:21:02 +00:00
// Remove all magazines from turret
2015-12-19 01:18:35 +00:00
if (count magazines _mortar > 0) then {
2016-02-14 12:51:44 +00:00
{
2016-03-14 13:21:02 +00:00
_mortar removeMagazineTurret [_x,[0]];
2016-02-14 12:51:44 +00:00
} forEach magazines _mortar;
2015-12-19 01:18:35 +00:00
};
2016-03-14 13:21:02 +00:00
// Replace current turret weapon with ammo handling weapon
2016-02-14 12:51:44 +00:00
private _currentWeapon = _mortar weaponsTurret [0] select 0;
private _newWeapon = "";
2015-12-19 17:22:54 +00:00
2016-03-14 13:21:02 +00:00
if (tolower _currentWeapon == "mortar_82mm") then {
2016-02-14 12:51:44 +00:00
_newWeapon = "ace_mortar_82mm";
2015-12-19 17:22:54 +00:00
} else {
_newWeapon = getText (configFile >> "CfgWeapons" >> _currentWeapon >> QGVAR(replaceWith));
};
if (_newWeapon != "") then {
2016-03-14 13:21:02 +00:00
_mortar removeWeaponTurret [_currentWeapon,[0]];
_mortar addWeaponTurret [_newWeapon,[0]];
2015-12-19 01:18:35 +00:00
};
_mortar setVariable [QGVAR(initialized),true,true];
TRACE_1("Init complete",_mortar);