Skip to content

Commit ab6f8bd

Browse files
authored
1.6.11.0 (#38)
* 1.6.11.0
1 parent 1395f93 commit ab6f8bd

28 files changed

+379
-498
lines changed

CHANGELOG.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# Changelog for Zeus Additions 27.9.2025
2+
3+
1.6.11.0
4+
- Fixed paradrop module not selecting units.
5+
- Added "Assemble Static Weapon" context menu option that makes AI set up static weapons.
6+
- Removed "ACE Drag Bodies" module, as Zeus Additions now requires ACE 3.18.0, ACE having added native body dragging.
7+
18
# Changelog for Zeus Additions 9.2.2025
29

310
1.6.10.0
@@ -9,7 +16,7 @@
916
- Updated to use 2.18 commands.
1017
- Raised limit for automatic parachute deployment from 100 m to 150 m.
1118
- Updated to support ACE 3.18.0
12-
- Fixed bug with VBIED where vehicle could blow up numerous time in rapid succession.
19+
- Fixed bug with VBIED where vehicle could blow up numerous times in rapid succession.
1320

1421
# Changelog for Zeus Additions 6.5.2024
1522

@@ -64,7 +71,7 @@
6471
1.6.3.13
6572
- Added support for 2.12.
6673
- Changed "Remote Control (Switch Unit)" module method of going back into Zeus from pressing getting into the pause menu to pressing the Zeus interface keybind.
67-
- Unconscious and create injuries module doesn't notify players anymore.
74+
- Unconscious and create injuries modules don't notify players anymore.
6875
- Fixed numerous bugs.
6976

7077
# Changelog for Zeus Additions 26.11.2022

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
<h2>Modules</h2>
44

55
* **ACE Drag and Carry:** Allows the Zeus to set object to be ACE draggable and carriable. The module can also set whether weight limits should be respected when trying to drag or carry the selected object.
6-
* **ACE Drag Bodies:** Hidden if you have ACE 3.18.0 loaded, as it's part of ACE 3.18.0. Allows the Zeus to give players the option to drag corpses.
76
* **ACE Medical Injuries:** Allows the Zeus to create ACE Medical injuries on AI or players, either dead or alive. Also can create random wounds, taking a damage value and type you are able to set. Random damage can only be applied to a living unit.
87
* **ACE Medical Resupply:** Spawns an ACE medical resupply. If the module is placed on an object, it can put the resupply in the inventory of the object and clear out the inventory prior to that if wanted.
98
* **AI Crew Behaviour:** Can prevent AI from dismounting in combat and also when their vehicle is immobilized. Allows the Zeus to change if AI can turn out or not.
@@ -51,14 +50,18 @@ Inputs are arrays of strings.
5150
* **Enable ACE Medical missing addon hint:** If enabled, it will hint if ACE Medical is missing.
5251
* **Enable TFAR missing addon hint:** If enabled, it will hint if TFAR is missing.
5352
* **Enable RHS missing addon hint:** If enabled, it will hint if RHS is missing.
54-
* **Enable JIP features:** If enabled, it will add JIP functionality to the server, if the player is a curator.
5553
* **Enable Building Destruction handling:** If enabled, it will make floating objects near a building upon destruction fall to the ground.
5654
* **Enable Mission Object Counter:** This will only work if the player is a curator. If enabled, it will count what you have placed down as a curator. If disabled, it will remove the counter, but not reset it.
5755

5856
This mod also adds:
5957
- the ability to drag dead corpses as Zeus. In order to do so, you must be in the map screen.
6058
- gravity to objects that don't have gravity, when a building is destroyed. This must be enabled in the CBA settings.
6159

60+
<h2>CBA Keybinds</h2>
61+
62+
* **Deep Copy** (default: **Ctrl-Alt-C**): Identical as ZEN's Deep Copy, but additionally copies AI features (e.g. pathing, FSM, etc.).
63+
* **Deep Paste** (default: **Ctrl-Alt-V**): Identical as ZEN's Deep Paste, but places units under the cursor instead.
64+
6265
<h2>How to - Spawn Ammo Resupply</h2>
6366

6467
* Select initial option in the first window. If you cancel in the first window, it will not open up the second one.
@@ -74,7 +77,7 @@ This mod also adds:
7477
* "Control" + "shift" modifies the amount by 50.
7578
* When you press ok, it will spawn the magazines.
7679

77-
<h2>JIP & Building destruction features</h2>
80+
<h2>Building destruction feature</h2>
7881

7982
Only 1 client needs it to be enabled for it to be added to the server. If multiple clients have Zeus Additions and one or more have it turned on but the others not, the feature will still be enabled.
8083

README_steam.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
[h2]Modules[/h2]
44
[list]
55
[*] ACE Drag and Carry
6-
[*] ACE Drag Bodies (hidden if you're using ACE 3.18.0 as it's now native to ACE)
76
[*] ACE Medical Injuries
87
[*] ACE Medical Resupply
98
[*] AI Crew Behaviour
@@ -52,6 +51,14 @@ This mod also adds:
5251
[*] gravity to objects that don't have gravity, when a building is destroyed. This must be enabled in the CBA settings.
5352
[/list]
5453

54+
[h2]CBA Keybinds[/h2]
55+
[list]
56+
[*] Deep Copy (default: [b]Ctrl-Alt-C[/b])
57+
[*] Deep Paste (default: [b]Ctrl-Alt-V[/b])
58+
[/list]
59+
60+
For more detailed information on the keybinds and what they do, click [url=https://github.com/johnb432/Zeus-Additions#readme]here[/url].
61+
5562
[h2]Links[/h2]
5663
[list]
5764
[*] [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2387297579]Steam Workshop[/url]

addons/main/CfgContext.hpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ class zen_context_menu_actions {
1717
statement = QUOTE([ARR_2(_objects,'enableAI')] call FUNC(pathingStatement));
1818
};
1919

20+
class GVAR(assembleStaticWeapon) {
21+
condition = QUOTE(true);
22+
displayName = CSTRING(assembleStaticWeapon);
23+
icon = "\A3\ui_f\data\map\vehicleicons\iconStaticMG_ca.paa";
24+
insertChildren = QUOTE([_objects] call FUNC(assembleStaticWeaponActions));
25+
priority = 50;
26+
};
27+
2028
#if __has_include("\z\ace\addons\medical_gui\script_component.hpp")
2129
class GVAR(openMedicalMenuContextMenu) {
2230
condition = QUOTE(_hoveredEntity isEqualType objNull && {private _object = ([ARR_2(_hoveredEntity,effectiveCommander _hoveredEntity)] select (alive _hoveredEntity)); _object isKindOf 'CAManBase' && {[ARR_2(objNull,_object)] call ace_medical_gui_fnc_canOpenMenu}});
@@ -28,7 +36,7 @@ class zen_context_menu_actions {
2836
#endif
2937

3038
class GVAR(selectParadropContextMenu) {
31-
condition = QUOTE(private _object = objNull; (_objects select {alive _x}) findIf {_object = _x; [ARR_4('LandVehicle','Ship','CAManBase','Thing')] findIf {_object isKindOf _x} != -1} != -1);
39+
condition = QUOTE((_objects select {alive _x}) findIf {private _object = _x; [ARR_4('LandVehicle','Ship','CAManBase','Thing')] findIf {_object isKindOf _x} != -1} != -1);
3240
displayName = CSTRING(selectParadropContextMenu);
3341
icon = ICON_PARADROP;
3442
priority = 10;
@@ -41,7 +49,7 @@ class zen_context_menu_actions {
4149
};
4250

4351
class GVAR(selectParadropVehiclesContextMenu) {
44-
condition = QUOTE(private _object = objNull; (_objects select {alive _x}) findIf {_object = _x; [ARR_2('LandVehicle','Ship')] findIf {_object isKindOf _x} != -1} != -1);
52+
condition = QUOTE((_objects select {alive _x}) findIf {private _object = _x; [ARR_2('LandVehicle','Ship')] findIf {_object isKindOf _x} != -1} != -1);
4553
displayName = CSTRING(selectParadropVehiclesContextMenu);
4654
icon = ICON_PARADROP;
4755
statement = QUOTE([ARR_2(_objects,PARADROP_VEHICLES)] call FUNC(unitParadropContextMenu));

addons/main/CfgVersioning.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ class CfgSettings {
33
class Versioning {
44
class PREFIX {
55
class Dependencies {
6-
ACE[] = {"ace_main", {3, 16, 2}, QUOTE(isClass (configFile >> 'CfgPatches' >> 'ace_main'))};
6+
ACE[] = {"ace_main", {3, 18, 0}, QUOTE(isClass (configFile >> 'CfgPatches' >> 'ace_main'))};
77
CBA[] = {"cba_main", {3, 16, 0}, "true"};
88
ZEN[] = {"zen_main", {1, 14, 0}, "true"};
99
};

addons/main/XEH_PREP.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
PREP(assembleStaticWeapon);
2+
PREP(assembleStaticWeaponActions);
13
PREP(compileSanitisedFunction);
24
PREP(getRole);
35
PREP(globalEventJIP);

addons/main/XEH_postInit.sqf

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ if (isNil QGVAR(functionsSent)) then {
1010

1111
if (!hasInterface) exitWith {};
1212

13+
#include "initKeybinds.inc.sqf"
14+
1315
// Add mission counter only if player is curator; However, check every time the zeus interface is opened
1416
["zen_curatorDisplayLoaded", {
1517
// Wait until CBA settings have been initialised
@@ -24,11 +26,6 @@ if (!hasInterface) exitWith {};
2426
if (GETMVAR("CBA_settings_ready",false)) then {
2527
[QGVAR(buildingDestruction), getPlayerUID player, GVAR(enableBuildingDestructionHandling), QFUNC(handleBuildingDestruction)] call FUNC(changeReason);
2628
};
27-
28-
// Add Drag Bodies module
29-
if (!isNil "ace_dragging" && {getNumber (_cfgPatches >> "ace_main" >> "version") < 3.18}) then {
30-
#include "modules\module_dragBodies.inc.sqf"
31-
};
3229
}] call CBA_fnc_addEventHandlerArgs;
3330

3431
// Add functionality
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#include "..\script_component.hpp"
2+
/*
3+
* Author: johnb43
4+
* Makes two units assemble a static weapon.
5+
*
6+
* Arguments:
7+
* 0: Tripod unit and associated backpack <ARRAY>
8+
* 1: Weapon unit and associated backpack <ARRAY>
9+
*
10+
* Return Value:
11+
* None
12+
*
13+
* Example:
14+
* [[player, backpackContainer player], [cursorObject, backpackContainer cursorObject]] call zeus_additions_main_fnc_assembleStaticWeapon;
15+
*
16+
* Public: No
17+
*/
18+
19+
params ["_base", "_weapon"];
20+
_base params ["_baseUnit", "_baseBackpack"];
21+
_weapon params ["_weaponUnit"];
22+
23+
[[_baseUnit, _weaponUnit], {
24+
params ["_successful", "_units", "_position", "_baseBackpack"];
25+
26+
if (!_successful) exitWith {};
27+
28+
_units doMove ASLToATL _position;
29+
30+
[{
31+
params ["_args", "_pfhId"];
32+
_args params ["_baseUnit", "_weaponUnit", "_baseBackpack"];
33+
34+
if (!alive _baseUnit || {!alive _weaponUnit} || {isNull _baseBackpack}) exitWith {
35+
_pfhId call CBA_fnc_removePerFrameHandler;
36+
};
37+
38+
if !(moveToCompleted _baseUnit || {moveToCompleted _weaponUnit}) exitWith {};
39+
40+
_pfhId call CBA_fnc_removePerFrameHandler;
41+
42+
// Drop base on ground
43+
_baseUnit action ["PutBag"];
44+
45+
[{
46+
(_this select 0) action ["Assemble", _this select 1];
47+
}, [_weaponUnit, _baseBackpack], 1] call CBA_fnc_waitAndExecute;
48+
}, 0, [_units select 0, _units select 1, _baseBackpack]] call CBA_fnc_addPerFrameHandler;
49+
}, _baseBackpack, LSTRING(assembleStaticWeaponHere)] call zen_common_fnc_selectPosition;
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#include "..\script_component.hpp"
2+
/*
3+
* Author: johnb43
4+
* Returns children actions for assembling static weapons.
5+
*
6+
* Arguments:
7+
* 0: Objects <OBJECT>
8+
*
9+
* Return Value:
10+
* Actions <ARRAY>
11+
*
12+
* Example:
13+
* [units cursorObject] call zeus_additions_main_fnc_assembleStaticWeaponActions;
14+
*
15+
* Public: No
16+
*/
17+
18+
params ["_objects"];
19+
20+
// Get all backpacks that can be used to assemble a static weapon
21+
private _unitBackpacks = [];
22+
23+
{
24+
private _backpack = backpackContainer _x;
25+
26+
if (!isNull _backpack && {!isNull (configOf _backpack >> "assembleInfo")}) then {
27+
_unitBackpacks pushBack [_x, backpackContainer _x];
28+
};
29+
} forEach (_objects select {alive _x && {_x isKindOf "CAManBase"}});
30+
31+
private _validPairs = [];
32+
33+
// Check if there are any other units that have valid backpacks
34+
{
35+
_x params ["_unit", "_backpack"];
36+
37+
private _backpackType = typeOf _backpack;
38+
39+
{
40+
if (((getArray (configOf (_x select 1) >> "assembleInfo" >> "base")) findIf {_backpackType == _x}) != -1) then {
41+
_validPairs pushBack [[_unit, _backpack], _x];
42+
};
43+
} forEach _unitBackpacks;
44+
} forEach _unitBackpacks;
45+
46+
private _cfgVehicles = configFile >> "CfgVehicles";
47+
48+
_validPairs apply {
49+
_x params ["", "_weapon"];
50+
51+
private _staticConfig = _cfgVehicles >> getText (configOf (_weapon select 1) >> "assembleInfo" >> "assembleTo");
52+
53+
[
54+
[
55+
hashValue (_weapon select 1),
56+
getText (_staticConfig >> "displayName"),
57+
getText (_staticConfig >> "picture"),
58+
{
59+
_args call FUNC(assembleStaticWeapon);
60+
},
61+
{true},
62+
_x
63+
] call zen_context_menu_fnc_createAction,
64+
[],
65+
0
66+
]
67+
} // return

addons/main/functions/fnc_compileSanitisedFunction.sqf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* None
1414
*
1515
* Example:
16-
* ["x\zeus_additions\addons\main\functions\fnc_compileSanitisedFunction.sqf", "zeus_additions_main_fnc_compileSanitisedFunction"] call zeus_additions_main_fnc_compileSanitisedFunction
16+
* ["x\zeus_additions\addons\main\functions\fnc_compileSanitisedFunction.sqf", "zeus_additions_main_fnc_compileSanitisedFunction"] call zeus_additions_main_fnc_compileSanitisedFunction;
1717
*
1818
* Public: No
1919
*/

0 commit comments

Comments
 (0)