All checks were successful
Generate testing snapshot / Create testing release (push) Successful in 39s
add extra verbose debug logging to determine owner, time, and whether or not the custom garbage collector is who processed the body
70 lines
2.2 KiB
Plaintext
70 lines
2.2 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
if (!isServer) exitWith {};
|
|
|
|
// array of all respawn modules in the mission representing "bases"
|
|
GVARMAIN(baseObjects) = allMissionObjects "ModuleRespawnPosition_F";
|
|
publicVariable QGVARMAIN(baseObjects);
|
|
|
|
// Initializes the Dynamic Groups framework and groups
|
|
["Initialize", [true]] call BIS_fnc_dynamicGroups;
|
|
|
|
// initialize other modules
|
|
call EFUNC(common,logMissionInfo);
|
|
call EFUNC(fbcb2_assets,initServer);
|
|
call EFUNC(reinsert,initServer);
|
|
|
|
// globally disable zeus lightning bolt functionality
|
|
_curators = allMissionObjects "ModuleCurator_F";
|
|
{
|
|
_x removeCuratorAddons ["CuratorOnly_Modules_F_Curator_Lightning"];
|
|
_x removeCuratorAddons ["A3_Modules_F_Curator_Lightning"];
|
|
} foreach _curators;
|
|
|
|
// add dead unit time marking for custom garbage cleanup function
|
|
addMissionEventHandler ["EntityKilled", {
|
|
params ["_unit", "_killer", "_instigator", "_useEffects"];
|
|
|
|
if not (_unit isKindOf "CAManBase") exitWith {};
|
|
|
|
_unit setVariable["milsim_death_time", time];
|
|
|
|
_unit addEventHandler ["Deleted", {
|
|
params ["_entity"];
|
|
_remainsCollector = _entity getVariable["milsim_garbage_collected", false];
|
|
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
|
|
|
_i = allUsers select { (getUserInfo _x)#1 isEqualTo _ownerId;};
|
|
_owner = if ( _i isEqualTo []) then [ { "server" }, { (getUserInfo (_i#0))#3 }];
|
|
|
|
diag_log format["isServer: %5, deleted object owned by: %1 via remainsCollector: %2 after %3 seconds of type: %4", _owner, str (not _remainsCollector), _decayTime, _entity, isServer];
|
|
}];
|
|
}];
|
|
|
|
|
|
// add zeus deletion logging to curator objects
|
|
{
|
|
_x addEventHandler ["CuratorObjectDeleted", {
|
|
params ["_curator", "_entity"];
|
|
|
|
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
|
diag_log format["deleted object: %1 via curator: %2 after %3 seconds", _entity, name _curator, _decayTime];
|
|
}];
|
|
} foreach _curators;
|
|
|
|
// declare init complete to other modules
|
|
missionNamespace setVariable [QGVARMAIN(complete), true, true];
|
|
|
|
[
|
|
LEVEL_INFO,
|
|
QUOTE(COMPONENT),
|
|
format["%1: version %2", QGVARMAIN(complete), QUOTE(VERSION_STR)],
|
|
[["version", QUOTE(VERSION_STR)]]
|
|
] call EFUNC(common,log);
|
|
|
|
[
|
|
LEVEL_DEBUG,
|
|
QUOTE(COMPONENT),
|
|
"postInit complete",
|
|
[]
|
|
] call EFUNC(common,log); |