diff --git a/scripts/diary/functions/fn_fixDroneAI.sqf b/scripts/diary/functions/fn_fixDroneAI.sqf
index 02f2681..d8081ab 100644
--- a/scripts/diary/functions/fn_fixDroneAI.sqf
+++ b/scripts/diary/functions/fn_fixDroneAI.sqf
@@ -19,6 +19,10 @@ if !(hasInterface) exitWith {};
private _drone = getConnectedUAV player;
+// write to server RPT when this workaround is used
+private _ServerLogEntry = format ["fn_fixDroneAI.sqf called by %1 while connected to '%2', which was local at the time? local=%3.", name player, _drone, local _drone];
+[_ServerLogEntry] remoteExec ["diag_log", 2];
+
if (!isNull _drone) then {
// workaround for createVehicleCrew not being "global argument" and "global effect" for drones
// see https://discord.com/channels/105462288051380224/105465701543723008/1263215925042090004 for further details
@@ -27,7 +31,7 @@ if (!isNull _drone) then {
private _ret_setOwner = [ _drone, _clientID] remoteExec ["setOwner", 2];
private _ret_setGroupOwner = [group _drone, _clientID] remoteExec ["setGroupOwner", 2];
- diag_log format ["fn_fixDroneAI.sqf: Change of drone ownership returned '%1' and '%2'."];
+ diag_log format ["fn_fixDroneAI.sqf: Change of drone ownership returned '%1' and '%2'.", _ret_setOwner, _ret_setGroupOwner];
};
[_drone] spawn { // need to change to scheduled environment in order to use waitUntil
diff --git a/scripts/diary/functions/fn_placeMortarOnTerrain.sqf b/scripts/diary/functions/fn_placeMortarOnTerrain.sqf
index 524e88a..4d8f538 100644
--- a/scripts/diary/functions/fn_placeMortarOnTerrain.sqf
+++ b/scripts/diary/functions/fn_placeMortarOnTerrain.sqf
@@ -18,10 +18,14 @@ See https://github.com/acemod/ACE3/issues/10010 for more information.
private _mortar = localNamespace getVariable "shootnscoot_lastUnloadedMortar";
+// write to server RPT when this workaround is used
+private _ServerLogEntry = format ["fn_placeMortarOnTerrain.sqf called by %1 while 'shootnscoot_lastUnloadedMortar=%2' and 'getPosATL=%3'.", name player, _mortar, getPosATL _mortar];
+[_ServerLogEntry] remoteExec ["diag_log", 2];
+
if (!isNil "_mortar") then {
private _pos = getPosATL _mortar;
- diag_log format ["fn_placeMortarOnTerrain.sqf: getPosATL=%1", _pos]; // logging output might help to narrow down the problem
_mortar setPosATL [_pos#0, _pos#1, 0]; // place at same x and y coordinate, but with z coordinate on the surface
+ hint parseText "Should be fixed.
Check your surroundings for the mortar!";
} else {
hint parseText "This restore function works on the last mortar that you've unloaded.
You haven't unloaded a mortar yet.";
};