Skip to content

Commit

Permalink
Add arsenal zeus modules (#4576)
Browse files Browse the repository at this point in the history
* Add zeus arsenal modules

* Add french strings to arsenal modules

* Fix typo in french string

* Make changes to fit review

* locality check, use showMessage, set categroy
  • Loading branch information
alganthe authored and PabstMirror committed May 31, 2017
1 parent cff86c3 commit 5dc8859
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 1 deletion.
12 changes: 12 additions & 0 deletions addons/zeus/CfgVehicles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -214,4 +214,16 @@ class CfgVehicles {
function = QFUNC(moduleUnconscious);
icon = QPATHTOF(UI\Icon_Module_Zeus_Unconscious_ca.paa);
};
class GVAR(AddFullArsenal): GVAR(moduleBase) {
curatorCanAttach = 1;
category = QGVAR(Utility);
displayName = CSTRING(moduleAddFullArsenal_displayName);
function = QFUNC(moduleAddArsenal);
};
class GVAR(RemoveFullArsenal): GVAR(moduleBase) {
curatorCanAttach = 1;
category = QGVAR(Utility);
displayName = CSTRING(moduleRemoveArsenal_displayName);
function = QFUNC(moduleRemoveArsenal);
};
};
2 changes: 2 additions & 0 deletions addons/zeus/XEH_PREP.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ PREP(bi_moduleProjectile);
PREP(bi_moduleRemoteControl);
PREP(getModuleDestination);
PREP(handleZeusUnitAssigned);
PREP(moduleAddArsenal);
PREP(moduleAddSpareTrack);
PREP(moduleAddSpareWheel);
PREP(moduleAddOrRemoveFRIES);
PREP(moduleCaptive);
PREP(moduleGlobalSetSkill);
PREP(moduleGroupSide);
PREP(moduleRemoveArsenal);
PREP(moduleSearchNearby);
PREP(moduleSetMedic);
PREP(moduleSetMedicalVehicle);
Expand Down
2 changes: 2 additions & 0 deletions addons/zeus/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ class CfgPatches {
QGVAR(moduleSearchNearby),
QGVAR(moduleSimulation),
QGVAR(moduleSuppressiveFire),
QGVAR(AddFullArsenal),
QGVAR(RemoveFullArsenal),
QGVAR(moduleTeleportPlayers)
};
weapons[] = {};
Expand Down
38 changes: 38 additions & 0 deletions addons/zeus/functions/fnc_moduleAddArsenal.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Author: alganthe
* Add a full arsenal to an object
*
* Arguments:
* 0: The module logic <OBJECT>
*
* Return Value:
* None
*
* Public: No
*/
#include "script_component.hpp"

params ["_logic"];
if (!local _logic) exitWith {};

private _object = attachedTo _logic;
TRACE_3("moduleAddArsenal",_logic,_object,typeOf _object);

switch (true) do {
case (isNull _object): {
[LSTRING(NothingSelected)] call FUNC(showMessage);
};
case (isPlayer _object): {
["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call FUNC(showMessage);
};
case (!alive _object): {
[LSTRING(OnlyAlive)] call FUNC(showMessage);
};
default {
TRACE_1("BIS_fnc_arsenal: AmmoboxInit",_object);
// Global Effects: "Action to access the Arsenal will be added automatically on all clients."
["AmmoboxInit", [_object, true]] call BIS_fnc_arsenal;
};
};

deleteVehicle _logic;
41 changes: 41 additions & 0 deletions addons/zeus/functions/fnc_moduleRemoveArsenal.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* Author: alganthe
* Remove arsenal from an object
*
* Arguments:
* 0: The module logic <OBJECT>
*
* Return Value:
* None
*
* Public: No
*/

#include "script_component.hpp"

params ["_logic"];
if (!local _logic) exitWith {};

private _object = attachedTo _logic;
TRACE_3("moduleRemoveArsenal",_logic,_object,typeOf _object);

switch (true) do {
case (isNull _object): {
[LSTRING(NothingSelected)] call FUNC(showMessage);
};
case (isPlayer _object): {
["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call FUNC(showMessage);
};
case (!alive _object): {
[LSTRING(OnlyAlive)] call FUNC(showMessage);
};
default {
TRACE_1("Calling removeVirtualXXXCargo functions",_object);
[_object, (_object call BIS_fnc_getVirtualItemCargo), true] call BIS_fnc_removeVirtualItemCargo;
[_object, (_object call BIS_fnc_getVirtualWeaponCargo), true] call BIS_fnc_removeVirtualWeaponCargo;
[_object, (_object call BIS_fnc_getVirtualMagazineCargo), true] call BIS_fnc_removeVirtualMagazineCargo;
[_object, (_object call BIS_fnc_getVirtualBackpackCargo), true] call BIS_fnc_removeVirtualBackpackCargo;
};
};

deleteVehicle _logic;
10 changes: 9 additions & 1 deletion addons/zeus/stringtable.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Zeus">
<Key ID="STR_ACE_Zeus_Settings_DisplayName">
Expand Down Expand Up @@ -866,5 +866,13 @@
<English>Suppressive Fire</English>
<Italian>Fuoco di Soppressione</Italian>
</Key>
<Key ID="STR_ACE_Zeus_moduleAddFullArsenal_displayName">
<English>Add full arsenal to object</English>
<French>Ajouter arsenal complet à l'objet</French>
</Key>
<Key ID="STR_ACE_Zeus_moduleRemoveArsenal_displayName">
<English>Remove arsenal from object</English>
<French>Retirer arsenal de l'objet</French>
</Key>
</Package>
</Project>

0 comments on commit 5dc8859

Please sign in to comment.