Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add arsenal zeus modules #4576

Merged
merged 6 commits into from
May 31, 2017
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions addons/zeus/CfgVehicles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,4 +174,14 @@ class CfgVehicles {
function = QFUNC(moduleUnconscious);
icon = QPATHTOF(UI\Icon_Module_Zeus_Unconscious_ca.paa);
};
class GVAR(AddFullArsenal): GVAR(moduleBase) {
curatorCanAttach = 1;
displayName = CSTRING(moduleAddFullArsenal_displayName);
function = QFUNC(moduleAddArsenal);
};
class GVAR(RemoveFullArsenal): GVAR(moduleBase) {
curatorCanAttach = 1;
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 @@ -5,11 +5,13 @@ PREP(bi_moduleMine);
PREP(bi_moduleProjectile);
PREP(bi_moduleRemoteControl);
PREP(handleZeusUnitAssigned);
PREP(moduleAddArsenal);
PREP(moduleAddSpareTrack);
PREP(moduleAddSpareWheel);
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 @@ -10,6 +10,8 @@ class CfgPatches {
QGVAR(modulePatrolArea),
QGVAR(moduleSearchArea),
QGVAR(moduleSearchNearby),
QGVAR(AddFullArsenal),
QGVAR(RemoveFullArsenal),
QGVAR(moduleTeleportPlayers)
};
weapons[] = {};
Expand Down
43 changes: 43 additions & 0 deletions addons/zeus/functions/fnc_moduleAddArsenal.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* 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"];

private _object = attachedTo _logic;

scopeName "Main";
private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
breakOut "Main";
};

if !(isNull _object) then {
switch (false) do {
case !(isPlayer _object): {
[LSTRING(OnlyNonPlayer)] call _fnc_errorAndClose;
};
case (alive _object): {
[LSTRING(OnlyAlive)] call _fnc_errorAndClose;
};
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could this be changed to switch (true)? It already inverts the isPlayer.
Same below

} else {
deleteVehicle _logic;
};

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

#include "script_component.hpp"

params ["_logic"];

private _object = attachedTo _logic;

scopeName "Main";
private _fnc_errorAndClose = {
params ["_msg"];
_display closeDisplay 0;
deleteVehicle _logic;
[_msg] call EFUNC(common,displayTextStructured);
breakOut "Main";
};

if !(isNull _object) then {
switch (false) do {
case !(isPlayer _object): {
[LSTRING(OnlyNonPlayer)] call _fnc_errorAndClose;
};
case (alive _object): {
[LSTRING(OnlyAlive)] call _fnc_errorAndClose;
};
};
} else {
deleteVehicle _logic;
};

[ _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
Expand Up @@ -664,5 +664,13 @@
<Japanese>無効な半径が入力されました</Japanese>
<Polish>Wpisano nieprawidłowy promień</Polish>
</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'object</French>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cough, cough

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

woops, I didn't save in tabler after I fixed that 👍

</Key>
</Package>
</Project>
</Project>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

newline at EOF please.