diff --git a/Missionframework/scripts/server/base/startgame.sqf b/Missionframework/scripts/server/base/startgame.sqf
index 5c0b5798..3129ea61 100644
--- a/Missionframework/scripts/server/base/startgame.sqf
+++ b/Missionframework/scripts/server/base/startgame.sqf
@@ -27,17 +27,20 @@ if (count GRLIB_all_fobs == 0) then {
private _fobbox = objNull;
while {count GRLIB_all_fobs == 0} do {
- _fobbox = FOB_box_typename createVehicle (getposATL base_boxspawn);
+ _fobbox = ([FOB_box_typename, FOB_truck_typename] select KP_liberation_fob_vehicle) createVehicle (getposATL base_boxspawn);
_fobbox setdir getDir base_boxspawn;
_fobbox setposATL (getposATL base_boxspawn);
- _fobbox call F_setFobMass;
clearWeaponCargoGlobal _fobbox;
clearMagazineCargoGlobal _fobbox;
clearBackpackCargoGlobal _fobbox;
clearItemCargoGlobal _fobbox;
- // Add ViV actions to FOB Box
- [_fobBox] remoteExecCall ["F_setLoadableViV", 0, _fobBox];
+
+ if (!KP_liberation_fob_vehicle) then {
+ _fobbox call F_setFobMass;
+ // Add ViV actions to FOB Box
+ [_fobBox] remoteExecCall ["F_setLoadableViV", 0, _fobBox];
+ };
sleep 3;
diff --git a/Missionframework/scripts/shared/fetch_params.sqf b/Missionframework/scripts/shared/fetch_params.sqf
index 0e28b176..055d49e1 100644
--- a/Missionframework/scripts/shared/fetch_params.sqf
+++ b/Missionframework/scripts/shared/fetch_params.sqf
@@ -60,6 +60,7 @@ if(isServer) then {
GET_PARAM_BOOL(KP_liberation_mobilearsenal, "MobileArsenal", 1);
GET_PARAM_BOOL(KP_liberation_arsenal_type, "ArsenalType", 0);
GET_PARAM_BOOL(KP_liberation_fog_param, "VanillaFog", 1);
+ GET_PARAM_BOOL(KP_liberation_fob_vehicle, "FirstFobVehicle", 0);
GET_PARAM_BOOL(GRLIB_adaptive_opfor, "AdaptToPlayercount", 1);
GET_PARAM_BOOL(GRLIB_deployment_cinematic, "DeploymentCinematic", 1);
@@ -225,6 +226,10 @@ if (!isDedicated && hasInterface) then {
_value = if (GRLIB_build_first_fob) then {localize "STR_YES";} else {localize "STR_NO";};
_text = _text + format ["%1
%2
", _param, _value];
+ _param = localize "STR_PARAMS_FIRSTFOBVEHICLE";
+ _value = if (KP_liberation_fob_vehicle) then {localize "STR_PARAMS_FIRSTFOBVEHICLE_TRUCK";} else {localize "STR_PARAMS_FIRSTFOBVEHICLE_CONTAINTER";};
+ _text = _text + format ["%1
%2
", _param, _value];
+
_param = localize "STR_PARAM_FOBS_COUNT";
_value = str GRLIB_maximum_fobs;
_text = _text + format ["%1
%2
", _param, _value];
diff --git a/Missionframework/stringtable.xml b/Missionframework/stringtable.xml
index 7f578346..0996c3a9 100644
--- a/Missionframework/stringtable.xml
+++ b/Missionframework/stringtable.xml
@@ -6268,5 +6268,17 @@
Dynamic fog (A3 Vanilla)
Dynamischer Nebel (A3 Vanilla)
+
+ Start FOB provided as
+ Start-FOB bereitgestellt als
+
+
+ FOB Container
+ FOB Container
+
+
+ FOB Truck
+ FOB LKW
+
diff --git a/Missionframework/ui/mission_params.hpp b/Missionframework/ui/mission_params.hpp
index 400105f8..5e63077d 100644
--- a/Missionframework/ui/mission_params.hpp
+++ b/Missionframework/ui/mission_params.hpp
@@ -54,6 +54,12 @@ class Params
texts[] = { $STR_YES, $STR_NO };
default = 0;
};
+ class FirstFobVehicle {
+ title = $STR_PARAMS_FIRSTFOBVEHICLE;
+ values[] = {0, 1};
+ texts[] = {$STR_PARAMS_FIRSTFOBVEHICLE_CONTAINTER, $STR_PARAMS_FIRSTFOBVEHICLE_TRUCK};
+ default = 0;
+ };
class MaximumFobs {
title = $STR_PARAM_FOBS_COUNT;
values[] = {3,5,7,10,15,20,26};
diff --git a/README.md b/README.md
index 828bf2f9..ede9df14 100644
--- a/README.md
+++ b/README.md
@@ -190,6 +190,7 @@ class Missions
### 0.96.6 (tbd)
* Added: [Swedish Forces Pack](https://steamcommunity.com/sharedfiles/filedetails/?id=826911897) transport configs. Thanks to [Dahlgren](https://github.com/Dahlgren)
* 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 decide to start the campaign with a FOB container (default, like before) or a FOB truck.
* Updated: Russian localization. Thanks to [DjHaski](https://github.com/DjHaski)
* Tweaked: Initial FOB box doesn't have equipment in the inventory anmore.
* Tweaked: Height check for mobile respawn now relies on `isTouchingGround` instead of z value of position.