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.