mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
1b86063ade
* Initial commit
* Change order
* ace-ify functions
* Add function headers, tweak onPylonMirror function
* Finish localization
* Fix trivial idc collision
* Styling
* Add self as author
* Add interaction for the dialog
* Add settings to enable menu and change behaviour
* Add strings
* Move changes into pylons component
* Progress
* Only one function left!
* Fix issues with overlapping players, Use LINKFUNC
* Add progress bar
* I need to switch branches
* Remove old pylon weapons from aircraft
* Explicitly set new pylon's ammo to 0
* Replace magic numbers with ID list
* Align controls properly
* Remove space before eol
* Add ability to add/remove FRIES
* 🐛 Whoops
* Fix logic errors
* Value of 1 means helicopter has built-in FRIES
* Add pilot/gunner switch button
Working on those buttons also helped me improve both the static and
on-the-fly (pun intended) parts of the dialog.
* Add quick zeus module
* Add a way to retrieve scripted pylon turrets
Not entirely reliable, but if used in both rearm and pylons, missions
that only use ace will work perfectly.
* Use getNumber default
* Use common's getPylonTurret
* Make dialog close on apply for zeus
* Handle UI Scaling better
* Prevent progressBar from failing in zeus
* Remove unnecessary stringtable key
47 lines
2.0 KiB
Plaintext
47 lines
2.0 KiB
Plaintext
#include "script_component.hpp"
|
|
|
|
["ace_settingsInitialized", {
|
|
if (!GVAR(enabled)) exitWith {};
|
|
|
|
private _filter = "isClass (_x >> 'Components' >> 'TransportPylonsComponent') && {(getNumber (_x >> 'scope')) > 0}";
|
|
GVAR(aircraftWithPylons) = (_filter configClasses (configFile >> "CfgVehicles")) apply {configName _x};
|
|
{
|
|
[_x, "init", {
|
|
params ["_aircraft"];
|
|
|
|
private _loadoutAction = [
|
|
QGVAR(loadoutAction),
|
|
localize LSTRING(ConfigurePylons),
|
|
"",
|
|
{[_target] call FUNC(showDialog)},
|
|
{
|
|
private _vehicles = _target nearObjects ["LandVehicle", GVAR(searchDistance) + 10];
|
|
private _filter = ["transportAmmo", QEGVAR(rearm,defaultSupply)] select (["ace_rearm"] call EFUNC(common,isModLoaded));
|
|
private _rearmVehicles = {(getNumber (configFile >> "CfgVehicles" >> typeOf _x >> _filter)) > 0} count _vehicles;
|
|
|
|
(_rearmVehicles > 0 && {[ace_player, _target] call FUNC(canConfigurePylons)})
|
|
}
|
|
] call EFUNC(interact_menu,createAction);
|
|
|
|
[_aircraft, 0, ["ACE_MainActions"], _loadoutAction] call EFUNC(interact_menu,addActionToObject);
|
|
}, false, [], true] call CBA_fnc_addClassEventHandler;
|
|
} forEach GVAR(aircraftWithPylons);
|
|
|
|
[QGVAR(setPylonLoadOutEvent), {
|
|
params ["_aircraft", "_pylonIndex", "_pylon", "_turret"];
|
|
_aircraft setPylonLoadOut [_pylonIndex, _pylon, false, _turret];
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
[QGVAR(setAmmoOnPylonEvent), {
|
|
params ["_aircraft", "_pylonIndex", "_count"];
|
|
_aircraft setAmmoOnPylon [_pylonIndex, _count];
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
if (isServer) then {
|
|
GVAR(currentAircraftNamespace) = true call CBA_fnc_createNamespace;
|
|
publicVariable QGVAR(currentAircraftNamespace);
|
|
|
|
addMissionEventHandler ["HandleDisconnect", LINKFUNC(handleDisconnect)];
|
|
};
|
|
}] call CBA_fnc_addEventHandler;
|