diff --git a/Missionframework/scripts/server/asymmetric/random/sector_guerilla.sqf b/Missionframework/scripts/server/asymmetric/random/sector_guerilla.sqf
index 5bf6a1ef..71e28501 100644
--- a/Missionframework/scripts/server/asymmetric/random/sector_guerilla.sqf
+++ b/Missionframework/scripts/server/asymmetric/random/sector_guerilla.sqf
@@ -77,8 +77,10 @@ _spawnedGroups pushBack _grp;
sleep 30;
if (((random 100) <= 25) && !(KP_liberation_guerilla_vehicles isEqualTo [])) then {
- _vehicle = (selectRandom KP_liberation_guerilla_vehicles) createVehicle _startpos;
- _grp = [_startpos, 2] call F_spawnGuerillaGroup;
+ private _vehicle = (selectRandom KP_liberation_guerilla_vehicles) createVehicle _startpos;
+ _vehicle call F_allowCrewInImmobile;
+
+ private _grp = [_startpos, 2] call F_spawnGuerillaGroup;
((units _grp) select 0) moveInDriver _vehicle;
((units _grp) select 1) moveInGunner _vehicle;
diff --git a/Missionframework/scripts/shared/fetch_params.sqf b/Missionframework/scripts/shared/fetch_params.sqf
index b02adba2..3e5898e8 100644
--- a/Missionframework/scripts/shared/fetch_params.sqf
+++ b/Missionframework/scripts/shared/fetch_params.sqf
@@ -50,6 +50,7 @@ if(isServer) then {
GET_PARAM(KP_liberation_restart, "ServerRestart", 0);
GET_PARAM(KP_liberation_respawn_cooldown, "RespawnCooldown", 900);
GET_PARAM(KP_liberation_victoryCondition, "VictoryCondition", 0);
+ GET_PARAM(KP_liberation_allowEnemiesInImmobile, "AllowEnemiesInImmobile", 50);
GET_PARAM(KP_liberation_delayDespawnMax, "DelayDespawnMax", 5);
GET_PARAM_BOOL(KP_liberation_cr_param_buildings, "CR_Building", 0);
diff --git a/Missionframework/scripts/shared/functions/F_kp_allowCrewInImmobile.sqf b/Missionframework/scripts/shared/functions/F_kp_allowCrewInImmobile.sqf
new file mode 100644
index 00000000..bfb6defb
--- /dev/null
+++ b/Missionframework/scripts/shared/functions/F_kp_allowCrewInImmobile.sqf
@@ -0,0 +1,25 @@
+/*
+ F_allowKrewInImmobile
+
+ File: F_kp_allowCrewInImmobile.sqf
+ Author: veteran29 - https://github.com/veteran29
+ Date: 2019-09-05
+ Last Update: 2019-09-05
+
+ Description:
+ Allows crew in immobile vehicle depending on AllowEnemiesInImmobile parameters.
+
+ Parameter(s):
+ 0: OBJECT - Vehicle which should allow immobile crew. (Default objNull)
+
+ Returns:
+ BOOL
+*/
+params [
+ ["_vehicle", objNull, [objNull]]
+];
+
+// KP_liberation_allowEnemiesInImmobile (0-50-100)
+_vehicle allowCrewInImmobile (random 100 < KP_liberation_allowEnemiesInImmobile);
+
+true
diff --git a/Missionframework/scripts/shared/functions/F_libSpawnVehicle.sqf b/Missionframework/scripts/shared/functions/F_libSpawnVehicle.sqf
index 5ef315b0..bc34b943 100644
--- a/Missionframework/scripts/shared/functions/F_libSpawnVehicle.sqf
+++ b/Missionframework/scripts/shared/functions/F_libSpawnVehicle.sqf
@@ -24,6 +24,7 @@ if ( _classname in opfor_choppers ) then {
_newvehicle flyInHeight (100 + (random 200));
} else {
_newvehicle = _classname createVehicle _spawnpos;
+ _newvehicle call F_allowCrewInImmobile;
_newvehicle setpos _spawnpos;
};
_newvehicle allowdamage false;
diff --git a/Missionframework/scripts/shared/liberation_functions.sqf b/Missionframework/scripts/shared/liberation_functions.sqf
index 3f2d4bac..f26ed428 100644
--- a/Missionframework/scripts/shared/liberation_functions.sqf
+++ b/Missionframework/scripts/shared/liberation_functions.sqf
@@ -66,5 +66,6 @@ F_getSaveableParam = compileFinal preprocessFileLineNumbers "scripts\shared\func
F_setLoadableViV = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_setLoadableViV.sqf";
F_getNearestViVTransport = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_getNearestViVTransport.sqf";
F_addObjectInit = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_addObjectInit.sqf";
+F_allowCrewInImmobile = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_allowCrewInImmobile.sqf";
F_isRadio = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_isRadio.sqf";
F_createClearance = compileFinal preprocessFileLineNumbers "scripts\shared\functions\F_kp_createClearance.sqf";
diff --git a/Missionframework/stringtable.xml b/Missionframework/stringtable.xml
index c418b1cd..ea038676 100644
--- a/Missionframework/stringtable.xml
+++ b/Missionframework/stringtable.xml
@@ -2631,6 +2631,10 @@
Eingeschränkte Zeus Funktionen
제한된 제우스 인터페이스
+
+ Chance that enemies will stay in immobile/damaged vehicles
+ Chance, dass Feinde in fahrunfähigen/beschädigten Fahrzeugen verbleiben
+
Deployment in progress...
고공침투 중...
diff --git a/Missionframework/ui/mission_params.hpp b/Missionframework/ui/mission_params.hpp
index 39771e09..d14150f6 100644
--- a/Missionframework/ui/mission_params.hpp
+++ b/Missionframework/ui/mission_params.hpp
@@ -264,6 +264,12 @@ class Params
texts[] = { $STR_PARAMS_ENABLED, $STR_PARAMS_DISABLED };
default = 1;
};
+ class AllowEnemiesInImmobile {
+ title = $STR_PARAM_ALLOW_ENEMIES_IN_IMMOBILE;
+ values[] = {0, 25, 50, 75, 100};
+ text[] = { $STR_PARAMS_DISABLED, "25%", "50%", "75%", "100%"};
+ default = 50;
+ };
class DelayDespawnMax {
title = $STR_PARAM_DELAY_DESPAWN_MAX;
values[] = {0,5,10,15,20,25,30};
diff --git a/README.md b/README.md
index 9c9d8253..bcd015ba 100644
--- a/README.md
+++ b/README.md
@@ -192,6 +192,7 @@ class Missions
* Added: Parameter to enable/disable the vanilla A3 dynamic fog behavior. Default enabled, so `fucking_set_fog.sqf` isn't running by default.
* Added: Parameter to enable/disable limitations on Zeus functionalities. Default enabled to keep old behaviour.
* Added: Parameter to decide to start the campaign with a FOB container (default, like before) or a FOB truck.
+* Added: Parameter to allow enemies stay in immobile vehicles (default 50% chance).
* Added: Sector despawn scaling. The longer sector is activated the longer it de-activates. Configurable as parameter, 5min additional delay max by default.
* Added: Korean localization. Thanks to [PanzerKoLee](https://github.com/PanzerKoLee)
* Updated: Russian localization. Thanks to [DjHaski](https://github.com/DjHaski)