diff --git a/.hemtt/hooks/pre_build/01_set_version.rhai b/.hemtt/hooks/pre_build/01_set_version.rhai
new file mode 100644
index 0000000..6c653a5
--- /dev/null
+++ b/.hemtt/hooks/pre_build/01_set_version.rhai
@@ -0,0 +1,4 @@
+let modcpp = HEMTT_VFS.join("mod.cpp").open_file().read();
+modcpp.replace("0.0.0", HEMTT.project().version().to_string_short());
+HEMTT_VFS.join("mod.cpp").create_file().write(modcpp);
+print("mod.cpp version set");
diff --git a/.hemtt/project.toml b/.hemtt/project.toml
new file mode 100644
index 0000000..b2809c9
--- /dev/null
+++ b/.hemtt/project.toml
@@ -0,0 +1,34 @@
+name = "Tun Respawn"
+prefix = "tunres"
+author = "Tuntematon"
+mainprefix = "x"
+
+[files]
+include = [
+ "mod.cpp",
+ "data/**",
+]
+
+[version]
+git_hash = 0
+
+[binarize]
+enabled = true
+
+[lint.sqf]
+enabled = true
+
+[hemtt.launch.default]
+workshop = [
+ "450814997", # CBA
+ "463939057", # ACE
+ "894678801", # TFAR
+]
+parameters = [
+ "-filePatching",
+ "-noPause",
+ "C:\\Users\\mikal\\Documents\\Arma 3 - Other Profiles\\Tuntematon\\missions\\TUN_Respawn_System.Stratis\\mission.sqm", # Launch into existing Editor Mission - \\ needed
+]
+
+[hemtt.release]
+folder = "Tun_Respawn_System"
\ No newline at end of file
diff --git a/Data/afilogo.paa b/Data/afilogo.paa
deleted file mode 100644
index f14831f..0000000
Binary files a/Data/afilogo.paa and /dev/null differ
diff --git a/addons/MSP/XEH_postInit.sqf b/addons/MSP/XEH_postInit.sqf
deleted file mode 100644
index c53e075..0000000
--- a/addons/MSP/XEH_postInit.sqf
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-if !(GVAR(enable) && Tun_respawn_enable) exitWith { INFO("TUN Mobile Respawn Point Disabled"); };
-INFO("TUN Mobile Respawn Point Enabled");
-
-[] call FUNC(add_EH);
-
-if (isServer) then {
- [] call FUNC(init_contested);
-
-};
-
-if (hasInterface && {playerSide isNotEqualTo sideLogic}) then {
- [] call FUNC(ace_actions);
-};
\ No newline at end of file
diff --git a/addons/MSP/XEH_preInit.sqf b/addons/MSP/XEH_preInit.sqf
deleted file mode 100644
index 570adcc..0000000
--- a/addons/MSP/XEH_preInit.sqf
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "script_component.hpp"
-#include "XEH_prep.sqf"
-
-if (isServer) then {
- missionNamespace setVariable [QGVAR(disableContestedCheck), false, true];
-
- missionNamespace setVariable [QGVAR(contested_east), false, true];
- missionNamespace setVariable [QGVAR(contested_west), false, true];
- missionNamespace setVariable [QGVAR(contested_guer), false, true];
- missionNamespace setVariable [QGVAR(contested_civ), false, true];
-
- missionNamespace setVariable [QGVAR(status_east), false, true];
- missionNamespace setVariable [QGVAR(status_west), false, true];
- missionNamespace setVariable [QGVAR(status_guer), false, true];
- missionNamespace setVariable [QGVAR(status_civ), false, true];
-
- missionNamespace setVariable [QGVAR(vehicle_east), objNull, true];
- missionNamespace setVariable [QGVAR(vehicle_west), objNull, true];
- missionNamespace setVariable [QGVAR(vehicle_guer), objNull, true];
- missionNamespace setVariable [QGVAR(vehicle_civ), objNull, true];
-
- missionNamespace setVariable [QGVAR(nearUnitsEast), [], true];
- missionNamespace setVariable [QGVAR(nearUnitsEastMin), [], true];
-
- missionNamespace setVariable [QGVAR(nearUnitsWest), [], true];
- missionNamespace setVariable [QGVAR(nearUnitsWestMin), [], true];
-
- missionNamespace setVariable [QGVAR(nearUnitsGuer), [], true];
- missionNamespace setVariable [QGVAR(nearUnitsGuerMin), [], true];
-
- missionNamespace setVariable [QGVAR(nearUnitsCiv), [], true];
- missionNamespace setVariable [QGVAR(nearUnitsCivMin), [], true];
-
- missionNamespace setVariable [QGVAR(enemyCountEast), 0, true];
- missionNamespace setVariable [QGVAR(enemyCountMinEast), 0, true];
- missionNamespace setVariable [QGVAR(friendlyCountEast), 0, true];
-
- missionNamespace setVariable [QGVAR(enemyCountWest), 0, true];
- missionNamespace setVariable [QGVAR(enemyCountMinWest), 0, true];
- missionNamespace setVariable [QGVAR(friendlyCountWest), 0, true];
-
- missionNamespace setVariable [QGVAR(enemyCountGuer), 0, true];
- missionNamespace setVariable [QGVAR(enemyCountMinGuer), 0, true];
- missionNamespace setVariable [QGVAR(friendlyCountGuer), 0, true];
-
- missionNamespace setVariable [QGVAR(enemyCountCiv), 0, true];
- missionNamespace setVariable [QGVAR(enemyCountMinCiv), 0, true];
- missionNamespace setVariable [QGVAR(friendlyCountCiv), 0, true];
-
- GVAR(contestedCheckHash) = createHashMap;;
-};
\ No newline at end of file
diff --git a/addons/MSP/XEH_preStart.sqf b/addons/MSP/XEH_preStart.sqf
deleted file mode 100644
index 0825483..0000000
--- a/addons/MSP/XEH_preStart.sqf
+++ /dev/null
@@ -1 +0,0 @@
-#include "XEH_prep.sqf"
\ No newline at end of file
diff --git a/addons/MSP/XEH_prep.sqf b/addons/MSP/XEH_prep.sqf
deleted file mode 100644
index 1ca834b..0000000
--- a/addons/MSP/XEH_prep.sqf
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "script_component.hpp"
-
-PREP(ace_actions);
-PREP(add_EH);
-PREP(contestedCheck);
-PREP(create_msp_props);
-PREP(init_contested);
-PREP(initate_msp_action);
-PREP(update_status);
-PREP(whoToNotify);
\ No newline at end of file
diff --git a/addons/MSP/config.cpp b/addons/MSP/config.cpp
deleted file mode 100644
index f39f0f3..0000000
--- a/addons/MSP/config.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches
-{
- class tun_msp
- {
- units[] = {};
- weapons[] = {};
- requiredVersion = 1.94;
- requiredAddons[] = {"cba_main","cba_xeh","Tun_Respawn","Tun_Main","ace_interaction","ace_interact_menu"};
- author[] = {"Tuntematon"};
- authorUrl = "https://armafinland.fi/";
- };
-};
-
-class Extended_PostInit_EventHandlers {
- class tun_msp {
- init = QUOTE(call COMPILE_FILE(XEH_postInit));
- };
-};
-
-class Extended_PreInit_EventHandlers {
- class tun_msp {
- init = QUOTE( call COMPILE_FILE(XEH_preInit) );
- };
-};
-
-class Extended_PreStart_EventHandlers {
- class tun_msp {
- init = QUOTE( call COMPILE_FILE(XEH_preStart) );
- };
-};
\ No newline at end of file
diff --git a/addons/MSP/functions/fnc_ace_actions.sqf b/addons/MSP/functions/fnc_ace_actions.sqf
deleted file mode 100644
index 1c5ac93..0000000
--- a/addons/MSP/functions/fnc_ace_actions.sqf
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- * Create ace actions to MSP vehicles
- *
- * Arguments:
- * None
- *
- * Return Value:
- * None
- *
- * Example:
- * [] call Tun_MSP_fnc_ace_actions
- */
-#include "script_component.hpp"
-
-private _vehicle = switch (playerSide) do {
-
- case west: {
- GVAR(clasnames_west);
- };
-
- case east: {
- GVAR(clasnames_east);
- };
-
- case resistance: {
- GVAR(clasnames_resistance);
- };
-
- case civilian: {
- GVAR(clasnames_civilian);
- };
-
- default {
- ""
- };
-};
-
-private _actionMain = ["Tun_respawnAction", "Respawn Actions", "\a3\Modules_F_Curator\Data\portraitRespawnTickets_ca.paa", {true}, {true}] call ace_interact_menu_fnc_createAction;
-[_vehicle, 0, ["ACE_MainActions"], _actionMain] call ace_interact_menu_fnc_addActionToClass;
-
-//check that class exist
-if (isClass (configFile >> "CfgVehicles" >> _vehicle)) then {
- //create msp action
- private _create_condition = { alive _target && {_target getVariable QGVAR(side) isEqualTo playerSide} && { driver _target isEqualTo player} && { speed player isEqualTo 0 } && {!(missionNamespace getVariable [format ["%1_%2", QGVAR(status), playerSide], false])}};
- _createMSP = ["Set up MSP", "Set up MSP", "\a3\3den\data\cfgwaypoints\unload_ca.paa", {[_target, true] spawn FUNC(initate_msp_action);}, _create_condition, {}, [], [0, 0, 0], 2, [false, true, false, false, false]] call ace_interact_menu_fnc_createAction;
-
- //remove msp action
- private _remove_condition = { alive _target && {_target getVariable QGVAR(side) isEqualTo playerSide} && {_target getVariable [QGVAR(isMSP), false]} };
- _removeMSP = ["Pack MSP", "Pack MSP", "\a3\3den\data\cfgwaypoints\load_ca.paa", {[_target, false] spawn FUNC(initate_msp_action);}, _remove_condition, {}, [], [0, 0, 0], 2, [false, true, false, false, false]] call ace_interact_menu_fnc_createAction;
-
- //remaining time for respawn.
-
- private _timer_action = {
- _wait_time = ((missionNamespace getVariable format ["Tun_Respawn_wait_time_%1", playerSide]) - cba_missiontime);
- format ["STR_Tun_MSP_remaining_time" call BIS_fnc_localize, [_wait_time] call CBA_fnc_formatElapsedTime] call CBA_fnc_notify;
- };
- private _timer_condition = { alive _target && {_target getVariable QGVAR(side) isEqualTo playerSide}};
- _chekTime = ["Check Respawn Time", "Check Respawn Time", "\a3\modules_f_curator\data\portraitskiptime_ca.paa", _timer_action, _timer_condition] call ace_interact_menu_fnc_createAction;
-
- //Ace inteaction
- [_vehicle, 1, ["ACE_SelfActions"], _createMSP] call ace_interact_menu_fnc_addActionToClass;
- [_vehicle, 0, ["ACE_MainActions","Tun_respawnAction"], _removeMSP] call ace_interact_menu_fnc_addActionToClass;
- [_vehicle, 0, ["ACE_MainActions","Tun_respawnAction"], _chekTime] call ace_interact_menu_fnc_addActionToClass;
-
- //TP. I hate this system already.
- [_vehicle, "InitPost", {
- params ["_entity"];
-
- private _variable = switch (playerSide) do {
- case west: { "tun_msp_vehicle_west" };
- case east: { "tun_msp_vehicle_east" };
- case resistance: { "tun_msp_vehicle_guer" };
- case civilian: { "tun_msp_vehicle_civ" };
- };
- private _menu_condition = "alive _target && {_target getVariable ['tun_msp_isMSP', false]} && {!(_target getVariable ['tun_msp_isContested', false])}";
- private _tp_conditionText = " private _msp = missionNamespace getVariable ['%1', objNull]; private _status = _msp getVariable ['tun_msp_isContested', false]; (_target isNotEqualTo _msp && _obj getVariable ['tun_msp_isMSP', false] && !_status) ";
-
- _tp_conditionText = format [_tp_conditionText, _variable];
- [_entity, _tp_conditionText, "STR_Tun_MSP_TpText" call BIS_fnc_localize, false, nil, [playerSide], true, _menu_condition, false, ["ACE_MainActions","Tun_respawnAction"]] call Tun_Respawn_fnc_addCustomTeleporter;
-
- }, false, [], true] call CBA_fnc_addClassEventHandler;
-
- if (GVAR(allowCheckTicketsMSP)) then {
- private _remaining_action = {
- [playerSide] call EFUNC(respawn,checkTicketCount);
- };
- private _remaining_condition = { alive _target && {_target getVariable QGVAR(side) isEqualTo playerSide}};
- _remainingTickets = ["STR_Tun_Respawn_CheckTickets" call BIS_fnc_localize, "STR_Tun_Respawn_CheckTickets" call BIS_fnc_localize, "\a3\modules_f_curator\data\portraitmissionname_ca.paa", _remaining_action, _remaining_condition] call ace_interact_menu_fnc_createAction;
- [_vehicle, 0, ["ACE_MainActions","Tun_respawnAction"], _remainingTickets] call ace_interact_menu_fnc_addActionToClass;
- };
-} else {
- private _errorText = format ["(Tun_MSP_fnc_ace_actions) Tried to add following classname as MSP: %1. But it does not exist",_vehicle];
- ERROR(_errorText);
-};
diff --git a/addons/MSP/functions/fnc_add_EH.sqf b/addons/MSP/functions/fnc_add_EH.sqf
deleted file mode 100644
index 0efe4c8..0000000
--- a/addons/MSP/functions/fnc_add_EH.sqf
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- * Add init EH and killed EH to MSP
- *
- * Arguments:
- * None
- *
- * Return Value:
- * None
- *
- * Example:
- * [] call Tun_MSP_fnc_add_eh
- */
-#include "script_component.hpp"
-
-{
- private _vehicle = _x;
- //check that class exist
- if (isClass (configFile >> "CfgVehicles" >> _vehicle)) then {
- //Add side variable for vehicle classname
- if (isServer) then {
- [_vehicle, "InitPost", {
- params ["_entity"];
-
- AAR_UPDATE(_entity,"Is active MSP", false);
- AAR_UPDATE(_entity,"Is contested", false);
- AAR_UPDATE(_entity,"Enemies near", false);
- AAR_UPDATE(_entity,"Report enemies radius", GVAR(report_enemies_range));
- AAR_UPDATE(_entity,"Contested radius max", GVAR(contested_radius_max));
- AAR_UPDATE(_entity,"Contested radius min", GVAR(contested_radius_min));
- AAR_UPDATE(_entity,"Enemy Count", 0);
- AAR_UPDATE(_entity,"Enemy Count Min", 0);
- AAR_UPDATE(_entity,"Friendly Count", 0);
-
- private _side = switch (typeOf _entity) do {
- case GVAR(clasnames_west): { west };
- case GVAR(clasnames_east): { east };
- case GVAR(clasnames_resistance): { resistance };
- case GVAR(clasnames_civilian): { civilian };
- };
-
- _entity setVariable [QGVAR(side), _side, true];
- }, true, [], true] call CBA_fnc_addClassEventHandler;
- };
-
- private _mspLostEhCode = {
- params ["_unit"];
- private _side = _unit getVariable QGVAR(side);
- AAR_UPDATE(_unit,"Is active MSP", "RIP");
- AAR_UPDATE(_unit,"Is contested", "RIP");
- AAR_UPDATE(_unit,"Enemies near", "RIP");
-
- if ( local _unit && { _unit getVariable [QGVAR(isMSP), false] } ) then {
- {
- deleteVehicle _x;
- } forEach (_unit getVariable QGVAR(objects));
-
- switch (_side) do {
- case east: {
- missionNamespace setVariable [QGVAR(status_east), false, true];
- GVAR(vehicle_east) = objNull;
- };
-
- case west: {
- missionNamespace setVariable [QGVAR(status_west), false, true];
- GVAR(vehicle_west) = objNull;
- };
-
- case resistance: {
- missionNamespace setVariable [QGVAR(status_guer), false, true];
- GVAR(vehicle_guer) = objNull;
- };
-
- case civilian: {
- missionNamespace setVariable [QGVAR(status_civ), false, true];
- GVAR(vehicle_civ) = objNull;
- };
-
- default { };
- };
-
- //Do marker update
-
- [_side, false] remoteExecCall ["Tun_respawn_fnc_update_respawn_point", 2];
-
- ("STR_Tun_MSP_destroyed" call BIS_fnc_localize) remoteExecCall ["CBA_fnc_notify", _side];
- };
- };
-
- //EH if msp is destroyed
- [_vehicle, "killed", _mspLostEhCode, true, [], true] call CBA_fnc_addClassEventHandler;
-
- [_vehicle, "Deleted", _mspLostEhCode, true, [], true] call CBA_fnc_addClassEventHandler;
- } else {
- if (isServer) then {
- private _errorText = format ["(Tun_MSP_fnc_ace_actions) Tried to add following classname as MSP: %1. But it does not exist",_vehicle];
- ERROR(_errorText);
- };
- };
-} forEach [GVAR(clasnames_west), GVAR(clasnames_east), GVAR(clasnames_resistance), GVAR(clasnames_civilian)];
\ No newline at end of file
diff --git a/addons/MSP/functions/fnc_briefingNotes.sqf b/addons/MSP/functions/fnc_briefingNotes.sqf
deleted file mode 100644
index a125cb0..0000000
--- a/addons/MSP/functions/fnc_briefingNotes.sqf
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- *
- * Arguments:
- * None
- *
- * Return Value:
- * None
- *
- * Example:
- * [] call Tun_Respawn_fnc_briefingNotes
- */
-#include "script_component.hpp"
-
-private _text = "MSP settings
";
-
-_text = format ["%1
- Tickets can be checked from MSP: %2",_text, GVAR(allowCheckTicketsMSP)];
-
-_text = format ["%1
Report enemies
",_text];
-_text = format ["%1
- Report enemies: %2",_text, GVAR(report_enemies)];
-if (GVAR(report_enemies)) then {
- _text = format ["%1
- Report enemies interval: %2",_text, GVAR(report_enemies_interval)];
- _text = format ["%1
-%2",_text, "STR_Tun_MSP_CBA_tooltip_report_enemies_interval" call BIS_fnc_localize];
-
- _text = format ["%1
- Report enemies range: %2",_text, GVAR(report_enemies_range)];
- _text = format ["%1
-%2",_text, "STR_Tun_MSP_CBA_tooltip_report_enemies_range" call BIS_fnc_localize];
-};
-
-_text = format ["%1
Contested settings
",_text];
-_text = format ["%1
- Contested check interval: %2",_text, GVAR(contested_check_interval)];
-_text = format ["%1
-%2",_text, "STR_Tun_MSP_CBA_tooltip_contested_check_interval" call BIS_fnc_localize];
-
-_text = format ["%1
- Contested range max: %2",_text, GVAR(contested_radius_max)];
-_text = format ["%1
-%2",_text, "STR_Tun_MSP_CBA_tooltip_contested_max" call BIS_fnc_localize];
-
-_text = format ["%1
- Contested range min: %2",_text, GVAR(contested_radius_min)];
-_text = format ["%1
-%2",_text, "STR_Tun_MSP_CBA_tooltip_contested_min" call BIS_fnc_localize];
-
-_text = format ["%1
Powered By TuntematonEngine v%2.%3.%4", _text, MAJOR, MINOR, PATCHLVL];
-
-player createDiaryRecord ["Diary",["Respawn info",_text]];
-player createDiarySubject ["Respawn info","Tun - Respawn info"];
-player createDiaryRecord ["Respawn info",["Tun - Respawn info",_text]];
\ No newline at end of file
diff --git a/addons/MSP/functions/fnc_contestedCheck.sqf b/addons/MSP/functions/fnc_contestedCheck.sqf
deleted file mode 100644
index fe7005c..0000000
--- a/addons/MSP/functions/fnc_contestedCheck.sqf
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- *
- * Arguments:
- * None
- * Return Value:
- * None
- *
- * Example:
- * [] call Tun_MSP_fnc_contestedCheck
- */
-// private _result = diag_codePerformance [{
-#include "script_component.hpp"
-
-private _hash = GVAR(contestedCheckHash);
-private _countestedRangeMax = GVAR(contested_radius_max);
-private _countestedRangeMin = GVAR(contested_radius_min);
-private _allSides = [west,east,resistance,civilian];
-private _allunits = allUnits select {(side _x) in [west,east,resistance,civilian]};
-
-{
- _x params ["_mspDeployementStatusVar", "_msp", "_contestedStatusVar", "_side"];
- private _status = missionNamespace getVariable [_mspDeployementStatusVar, false];
-
- if ( _status && { !(isNull _msp) } ) then {
-
- private _sidesToCheck = _allSides - [_side];
- private _friendlySides = [_side];
- private _enemySides = [];
-
- {
- private _otherSide = _x;
- if (_side getFriend _otherSide < 0.6) then {
- _enemySides pushBack _otherSide;
- } else {
- _friendlySides pushBack _otherSide;
- };
- } forEach _sidesToCheck;
-
- private _pos = getpos _msp;
- private _unitsInArea = _allunits inAreaArray [_pos, _countestedRangeMax, _countestedRangeMax, 0, false, (_countestedRangeMax/2)];
- private _enemiesInArea = _unitsInArea select {(side _x) in _enemySides};
- private _friendliesInArea = (count _unitsInArea) - (count _enemiesInArea);
- private _enemiesInAreaMin = count (_enemiesInArea inAreaArray [_pos, _countestedRangeMin, _countestedRangeMin, 0, false, (_countestedRangeMin/2)]);
- _enemiesInArea = count _enemiesInArea;
- _hash set [_side, [_enemiesInArea, _enemiesInAreaMin, _friendliesInArea]];
-
- private _isContested = false;
- if (_enemiesInAreaMin > 0 || _enemiesInArea > _friendliesInArea) then {
- _isContested = true;
- };
- AAR_UPDATE(_msp, "Enemy Count", _enemiesInArea);
- AAR_UPDATE(_msp, "Enemy Count Min", _enemiesInAreaMin);
- AAR_UPDATE(_msp, "Friendly Count", _friendliesInArea);
- AAR_UPDATE(_msp, "Is contested", _isContested);
-
- private _oldContestedStatus = missionNamespace getVariable [_contestedStatusVar, false];
- if (_oldContestedStatus isNotEqualTo _isContested) then {
- AAR_UPDATE(_msp, "Is contested", _isContested);
- missionNamespace setVariable [_contestedStatusVar, _isContested, true];
- _msp setVariable [QGVAR(isContested), _isContested, true];
- private _whoToNotify = [_side] call FUNC(whoToNotify);
- if (count _whoToNotify > 0 ) then {
- if (_isContested) then {
- [_side, false] call EFUNC(respawn,update_respawn_point);
- (call compile ("STR_Tun_MSP_FNC_Contested_hint" call BIS_fnc_localize)) remoteExecCall ["CBA_fnc_notify", _whoToNotify];
- } else {
- [_side, true, (getPos _msp) ] call EFUNC(respawn,update_respawn_point);
- (call compile ("STR_Tun_MSP_FNC_secured_hint" call BIS_fnc_localize)) remoteExecCall ["CBA_fnc_notify", _whoToNotify];
- };
- };
- };
-
- private _debugText = format ["Contested summary. Side: %1, NewStatus: %2, OldStatus: %6, enemyCount: %3, enemyCountMin: %4, FriendlyCount: %5",_side, _isContested, _enemiesInArea, _enemiesInAreaMin, _friendliesInArea, _oldContestedStatus];
- LOG(_debugText);
- } else {
- if (_status) then {
- missionNamespace setVariable [_mspDeployementStatusVar, false, true];
- missionNamespace setVariable [_contestedStatusVar, false, true];
- private _text = "MSP Object Disapeared" + str _side;
- ERROR(_text);
- };
- };
-} forEach [
- [QGVAR(status_east), GVAR(vehicle_east), QGVAR(contested_east), east],
- [QGVAR(status_West), GVAR(vehicle_west), QGVAR(contested_west), west],
- [QGVAR(status_guer), GVAR(vehicle_guer), QGVAR(contested_guer), resistance],
- [QGVAR(status_civ), GVAR(vehicle_civ), QGVAR(contested_civ), civilian]
-];
-// }, nil, 10000];
-
-// systemChat str _result;
-
-// diag_log _result;
\ No newline at end of file
diff --git a/addons/MSP/functions/fnc_init_contested.sqf b/addons/MSP/functions/fnc_init_contested.sqf
deleted file mode 100644
index 6b83b6e..0000000
--- a/addons/MSP/functions/fnc_init_contested.sqf
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- * Notify if ther is enemies inside max radius
- * Disable msp if there is more enemies than friendlies inside max range
- * Disable MSP if there is even one enemy in min range
- *
- * Arguments:
- * None
- *
- * Return Value:
- * None
- *
- * Example:
- * [] call Tun_MSP_fnc_init_contested
- */
-#include "script_component.hpp"
-
-[{cba_missiontime > GVAR(contested_check_interval)}, {
- [{
- if !(GVAR(disableContestedCheck)) then {
- [] call FUNC(contestedCheck);
- };
-
- }, GVAR(contested_check_interval), []] call CBA_fnc_addPerFrameHandler;
-
- if (GVAR(report_enemies)) then {
- [{
- private _hash = GVAR(contestedCheckHash);
- {
- _x params ["_side", "_isContested", "_status"];
- if (_status) then {
- private _enemyCount = (_hash get _side) select 0;
- if (_enemyCount > 0 && !_isContested) then {
- private _whoToNotify = [_side] call FUNC(whoToNotify);
- if (count _whoToNotify > 0 ) then {
- ("STR_Tun_MSP_FNC_enemies_near" call BIS_fnc_localize) remoteExecCall ["CBA_fnc_notify", _whoToNotify];
- };
- };
- };
-
- } forEach [
- [west, GVAR(contested_west), GVAR(status_west)],
- [east, GVAR(contested_east), GVAR(contested_east)],
- [resistance, GVAR(contested_east), GVAR(contested_east)],
- [civilian, GVAR(contested_east), GVAR(contested_east)]];
- }, GVAR(report_enemies_interval), []] call CBA_fnc_addPerFrameHandler;
- };
-}] call CBA_fnc_waitUntilAndExecute;
\ No newline at end of file
diff --git a/addons/MSP/functions/fnc_initate_msp_action.sqf b/addons/MSP/functions/fnc_initate_msp_action.sqf
deleted file mode 100644
index acae23d..0000000
--- a/addons/MSP/functions/fnc_initate_msp_action.sqf
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Author: [Tuntematon]
- * [Description]
- * Initate ace action from MSP. Either to setup or pack it.
- *
- * Arguments:
- * 0: MSP vehicle