Add arsenal zeus modules (#4576)

* 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
This commit is contained in:
Josuan Albin 2017-05-31 15:42:45 +02:00 committed by PabstMirror
parent cff86c35ba
commit 5dc8859984
6 changed files with 104 additions and 1 deletions

View File

@ -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);
};
};

View File

@ -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);

View File

@ -13,6 +13,8 @@ class CfgPatches {
QGVAR(moduleSearchNearby),
QGVAR(moduleSimulation),
QGVAR(moduleSuppressiveFire),
QGVAR(AddFullArsenal),
QGVAR(RemoveFullArsenal),
QGVAR(moduleTeleportPlayers)
};
weapons[] = {};

View File

@ -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;

View File

@ -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;

View File

@ -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">
@ -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>