diff --git a/.github/workflows/arma.yml b/.github/workflows/arma.yml
index 88336dab..7cc5a5a6 100644
--- a/.github/workflows/arma.yml
+++ b/.github/workflows/arma.yml
@@ -23,7 +23,7 @@ jobs:
- name: Setup HEMTT
uses: arma-actions/hemtt@v1
- name: Run HEMTT build
- run: hemtt build
+ run: chmod +x hemtt/hemtt && hemtt/hemtt build
- name: Rename build folder
run: mv .hemttout/build .hemttout/@misery
- name: Upload Artifact
diff --git a/README.md b/README.md
index 39f56af4..fa48d381 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
- Requires the latest versions of CBA A3 and ACE3.
+ Requires the latest versions of CBA A3,ACE3 and AE3.
Visit us on Discord
@@ -55,7 +55,7 @@ We trust that this mod will serve as a valuable tool in realizing your vision fo
## Getting started
-Misery requires Arma 3 and the latest version of CBA A3 and ACE3.
+Misery requires Arma 3 and the latest version of CBA A3,ACE3 and AE3.
## Contributing to Misery
diff --git a/addons/audio/XEH_postInit.sqf b/addons/audio/XEH_postInit.sqf
index 737a7058..f9a223e4 100644
--- a/addons/audio/XEH_postInit.sqf
+++ b/addons/audio/XEH_postInit.sqf
@@ -1,7 +1,7 @@
#include "script_component.hpp"
// CBA Events
-[QGVAR(say3D), {(_this select 0) say3D (_this select 1)}] call CBA_fnc_addEventHandler;
+[QGVAR(say3D), {(_this select 0) say3D [(_this select 1), (_this select 2)]}] call CBA_fnc_addEventHandler;
// TODO.
/*
diff --git a/addons/audio/functions/fnc_ambientSoundScape.sqf b/addons/audio/functions/fnc_ambientSoundScape.sqf
index 32c98681..d198e252 100644
--- a/addons/audio/functions/fnc_ambientSoundScape.sqf
+++ b/addons/audio/functions/fnc_ambientSoundScape.sqf
@@ -28,7 +28,7 @@ private _soundDummy = createVehicle ["Land_HelipadEmpty_F", _dummyPosition, [],
private _sound = selectRandom GVAR(ambientSoundScapeExtras);
-[QGVAR(say3D), [_soundDummy, _sound]] call CBA_fnc_globalEvent;
+[QGVAR(say3D), [_soundDummy, _sound, 100]] call CBA_fnc_globalEvent;
// Loop sound
[{
diff --git a/addons/audio/sounds/generator/dieselRunning.ogg b/addons/audio/sounds/generator/dieselRunning.ogg
index 318df921..962d0f0a 100644
Binary files a/addons/audio/sounds/generator/dieselRunning.ogg and b/addons/audio/sounds/generator/dieselRunning.ogg differ
diff --git a/addons/audio/sounds/generator/petrolRunning.ogg b/addons/audio/sounds/generator/petrolRunning.ogg
index fca65c7f..6d860566 100644
Binary files a/addons/audio/sounds/generator/petrolRunning.ogg and b/addons/audio/sounds/generator/petrolRunning.ogg differ
diff --git a/addons/common/functions/fnc_itemDecrement.sqf b/addons/common/functions/fnc_itemDecrement.sqf
index 655c154a..6242ef24 100644
--- a/addons/common/functions/fnc_itemDecrement.sqf
+++ b/addons/common/functions/fnc_itemDecrement.sqf
@@ -8,7 +8,7 @@
* 1: Replacement Item (default: "")
*
* Return Value:
- * None
+ * 0: Decremented
*
* Example:
* [] call misery_common_fnc_itemDecrement
@@ -25,10 +25,12 @@ if (_itemContainer isNotEqualTo -1) then {
if (_containerCount > 1) then {
player removeMagazine _item;
[player, _item, _containerCount - 1, true] call CBA_fnc_addMagazine;
+ true
} else {
player removeMagazine _item;
if (_replacementItem isNotEqualTo "") then {
[player, _replacementItem, true] call CBA_fnc_addItem;
};
+ false
};
};
diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml
index 18db7532..1dcab615 100644
--- a/addons/common/stringtable.xml
+++ b/addons/common/stringtable.xml
@@ -737,6 +737,22 @@
系统提示 + RPT日志
Sistem Sohbeti + RPT Günlükleri
+
+ Take %1
+ Vzít %1
+ Prendre %1
+ Tomar %1 / Cojer %1
+ Prendi %1
+ Weź %1
+ Pegar %1
+ Взять %1
+ %1 nehmen
+ %1 줍기
+ %1 を取る
+ 拿取 %1
+ 拿取 %1
+ %1 Al
+
You cannot afford this!
Tohle si nemůžete dovolit!
diff --git a/addons/common/ui/menus.hpp b/addons/common/ui/menus.hpp
index 7c7fac6a..ca2b576f 100644
--- a/addons/common/ui/menus.hpp
+++ b/addons/common/ui/menus.hpp
@@ -11,9 +11,6 @@
#include "\z\misery\addons\fire\ui\fireCrafting.hpp"
#include "\z\misery\addons\fishing\ui\fishing.hpp"
#include "\z\misery\addons\forge\ui\forge.hpp"
-#include "\z\misery\addons\fuel\ui\refill_fuelCan.hpp"
-#include "\z\misery\addons\fuel\ui\refuelVehicle.hpp"
-#include "\z\misery\addons\generator\ui\generator.hpp"
#include "\z\misery\addons\hydrology\ui\hydrology.hpp"
#include "\z\misery\addons\maintenance\ui\maintenance.hpp"
#include "\z\misery\addons\persistence\ui\grad_persistence.hpp"
diff --git a/addons/fuel/XEH_PREP.hpp b/addons/fuel/XEH_PREP.hpp
index 1e468ad0..31928f64 100644
--- a/addons/fuel/XEH_PREP.hpp
+++ b/addons/fuel/XEH_PREP.hpp
@@ -1,6 +1,6 @@
-PREP(audioLogic);
-PREP(fuelCanListed);
-PREP(icon);
-PREP(process);
+PREP(initFuelPumps);
+PREP(initRefuelRestrictions);
PREP(processFuelCan);
-PREP(pumpAudio);
+PREP(processTerrainPumps);
+PREP(turnOffPump);
+PREP(turnOnPump);
diff --git a/addons/fuel/XEH_postInit.sqf b/addons/fuel/XEH_postInit.sqf
index 666e33f6..74f28be5 100644
--- a/addons/fuel/XEH_postInit.sqf
+++ b/addons/fuel/XEH_postInit.sqf
@@ -1,57 +1,42 @@
#include "script_component.hpp"
-if (!isNil QACEGVAR(refuel,enabled) && ACEGVAR(refuel,enabled)) exitWith {};
+if (isServer) then {
+ call FUNC(initFuelPumps);
+ call FUNC(processTerrainPumps);
+};
+
+call FUNC(initRefuelRestrictions);
private _allFuelStations = [MACRO_FUELSTATIONS_LAND] + [MACRO_FUELSTATIONS_AIR];
-private _fuelPumpAction = [
- QGVAR(fuel_pump_menu),
- localize LSTRING(Action),
- QPATHTOEF(markers,data\fuel_ca.paa),
- {},
- {true},
- {},
- ["_target", "_player"],
- [0, 0, 0],
- 3
-] call ACEFUNC(interact_menu,createAction);
+private _refillPumpAction = [
+ QGVAR(refuel_fuelCan_pump_menu),
+ localize LSTRING(RefillFuelCanAtPump),
+ "z\ace\addons\refuel\ui\icon_refuel_interact.paa",
+ {
+ params ["_target", "_player"];
-{
- [_x, 0, [QUOTE(ACE_MainActions)], _fuelPumpAction] call ACEFUNC(interact_menu,addActionToClass);
-} forEach _allFuelStations;
+ private _allCans = [MACRO_FUEL_CANS] + [MACRO_FUEL_CANS_EMPTY];
+ private _matchedIndex = _allCans findIf { [[_x]] call EFUNC(common,hasItem) };
-private _refuelPumpAction = [
- QGVAR(refuel_pump_menu),
- localize LSTRING(RefuelAtPump),
- QPATHTOEF(markers,data\fuel_ca.paa),
- {
- createDialog QCLASS(refuelVehicle_ui)
+ [_player, _matchedIndex] call FUNC(processFuelCan);
},
- {true},
- {},
- ["_target", "_player"],
- [0, 0, 0],
- 3
-] call ACEFUNC(interact_menu,createAction);
+ {
+ params ["_target", "_player"];
-{
- [_x, 0, [QUOTE(ACE_MainActions), QGVAR(fuel_pump_menu)], _refuelPumpAction] call ACEFUNC(interact_menu,addActionToClass);
-} forEach _allFuelStations;
+ private _isHoldingNozzle = _player getVariable [QACEGVAR(refuel,nozzle), objNull];
-private _refillPumpAction = [
- QGVAR(refuel_fuelCan_pump_menu),
- localize LSTRING(RefillFuelCanAtPump),
- QPATHTOEF(markers,data\fuel_ca.paa),
- {
- createDialog QCLASS(refuelfuelCan_ui)
+ if (isNull _isHoldingNozzle) exitWith { false };
+
+ private _allCans = [MACRO_FUEL_CANS] + [MACRO_FUEL_CANS_EMPTY];
+ private _matchedIndex = _allCans findIf { [[_x]] call EFUNC(common,hasItem) };
+
+ _matchedIndex isNotEqualTo -1
},
- {true},
{},
["_target", "_player"],
[0, 0, 0],
3
] call ACEFUNC(interact_menu,createAction);
-{
- [_x, 0, [QUOTE(ACE_MainActions), QGVAR(fuel_pump_menu)], _refillPumpAction] call ACEFUNC(interact_menu,addActionToClass);
-} forEach _allFuelStations;
+[player, 1, [QUOTE(ACE_SelfActions)], _refillPumpAction] call ACEFUNC(interact_menu,addActionToObject);
diff --git a/addons/fuel/config.cpp b/addons/fuel/config.cpp
index 3e1293bc..92889932 100644
--- a/addons/fuel/config.cpp
+++ b/addons/fuel/config.cpp
@@ -6,7 +6,7 @@ class CfgPatches {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {QCLASS(common)};
+ requiredAddons[] = {QCLASS(common), QCLASSACE(refuel)};
authors[] = {"TenuredCLOUD"};
VERSION_CONFIG;
};
@@ -14,4 +14,3 @@ class CfgPatches {
#include "CfgEventHandlers.hpp"
-
diff --git a/addons/fuel/functions/fnc_audioLogic.sqf b/addons/fuel/functions/fnc_audioLogic.sqf
deleted file mode 100644
index 359bb0ac..00000000
--- a/addons/fuel/functions/fnc_audioLogic.sqf
+++ /dev/null
@@ -1,34 +0,0 @@
-#include "..\script_component.hpp"
-/*
- * Author: TenuredCLOUD
- * Terminates audio loop when no longer allowed
- *
- * Arguments:
- * 0: Source