diff --git a/addons/common/functions/fnc_readSettingFromModule.sqf b/addons/common/functions/fnc_readSettingFromModule.sqf
index c92bb4ab94..518df8ed43 100644
--- a/addons/common/functions/fnc_readSettingFromModule.sqf
+++ b/addons/common/functions/fnc_readSettingFromModule.sqf
@@ -24,4 +24,4 @@ if (isNil {_logic getVariable _moduleVariable}) exitWith {
 };
 
 // Set the setting globally and force it
-[_settingName, _logic getVariable _moduleVariable, true, true] call FUNC(setSetting);
+[_settingName, _logic getVariable _moduleVariable, true, true] call FUNC(setSetting);
\ No newline at end of file
diff --git a/addons/zeus/CfgFactionClasses.hpp b/addons/zeus/CfgFactionClasses.hpp
new file mode 100644
index 0000000000..5d4fe23018
--- /dev/null
+++ b/addons/zeus/CfgFactionClasses.hpp
@@ -0,0 +1,6 @@
+class CfgFactionClasses {
+    class NO_CATEGORY;
+    class ADDON: NO_CATEGORY {
+        displayName = "ACE Zeus";
+    };
+};
\ No newline at end of file
diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp
new file mode 100644
index 0000000000..41289e44db
--- /dev/null
+++ b/addons/zeus/CfgVehicles.hpp
@@ -0,0 +1,80 @@
+class CfgVehicles {
+    class Module_F;
+    class ModuleEmpty_F;
+    class ACE_Module;
+
+    class GVAR(moduleZeusSettings): ACE_Module {
+        scope = 2;
+        displayName = "Zeus Settings [ACE]";
+        icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa));
+        category = "ACE_zeus";
+        function = QUOTE(DFUNC(moduleZeusSettings));
+        functionPriority = 1;
+        isGlobal = 1;
+        isTriggerActivated = 0;
+        author = "SilentSpike";
+        class Arguments {
+            class zeusAscension {
+                displayName = "Enable Ascension Messages";
+                description = "Display a global popup message when a player is assigned as Zeus.";
+                typeName = "BOOL";
+                defaultValue = 1;
+            };
+            class zeusBird {
+                displayName = "Enable Eagle";
+                description = "Spawn an eagle that follows the Zeus camera.";
+                typeName = "BOOL";
+                defaultValue = 1;
+            };
+            class radioOrdnance {
+                displayName = "Ordnance Radio Warning";
+                description = "Play a radio warning when Zeus uses ordnance.";
+                typeName = "BOOL";
+                defaultValue = 1;
+            };
+            class revealMines {
+                displayName = "Reveal Mines";
+                description = "Do you want to reveal mines placed by Zeus?";
+                typeName = "NUMBER";
+                class values {
+                    class disable {
+                        name = "Disabled";
+                        value = 0;
+                    };
+                    class partial {
+                        name = "Reveal to sides friendly with Zeus unit";
+                        value = 1;
+                    };
+                    class full  {
+                        name = "Add map markers and reveal to sides friendly with Zeus unit";
+                        value = 2;
+                        default = 1;
+                    };
+                };
+            };
+            class remoteWind {
+                displayName = "Reveal Remote Control";
+                description = "Play a wind sound when Zeus remote controls a unit.";
+                typeName = "BOOL";
+                defaultValue = 1;
+            };
+        };
+        class ModuleDescription {
+            description = "Provides control over various aspects of Zeus.";
+            sync[] = {};
+        };
+    };
+
+    class ModuleCurator_F: Module_F {
+        function = QUOTE(DFUNC(bi_moduleCurator));
+    };
+    class ModuleMine_F: ModuleEmpty_F {
+        function = QUOTE(DFUNC(bi_moduleMine));
+    };
+    class ModuleOrdnance_F: Module_F {
+        function = QUOTE(DFUNC(bi_moduleProjectile));
+    };
+    class ModuleRemoteControl_F: Module_F {
+        function = QUOTE(DFUNC(bi_moduleRemoteControl));
+    };
+};
\ No newline at end of file
diff --git a/addons/zeus/XEH_preInit.sqf b/addons/zeus/XEH_preInit.sqf
index 726f6923b3..e7bb1b96a5 100644
--- a/addons/zeus/XEH_preInit.sqf
+++ b/addons/zeus/XEH_preInit.sqf
@@ -6,5 +6,6 @@ PREP(bi_moduleCurator);
 PREP(bi_moduleMine);
 PREP(bi_moduleProjectile);
 PREP(bi_moduleRemoteControl);
+PREP(moduleZeusSettings);
 
 ADDON = true;
diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp
index 3da43d935e..e469ae7aaa 100644
--- a/addons/zeus/config.cpp
+++ b/addons/zeus/config.cpp
@@ -5,7 +5,7 @@ class CfgPatches {
         units[] = {};
         weapons[] = {};
         requiredVersion = REQUIRED_VERSION;
-        requiredAddons[] = {"ace_common"};
+        requiredAddons[] = {"ace_common","ace_modules"};
         author[] = {"SilentSpike"};
         authorUrl = "https://github.com/SilentSpike";
         VERSION_CONFIG;
@@ -13,20 +13,5 @@ class CfgPatches {
 };
 
 #include "CfgEventHandlers.hpp"
-
-class CfgVehicles {
-    class Module_F;
-    class ModuleEmpty_F;
-    class ModuleCurator_F: Module_F {
-        function = QUOTE(FUNC(bi_moduleCurator));
-    };
-    class ModuleMine_F: ModuleEmpty_F {
-        function = QUOTE(FUNC(bi_moduleMine));
-    };
-    class ModuleOrdnance_F: Module_F {
-        function = QUOTE(FUNC(bi_moduleProjectile));
-    };
-    class ModuleRemoteControl_F: Module_F {
-        function = QUOTE(FUNC(bi_moduleRemoteControl));
-    };
-};
\ No newline at end of file
+#include "CfgFactionClasses.hpp"
+#include "CfgVehicles.hpp"
\ No newline at end of file
diff --git a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf
index afb3f6e4bc..fbae16e00d 100644
--- a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf
+++ b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf
@@ -2,7 +2,7 @@
  * Author: Bohemia Interactive
  * Module function for spawning projectiles
  * Used by Curator artillery modules etc
- * Edited to remove radio warning (also retains ballistics support added by ACE_Modules)
+ * Edited to remove radio warning and add ballistics support
  *
  * Arguments:
  * 0: The logic object <OBJECT>
diff --git a/addons/zeus/functions/fnc_moduleZeusSettings.sqf b/addons/zeus/functions/fnc_moduleZeusSettings.sqf
new file mode 100644
index 0000000000..94dc0d966a
--- /dev/null
+++ b/addons/zeus/functions/fnc_moduleZeusSettings.sqf
@@ -0,0 +1,29 @@
+/*
+ * Author: SilentSpike
+ * Module for adjusting various aspects of zeus
+ *
+ * Arguments:
+ * 0: The module logic <LOGIC>
+ * 1: units <ARRAY>
+ * 2: activated <BOOL>
+ *
+ * Return Value:
+ * None <NIL>
+ *
+ * Public: No
+ */
+
+#include "script_component.hpp"
+
+private ["_logic", "_units", "_activated"];
+_logic = _this select 0;
+_units = _this select 1;
+_activated = _this select 2;
+
+if !(_activated) exitWith {};
+
+[_logic, QGVAR(settingAscension), "zeusAscension"] call EFUNC(common,readSettingFromModule);
+[_logic, QGVAR(settingBird), "zeusBird"] call EFUNC(common,readSettingFromModule);
+[_logic, QGVAR(settingOrdnance), "radioOrdnance"] call EFUNC(common,readSettingFromModule);
+[_logic, QGVAR(settingMines), "revealMines"] call EFUNC(common,readSettingFromModule);
+[_logic, QGVAR(settingWind), "remoteWind"] call EFUNC(common,readSettingFromModule);
\ No newline at end of file