ACE3/addons/gunbag/CfgVehicles.hpp
mjc4wilton 7d4a2b07bb
Gunbag - Add weapon swapping (#7713)
* Gunbag Update

adds capability to swap a currently held primary weapon and the weapon current stored in the gunbag. Has a 1.5x time to complete compared to just adding or removing a weapon from the gunbag.

* Update stringtable.xml

* Update addons/gunbag/functions/fnc_swapWeapon.sqf

Update authors field to add credit to the original author of much of the changed code

Co-authored-by: Joko <hoffman.jonas95@gmail.com>

* Update addons/gunbag/functions/fnc_swapWeaponCallback.sqf

Update the virtual load in a more efficient way.

Co-authored-by: Joko <hoffman.jonas95@gmail.com>

* Update addons/gunbag/functions/fnc_swapWeaponCallback.sqf

Properly attribute author of majority of original code

Co-authored-by: Joko <hoffman.jonas95@gmail.com>

* Update stringtable.xml

* Update French translation

Co-authored-by: Elgin675 <elgin675@hotmail.com>

* Remove non-English translations

Leave translations open to translators

* Add CBA setting to enable weapon switching (Default false)

* Fixed variables and updated names for consistancy

* Convert from ACE Settings to CBA Settings

* Fix stringtable.xml indentation

* Update addons/gunbag/initSettings.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/initSettings.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/functions/fnc_swapGunbagCallback.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/functions/fnc_swapGunbag.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/functions/fnc_swapGunbagCallback.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/initSettings.sqf

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Update addons/gunbag/initSettings.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update initSettings.sqf

Change default value to true

* Update CfgVehicles.hpp

Co-authored-by: Joko <hoffman.jonas95@gmail.com>
Co-authored-by: Elgin675 <elgin675@hotmail.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2020-06-19 10:35:19 -05:00

109 lines
4.7 KiB
C++

class CfgVehicles {
class Man;
class CAManBase: Man {
class ACE_Actions {
class ACE_MainActions {
class GVAR(weaponTo) {
displayName = CSTRING(ToGunbag);
condition = QUOTE(([_target] call FUNC(hasGunbag)) && {[ARR_2(_player,_target)] call FUNC(canInteract) == 0});
statement = QUOTE([ARR_2(_player,_target)] call FUNC(toGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(weaponSwap) {
displayName = CSTRING(SwapGunbag);
condition = QUOTE((GVAR(swapGunbagEnabled)) && ([_target] call FUNC(hasGunbag)) && {[ARR_2(_player,_target)] call FUNC(canInteract) == 2});
statement = QUOTE([ARR_2(_player,_target)] call FUNC(swapGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(weaponOff) {
displayName = CSTRING(OffGunbag);
condition = QUOTE(([_target] call FUNC(hasGunbag)) && {[ARR_2(_player,_target)] call FUNC(canInteract) == 1});
statement = QUOTE([ARR_2(_player,_target)] call FUNC(offGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(status) {
displayName = CSTRING(Status);
condition = QUOTE([_target] call FUNC(hasGunbag));
statement = QUOTE([_target] call FUNC(status));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
};
};
class ACE_SelfActions {
class ACE_Equipment {
class GVAR(actions) {
displayName = CSTRING(Displayname);
condition = QUOTE([_player] call FUNC(hasGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
class GVAR(weaponTo) {
displayName = CSTRING(ToGunbag);
condition = QUOTE([ARR_2(_player,_player)] call FUNC(canInteract) == 0);
statement = QUOTE([ARR_2(_player,_player)] call FUNC(toGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(weaponSwap) {
displayName = CSTRING(SwapGunbag);
condition = QUOTE((GVAR(swapGunbagEnabled)) && ([ARR_2(_player,_player)] call FUNC(canInteract) == 2));
statement = QUOTE([ARR_2(_player,_player)] call FUNC(swapGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(weaponOff) {
displayName = CSTRING(OffGunbag);
condition = QUOTE([ARR_2(_player,_player)] call FUNC(canInteract) == 1);
statement = QUOTE([ARR_2(_player,_player)] call FUNC(offGunbag));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
class GVAR(status) {
displayName = CSTRING(Status);
condition = QUOTE([_player] call FUNC(hasGunbag));
statement = QUOTE([_player] call FUNC(status));
showDisabled = 0;
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
};
};
};
};
};
class Bag_Base;
class ADDON: Bag_Base {
_generalMacro = QUOTE(ADDON);
author = "Ir0n1E";
scope = 2;
displayName = CSTRING(Displayname);
model = QPATHTOF(data\ace_gunbag.p3d);
picture = QPATHTOF(ui\gunbag_ca.paa);
icon = QPATHTOF(ui\gunbag_icon_ca.paa);
hiddenSelections[] = {"Camo", "insignia"};
hiddenSelectionsTextures[] = {QPATHTOF(data\gunbag_co.paa)};
maximumLoad = 80;
mass = 11;
ADDON = 1;
};
class GVAR(Tan): ADDON {
_generalMacro = QGVAR(Tan);
author = "Ir0n1E";
displayName = CSTRING(Displayname_Tan);
picture = QPATHTOF(ui\gunbag_tan_ca.paa);
hiddenSelectionsTextures[] = {QPATHTOF(data\gunbag_tan_co.paa)};
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportBackpacks {
MACRO_ADDBACKPACK(ADDON,3);
MACRO_ADDBACKPACK(GVAR(Tan),3);
};
};
};