diff --git a/kp_liberation.brf_sumava/arsenal_presets/custom.sqf b/kp_liberation.brf_sumava/arsenal_presets/custom.sqf index 10f7d46..145b6a6 100644 --- a/kp_liberation.brf_sumava/arsenal_presets/custom.sqf +++ b/kp_liberation.brf_sumava/arsenal_presets/custom.sqf @@ -907,6 +907,7 @@ GRLIB_arsenal_items = [ "ACE_bloodIV", // Blood IV (1000 ml) "ACE_bodyBag", // Bodybag "ACE_CableTie", // Cable Tie + "ACE_Chemlight_Shield" // Chemlight Shield "ACE_DeadManSwitch", // Dead Man's Switch "ACE_DefusalKit", // Defusal Kit "ACE_EarPlugs", // Earplugs diff --git a/kp_liberation.brf_sumava/functions/fn_spawnGuerillaGroup.sqf b/kp_liberation.brf_sumava/functions/fn_spawnGuerillaGroup.sqf index 6ebf552..a22cd9b 100644 --- a/kp_liberation.brf_sumava/functions/fn_spawnGuerillaGroup.sqf +++ b/kp_liberation.brf_sumava/functions/fn_spawnGuerillaGroup.sqf @@ -71,9 +71,9 @@ for "_i" from 1 to _amount do { // Add possible RPG launcher if ((_tier > 1) && ((random 100) <= KP_liberation_resistance_at_chance)) then { - _unit addBackpack "B_FieldPack_cbr"; - for "_i" from 1 to 3 do {_unit addItemToBackpack "RPG7_F";}; - _unit addWeapon "launch_RPG7_F"; + _unit addBackpack "rhs_rpg_2"; + for "_i" from 1 to 3 do {_unit addItemToBackpack "rhs_rpg7_PG7V_mag";}; + _unit addWeapon "gm_rpg7_wud"; }; }; diff --git a/kp_liberation.brf_sumava/presets/blufor/gm_east.sqf b/kp_liberation.brf_sumava/presets/blufor/gm_east.sqf index dd2696f..4dbb9d6 100644 --- a/kp_liberation.brf_sumava/presets/blufor/gm_east.sqf +++ b/kp_liberation.brf_sumava/presets/blufor/gm_east.sqf @@ -137,7 +137,7 @@ heavy_vehicles = [ ["gm_gc_army_2p16",300,1000,300], // 2P16 "LUNA" ["UK3CB_CW_SOV_O_LATE_MAZ_543_SCUD",400,1200,400], // MAZ-543 SCUD ["rhs_9k79",500,1300,300], // Tochka-U - ["rhs_9k79_F",500,1350,300], // Tochka-U Cluster + ["rhs_9k79_K",500,1350,300], // Tochka-U Cluster ["rhs_9k79_B",500,1500,300] // Tochka-U Nuke ]; diff --git a/kp_liberation.brf_sumava/presets/init_presets.sqf b/kp_liberation.brf_sumava/presets/init_presets.sqf index 2197d2a..aa52ec6 100644 --- a/kp_liberation.brf_sumava/presets/init_presets.sqf +++ b/kp_liberation.brf_sumava/presets/init_presets.sqf @@ -223,11 +223,19 @@ KPLIB_b_infantry_classes = KPLIB_b_infantry_classes /* Opfor squad compositions -*/ + + OLD - needs to be reworked to either 80s or 90s KPLIB_o_squadStd = [opfor_squad_leader, opfor_medic, opfor_machinegunner, opfor_heavygunner, opfor_medic, opfor_marksman, opfor_grenadier, opfor_rpg]; KPLIB_o_squadInf = [opfor_squad_leader, opfor_medic, opfor_machinegunner, opfor_heavygunner, opfor_heavygunner, opfor_marksman, opfor_sharpshooter, opfor_sniper]; KPLIB_o_squadTank = [opfor_squad_leader, opfor_medic, opfor_machinegunner, opfor_rpg, opfor_rpg, opfor_at, opfor_at, opfor_at]; KPLIB_o_squadAir = [opfor_squad_leader, opfor_medic, opfor_machinegunner, opfor_rpg, opfor_rpg, opfor_aa, opfor_aa, opfor_aa]; +*/ + // + // Mixed squads +KPLIB_o_squadStd = [opfor_squad_leader_late, opfor_medic_late, opfor_machinegunner_late, opfor_heavygunner, opfor_marksman, opfor_grenadier, opfor_rpg, opfor_rpg_assistant]; +KPLIB_o_squadInf = [opfor_squad_leader_late, opfor_medic, opfor_machinegunner_late, opfor_heavygunner, opfor_marksman_late, opfor_rifleman, opfor_grenadier_heavy]; +KPLIB_o_squadTank = [opfor_squad_leader, opfor_medic_late, opfor_machinegunner_late, opfor_rpg, opfor_rpg_assistant, opfor_at, opfor_at_assistant, opfor_rpg_late]; +KPLIB_o_squadAir = [opfor_squad_leader_late, opfor_medic_late, opfor_machinegunner_late, opfor_rpg_late, opfor_rpg_assistant, opfor_aa_late, opfor_aa_late, opfor_aa]; /* Liberation specific collections diff --git a/kp_liberation.brf_sumava/presets/opfor/gm_west.sqf b/kp_liberation.brf_sumava/presets/opfor/gm_west.sqf index 4b8da6a..57ab85a 100644 --- a/kp_liberation.brf_sumava/presets/opfor/gm_west.sqf +++ b/kp_liberation.brf_sumava/presets/opfor/gm_west.sqf @@ -6,24 +6,46 @@ - LEN - Cold War Helicopters (due to lack fo air assets in GM for now) - https://steamcommunity.com/sharedfiles/filedetails/?id=1726445116 */ -// Enemy infantry classes -opfor_officer = "gm_ge_army_officer_p1_90_flk"; // Officer -opfor_squad_leader = "gm_ge_army_squadleader_g36a1_p2a1_90_flk"; // Squad Leader -opfor_team_leader = "gm_ge_army_squadleader_g36a1_p2a1_90_flk"; // Team Leader -opfor_sentry = "gm_ge_army_rifleman_g36a1_90_flk"; // Rifleman (Lite) -opfor_rifleman = "gm_ge_army_rifleman_g36a1_90_flk"; // Rifleman -opfor_rpg = "gm_ge_army_antitank_g36a1_milan_90_flk"; // Rifleman (LAT) -opfor_grenadier = "gm_ge_army_grenadier_hk69a1_90_flk"; // Grenadier -opfor_machinegunner = "gm_ge_army_machinegunner_mg3_90_flk"; // Autorifleman -opfor_heavygunner = "gm_ge_army_machinegunner_mg3_90_flk"; // Heavy Gunner -opfor_marksman = "gm_ge_army_marksman_g3a3_90_flk"; // Marksman -opfor_sharpshooter = "gm_ge_army_marksman_g3a3_90_flk"; // Sharpshooter -opfor_sniper = "gm_ge_army_marksman_g3a3_90_flk"; // Sniper -opfor_at = "gm_ge_army_antitank_g36a1_pzf3_90_flk"; // AT Specialist -opfor_aa = "gm_ge_army_antiair_g36a1_fim43_90_flk"; // AA Specialist -opfor_medic = "gm_ge_army_medic_g36a1_90_flk"; // Combat Life Saver -opfor_engineer = "gm_ge_army_engineer_g36a1_90_flks"; // Engineer -opfor_paratrooper = "gm_ge_army_paratrooper_g36a1_90_flk"; // Paratrooper +// Enemy infantry - 80s +opfor_officer = "gm_ge_army_officer_p1_80_oli"; // Officer +opfor_squad_leader = "gm_ge_army_squadleader_g3a3_p2a1_80_ols"; // Squad Leader +opfor_team_leader = "gm_ge_army_squadleader_g3a3_p2a1_80_ols"; // Team Leader +opfor_sentry = "gm_ge_army_rifleman_g3a3_80_ols"; // Rifleman (Lite) +opfor_rifleman = "gm_ge_army_rifleman_g3a3_80_ols"; // Rifleman +opfor_grenadier = "gm_ge_army_grenadier_g3a3_80_ols"; // Grenadier +opfor_grenadier_heavy = "gm_ge_army_grenadier_hk69a1_80_ols"; // Heavy Grenadier +opfor_machinegunner = "gm_ge_army_machinegunner_mg3_80_ols"; // Autorifleman +opfor_heavygunner = "gm_ge_army_machinegunner_assistant_g3a3_mg3_80_ols"; // Heavy Gunner +opfor_marksman = "gm_ge_army_marksman_g3a3_80_ols"; // Marksman +opfor_sharpshooter = "gm_ge_army_marksman_g3a3_80_ols"; // Sharpshooter +opfor_sniper = "gm_ge_army_marksman_g3a3_80_ols"; // Sniper +opfor_rpg = "gm_ge_army_antitank_g3a3_pzf44_80_ols"; // Rifleman (LAT) +opfor_rpg_assistant = "gm_ge_army_antitank_assistant_g3a3_pzf44_80_ols"; // Rifleman (LAT Assistant) +opfor_at = "gm_ge_army_antitank_g3a3_pzf84_80_ols"; // Rifleman (HAT) +opfor_at_assistant = "gm_ge_army_antitank_assistant_g3a3_pzf84_80_ols"; // Rifleman (HAT Assistant) +opfor_aa = "gm_ge_army_antiair_g3a3_fim43_80_ols"; // AA Specialist +opfor_medic = "gm_ge_army_medic_g3a3_80_ols"; // Combat Life Saver +opfor_engineer = "gm_ge_army_engineer_g3a4_80_ols"; // Engineer +opfor_paratrooper = "gm_ge_army_paratrooper_g3a4_80_ols"; // Paratrooper + +// Enemy infantry - 90s +opfor_officer_late = "gm_ge_army_officer_p1_90_flk"; // Officer +opfor_squad_leader_late = "gm_ge_army_squadleader_g36a1_p2a1_90_flk"; // Squad Leader +opfor_team_leader_late = "gm_ge_army_squadleader_g36a1_p2a1_90_flk"; // Team Leader +opfor_sentry_late = "gm_ge_army_rifleman_g36a1_90_flk"; // Rifleman (Lite) +opfor_rifleman_late = "gm_ge_army_rifleman_g36a1_90_flk"; // Rifleman +opfor_rpg_late = "gm_ge_army_antitank_g36a1_pzf3_90_flk"; // Rifleman (LAT) +opfor_grenadier_late = "gm_ge_army_grenadier_hk69a1_90_flk"; // Grenadier +opfor_machinegunner_late = "gm_ge_army_machinegunner_mg3_90_flk"; // Autorifleman +opfor_heavygunner_late = "gm_ge_army_machinegunner_assistant_g36a1_mg3_90_flk"; // Heavy Gunner +opfor_marksman_late = "gm_ge_army_marksman_g3a3_90_flk"; // Marksman +opfor_sharpshooter_late = "gm_ge_army_marksman_g3a3_90_flk"; // Sharpshooter +opfor_sniper_late = "gm_ge_army_marksman_g3a3_90_flk"; // Sniper +opfor_at_late = "gm_ge_army_antitank_g36a1_pzf3_90_flk"; // AT Specialist +opfor_aa_late = "gm_ge_army_antiair_g36a1_fim43_90_flk"; // AA Specialist +opfor_medic_late = "gm_ge_army_medic_g36a1_90_flk"; // Combat Life Saver +opfor_engineer_late = "gm_ge_army_engineer_g36a1_90_flks"; // Engineer +opfor_paratrooper_late = "gm_ge_army_paratrooper_g36a1_90_flk"; // Paratrooper // Enemy vehicles used by secondary objectives. opfor_mrap = "gm_ge_army_iltis_cargo"; // Truck 0.5t diff --git a/kp_liberation.brf_sumava/presets/resistance/germany.sqf b/kp_liberation.brf_sumava/presets/resistance/germany.sqf index 18497c9..7066369 100644 --- a/kp_liberation.brf_sumava/presets/resistance/germany.sqf +++ b/kp_liberation.brf_sumava/presets/resistance/germany.sqf @@ -169,6 +169,10 @@ KP_liberation_guerilla_headgear_3 = [ // Facegear. Applies for tier 2 and 3. KP_liberation_guerilla_facegear = [ + "", + "", + "", + "", "G_Bandanna_tan", "G_Bandanna_khk", "G_Bandanna_oli", diff --git a/kp_liberation.brf_sumava/scripts/server/patrols/send_paratroopers.sqf b/kp_liberation.brf_sumava/scripts/server/patrols/send_paratroopers.sqf index 4adf338..1304e82 100644 --- a/kp_liberation.brf_sumava/scripts/server/patrols/send_paratroopers.sqf +++ b/kp_liberation.brf_sumava/scripts/server/patrols/send_paratroopers.sqf @@ -36,7 +36,7 @@ if (isNull _chopper_type) then { private _para_group = createGroup [GRLIB_side_enemy, true]; while {(count (units _para_group)) < 8} do { - [opfor_paratrooper, markerPos _spawnsector, _para_group] call KPLIB_fnc_createManagedUnit; + [opfor_paratrooper_late, markerPos _spawnsector, _para_group] call KPLIB_fnc_createManagedUnit; }; {removeBackpack _x; _x addBackPack "B_parachute"; _x moveInCargo _newvehicle;} forEach (units _para_group);