Files
MissionTemplate/framework/init/functions/fn_initServer.sqf
hizumi 0f8783ffa9
All checks were successful
Generate testing snapshot / Create testing release (push) Successful in 40s
add initial dead unit garbage collection
2024-05-23 21:21:10 -05:00

56 lines
1.7 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 {};
if not (isInRemainsCollector _unit) exitWith {};
// format["%1 from group %2 died at %3", _unit, group _unit, [datetime] call BIS_fnc_timeToString] remoteExec ["systemChat"];
_unit setVariable["milsim_death_time", time];
// _unit addEventHandler ["Deleted", {
// params ["_entity"];
// isGC = _entity getVariable["milsim_garbage_collected", false];
// format["%1 from was deleted by custom gc: %2", _entity, str isGC ] remoteExec ["systemChat"];
// }];
}];
// 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);