ACE3/addons/reload/CfgVehicles.hpp
johnb432 8de0740e94
Reload - Add manual reload for vehicle weapons - continued (#9398)
* Add manual reload to turrets

* Added reload via reload keybind

* Update fnc_canSwapTurretMagazine.sqf

* Update fnc_canSwapTurretMagazine.sqf

* Update fnc_canSwapTurretMagazine.sqf

* Engine based reloading, added more checks

* Update addons/reload/functions/fnc_canSwapTurretMagazine.sqf

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

---------

Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-02-06 15:14:25 -08:00

93 lines
3.5 KiB
C++

class CfgVehicles {
class Man;
class CAManBase: Man {
class ACE_SelfActions {
class ACE_Equipment {
class GVAR(checkAmmo) {
displayName = CSTRING(checkAmmo);
condition = QUOTE(GVAR(showCheckAmmoSelf) && {_player call FUNC(canCheckAmmoSelf)});
statement = QUOTE(call FUNC(checkAmmo));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
};
};
};
class ACE_Actions {
class ACE_Weapon {
class GVAR(linkBelt) {
displayName = CSTRING(linkBelt);
distance = 2;
condition = QUOTE(([ARR_2(_player,_target)] call FUNC(getAmmoToLinkBelt)) > 0);
statement = QUOTE([ARR_2(_player,_target)] call FUNC(startLinkingBelt));
exceptions[] = {"isNotInside"};
};
class GVAR(checkAmmo) {
displayName = CSTRING(checkAmmo);
distance = 2;
condition = QUOTE(call FUNC(canCheckAmmo));
statement = QUOTE(call FUNC(checkAmmo));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
};
};
};
};
class LandVehicle;
class StaticWeapon: LandVehicle {
class ACE_Actions {
class ACE_MainActions {
class GVAR(checkAmmo) {
displayName = CSTRING(checkAmmo);
distance = 2;
condition = QUOTE(call FUNC(canCheckAmmo));
statement = QUOTE(call FUNC(checkAmmo));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
};
};
};
class ACE_SelfActions {
class GVAR(reloadTurret) {
displayName = "$STR_controls_tooltips_RELOAD_MAGAZINE";
condition = QUOTE(call FUNC(canSwapTurretMagazine));
statement = QUOTE(call FUNC(swapTurretMagazine));
icon = "\A3\ui_f\data\igui\cfg\simpletasks\types\rearm_ca.paa";
};
};
};
class Tank: LandVehicle {
class ACE_SelfActions {
class GVAR(reloadTurret) {
displayName = "$STR_controls_tooltips_RELOAD_MAGAZINE";
condition = QUOTE(call FUNC(canSwapTurretMagazine));
statement = QUOTE(call FUNC(swapTurretMagazine));
icon = "\A3\ui_f\data\igui\cfg\simpletasks\types\rearm_ca.paa";
};
};
};
class Car: LandVehicle {
class ACE_SelfActions {
class GVAR(reloadTurret) {
displayName = "$STR_controls_tooltips_RELOAD_MAGAZINE";
condition = QUOTE(call FUNC(canSwapTurretMagazine));
statement = QUOTE(call FUNC(swapTurretMagazine));
icon = "\A3\ui_f\data\igui\cfg\simpletasks\types\rearm_ca.paa";
};
};
};
class Air;
class Helicopter: Air {
class ACE_SelfActions {
class GVAR(reloadTurret) {
displayName = "$STR_controls_tooltips_RELOAD_MAGAZINE";
condition = QUOTE(call FUNC(canSwapTurretMagazine));
statement = QUOTE(call FUNC(swapTurretMagazine));
icon = "\A3\ui_f\data\igui\cfg\simpletasks\types\rearm_ca.paa";
};
};
};
};