#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);