From 6e0f18f6adf74e0cd752131a99dd682a953034dd Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Sat, 27 Jun 2026 17:30:45 +0000 Subject: [PATCH 1/4] Disabled penalty for destroying civilian buildings --- src/kp_liberation_config.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kp_liberation_config.sqf b/src/kp_liberation_config.sqf index 5b9e4d1..e6e2720 100644 --- a/src/kp_liberation_config.sqf +++ b/src/kp_liberation_config.sqf @@ -226,7 +226,7 @@ GRLIB_battlegroup_cap = 150; // Cap f GRLIB_patrol_cap = 150; // Cap for enemy patrols. KP_liberation_cr_kill_penalty = 5; // Civil Reputation penalty for killing a civilian. -KP_liberation_cr_building_penalty = 3; // Civil Reputation penalty for destroying/damaging a building. +KP_liberation_cr_building_penalty = 0; // Civil Reputation penalty for destroying/damaging a building. KP_liberation_cr_vehicle_penalty = 2; // Civil Reputation penalty for stealing a civilian vehicle. KP_liberation_cr_resistance_penalty = 3; // Civil Reputation penalty for killing a friendly resistance soldier. KP_liberation_cr_sector_gain = 5; // Civil Reputation gain for liberate a sector. From f3bfbc80efaff6c1743d6380653af6846e893484 Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Sat, 27 Jun 2026 17:50:01 +0000 Subject: [PATCH 2/4] Disabled civilians --- src/kp_liberation_config.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kp_liberation_config.sqf b/src/kp_liberation_config.sqf index e6e2720..bccd23f 100644 --- a/src/kp_liberation_config.sqf +++ b/src/kp_liberation_config.sqf @@ -217,7 +217,7 @@ GRLIB_vulnerability_timer = 1800; // Time GRLIB_radiotower_size = 3500; // Radio Tower scanning range. GRLIB_surrender_chance = 80; // Chance that enemy infantry will surrender after heavy losses are encountered. -GRLIB_civilians_amount = 3; // Civilian count multiplier. +GRLIB_civilians_amount = 0; // Civilian count multiplier. GRLIB_cleanup_delay = 300; // Time in seconds until bodies of dead soldiers are cleaned up. GRLIB_blufor_cap = 100; // Cap for BLUFOR. From 890a7cca94a262da06977ef5d8519d5f784d8a9f Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Sat, 27 Jun 2026 19:40:51 +0000 Subject: [PATCH 3/4] Removed extra comma --- src/presets/opfor/rhs_afrf.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/presets/opfor/rhs_afrf.sqf b/src/presets/opfor/rhs_afrf.sqf index 0f253d5..aab4a5f 100644 --- a/src/presets/opfor/rhs_afrf.sqf +++ b/src/presets/opfor/rhs_afrf.sqf @@ -195,7 +195,7 @@ opfor_battlegroup_vehicles = [ "TSB_BRDM2_r", "TSB_BRDM2_ZU23_r", "TSB_BRDM2A_r", -"rhs_pchela1t_vvs", +"rhs_pchela1t_vvs" //"tbd_mtlb_deva", //"tbd_mtlb_tundzha", //"tbd_mtlb_type63", From fd6558b65aa9f10bf064a94844506f292588a69d Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Sat, 27 Jun 2026 19:45:13 +0000 Subject: [PATCH 4/4] Fixed formatting and commas --- src/presets/opfor/rhs_afrf.sqf | 304 ++++++++++++++++----------------- 1 file changed, 150 insertions(+), 154 deletions(-) diff --git a/src/presets/opfor/rhs_afrf.sqf b/src/presets/opfor/rhs_afrf.sqf index aab4a5f..d8d8481 100644 --- a/src/presets/opfor/rhs_afrf.sqf +++ b/src/presets/opfor/rhs_afrf.sqf @@ -44,14 +44,14 @@ Therefore, adding the same value twice or three times means they are more likely Think of them like garrison or military police forces, which are more meant to control the local population instead of fighting enemy armies. */ militia_squad = [ "RUS_MSV_sr_efreitor", -"RUS_MSV_sr_grenadier", -"RUS_MSV_sr_gunner", -"RUS_MSV_sr_juniorsergeant", -"RUS_MSV_sr_machinegunner", -"RUS_MSV_sr_private", -"RUS_MSV_sr_rifleman", -"RUS_MSV_sr_riflemangrenadierassistant", -"RUS_MSV_sr_riflemanmachinegunnerassistant" + "RUS_MSV_sr_grenadier", + "RUS_MSV_sr_gunner", + "RUS_MSV_sr_juniorsergeant", + "RUS_MSV_sr_machinegunner", + "RUS_MSV_sr_private", + "RUS_MSV_sr_rifleman", + "RUS_MSV_sr_riflemangrenadierassistant", + "RUS_MSV_sr_riflemanmachinegunnerassistant" ]; // Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders. @@ -65,17 +65,16 @@ militia_vehicles = [ "RUS_MSV_9p135", "RUS_MSV_9p135m", "RUS_MSV_9p151", -"RUS_MSV_9p163m1", -"RUS_MSV_ags17", -"RUS_MSV_nsvs", -"RUS_MSV_2b14", -"RUS_MP_kord", -"rhs_SPG9M_MSV" // GAZ-233014 (Armed) + "RUS_MSV_9p163m1", + "RUS_MSV_ags17", + "RUS_MSV_nsvs", + "RUS_MSV_2b14", + "RUS_MP_kord", + "rhs_SPG9M_MSV" // GAZ-233014 (Armed) ]; // Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders. Can also be empty for only infantry milita. opfor_vehicles = [ - "rhs_tigr_sts_msv", "TSB_BRDM2_r", "rhs_uaz_open_MSV_01", @@ -85,126 +84,124 @@ opfor_vehicles = [ "RUS_MSV_9p135", "RUS_MSV_9p135m", "RUS_MSV_9p151", -"RUS_MSV_9p163m1", -"RUS_MSV_ags17", -"RUS_MSV_nsvs", -"RUS_MSV_2b14", -"RUS_MP_kord", -"rhs_SPG9M_MSV" - + "RUS_MSV_9p163m1", + "RUS_MSV_ags17", + "RUS_MSV_nsvs", + "RUS_MSV_2b14", + "RUS_MP_kord", + "rhs_SPG9M_MSV" ]; // All enemy vehicles that can spawn as sector defenders and patrols but at a lower enemy combat readiness (aggression levels). opfor_vehicles_low_intensity = [ "RUS_MSV_bmm", -"RUS_MSV_btr80", -"RUS_MSV_btr82a", -"RUS_MSV_mtlb", -"RUS_MSV_mtlbm6mb", -"RUS_MSV_mtlbvmk", -"RUS_MSV_prp3", -"RUS_MSV_brm1k", -"RUS_MSV_9p149", -"RUS_MSV_9p148", -//"tbd_mtlb_deva", -//"tbd_mtlb_tundzha", -//"tbd_mtlb_type63", -//"tbd_mtlb_mt12", -//"tbd_mtlb_bm21", -//"tbd_mtlb_2b9", -//"tbd_mtlb_6ma2_tkn4g", -"RUS_MSV_9p135", -"RUS_MSV_9p135m", -"RUS_MSV_9p151", -"RUS_MSV_9p163m1", -"RUS_MSV_ags17", -"RUS_MSV_nsvs", -"RUS_MSV_2b14", -"RUS_MP_kord", -"rhs_SPG9M_MSV" + "RUS_MSV_btr80", + "RUS_MSV_btr82a", + "RUS_MSV_mtlb", + "RUS_MSV_mtlbm6mb", + "RUS_MSV_mtlbvmk", + "RUS_MSV_prp3", + "RUS_MSV_brm1k", + "RUS_MSV_9p149", + "RUS_MSV_9p148", + //"tbd_mtlb_deva", + //"tbd_mtlb_tundzha", + //"tbd_mtlb_type63", + //"tbd_mtlb_mt12", + //"tbd_mtlb_bm21", + //"tbd_mtlb_2b9", + //"tbd_mtlb_6ma2_tkn4g", + "RUS_MSV_9p135", + "RUS_MSV_9p135m", + "RUS_MSV_9p151", + "RUS_MSV_9p163m1", + "RUS_MSV_ags17", + "RUS_MSV_nsvs", + "RUS_MSV_2b14", + "RUS_MP_kord", + "rhs_SPG9M_MSV" ]; // All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at high enemy combat readiness (aggression levels). opfor_battlegroup_vehicles = [ "RUS_MSV_strela10", -"RUS_MSV_zsu234", -"RUS_MSV_bmm", -"RUS_MSV_btr80", -"RUS_MSV_btr82a", -"RUS_MSV_mtlb", -"RUS_MSV_mtlbm6mb", -"RUS_MSV_mtlbvmk", -"RUS_MSV_prp3", -"RUS_MSV_ap2", -"RUS_MSV_asn233115", -"RUS_MSV_atmz54320", -"RUS_MSV_kamaz4310", -"RUS_MSV_mtoat", -"RUS_MSV_uaz469", -"RUS_MSV_ural43202", -"RUS_MSV_9p135", -"RUS_MSV_9p135m", -"RUS_MSV_9p151", -"RUS_MSV_9p163m1", -"RUS_MSV_ags17", -"RUS_MSV_nsvs", -"RUS_MSV_bmp1", -"RUS_MSV_bmp1k", -"RUS_MSV_bmp2", -"RUS_MSV_bmp2k", -"RUS_MSV_bmp3", -"RUS_MSV_bmp3m", -"RUS_MSV_2b14", -"RUS_MSV_2b17", -"RUS_MSV_brm1k", -"RUS_MSV_2s1", -"RUS_MSV_2s3m1", -"RUS_MSV_9p149", -"RUS_MSV_9p148", -"RUS_MSV_t72b", -"RUS_MSV_t72b3", -"RUS_MSV_t72b3m", -"RUS_MSV_t72bm", -"RUS_MSV_t80bv", -"RUS_MSV_t80bvk", -"RUS_MSV_t80u", -"RUS_MSV_t80u45m", -"RUS_MSV_t80ue1", -"RUS_MSV_t80uk", -"RUS_MSV_t90a", -"RUS_MSV_t90m", -"RUS_MSV_zu232", -"RUS_MSV_2a18m", -"RUS_VDV_bmd2", -"RUS_VDV_bmd2k", -"RUS_VDV_bmd4m", -"RUS_MP_kord", -"mkk_tigr_arbalet_dm_msv_f", -"rhs_tigr_sts_3camo_msv", -"rhs_uaz_open_MSV_01", -"rhs_gaz66_zu23_msv", -"RHS_Ural_Zu23_MSV_01", -"RHS_Ural_MSV_01", -"RHS_Ural_Open_Flat_MSV_01", -"rhs_kamaz5350_ammo_msv", -"RHS_Ural_Repair_MSV_01", -"rhs_SPG9M_MSV", -"MMM_KamAZ4386", -"MMM_KamAZ4386_BM30D", -"rhs_bmd4ma_vdv", -"TSB_BRDM2_r", -"TSB_BRDM2_ZU23_r", -"TSB_BRDM2A_r", -"rhs_pchela1t_vvs" -//"tbd_mtlb_deva", -//"tbd_mtlb_tundzha", -//"tbd_mtlb_type63", -//"tbd_mtlb_mt12", -//"tbd_mtlb_bm21", -//"tbd_mtlb_2b9", -//"tbd_mtlb_6ma2_tkn4g", -"rhs_sprut_vdv" - + "RUS_MSV_zsu234", + "RUS_MSV_bmm", + "RUS_MSV_btr80", + "RUS_MSV_btr82a", + "RUS_MSV_mtlb", + "RUS_MSV_mtlbm6mb", + "RUS_MSV_mtlbvmk", + "RUS_MSV_prp3", + "RUS_MSV_ap2", + "RUS_MSV_asn233115", + "RUS_MSV_atmz54320", + "RUS_MSV_kamaz4310", + "RUS_MSV_mtoat", + "RUS_MSV_uaz469", + "RUS_MSV_ural43202", + "RUS_MSV_9p135", + "RUS_MSV_9p135m", + "RUS_MSV_9p151", + "RUS_MSV_9p163m1", + "RUS_MSV_ags17", + "RUS_MSV_nsvs", + "RUS_MSV_bmp1", + "RUS_MSV_bmp1k", + "RUS_MSV_bmp2", + "RUS_MSV_bmp2k", + "RUS_MSV_bmp3", + "RUS_MSV_bmp3m", + "RUS_MSV_2b14", + "RUS_MSV_2b17", + "RUS_MSV_brm1k", + "RUS_MSV_2s1", + "RUS_MSV_2s3m1", + "RUS_MSV_9p149", + "RUS_MSV_9p148", + "RUS_MSV_t72b", + "RUS_MSV_t72b3", + "RUS_MSV_t72b3m", + "RUS_MSV_t72bm", + "RUS_MSV_t80bv", + "RUS_MSV_t80bvk", + "RUS_MSV_t80u", + "RUS_MSV_t80u45m", + "RUS_MSV_t80ue1", + "RUS_MSV_t80uk", + "RUS_MSV_t90a", + "RUS_MSV_t90m", + "RUS_MSV_zu232", + "RUS_MSV_2a18m", + "RUS_VDV_bmd2", + "RUS_VDV_bmd2k", + "RUS_VDV_bmd4m", + "RUS_MP_kord", + "mkk_tigr_arbalet_dm_msv_f", + "rhs_tigr_sts_3camo_msv", + "rhs_uaz_open_MSV_01", + "rhs_gaz66_zu23_msv", + "RHS_Ural_Zu23_MSV_01", + "RHS_Ural_MSV_01", + "RHS_Ural_Open_Flat_MSV_01", + "rhs_kamaz5350_ammo_msv", + "RHS_Ural_Repair_MSV_01", + "rhs_SPG9M_MSV", + "MMM_KamAZ4386", + "MMM_KamAZ4386_BM30D", + "rhs_bmd4ma_vdv", + "TSB_BRDM2_r", + "TSB_BRDM2_ZU23_r", + "TSB_BRDM2A_r", + "rhs_pchela1t_vvs", + //"tbd_mtlb_deva", + //"tbd_mtlb_tundzha", + //"tbd_mtlb_type63", + //"tbd_mtlb_mt12", + //"tbd_mtlb_bm21", + //"tbd_mtlb_2b9", + //"tbd_mtlb_6ma2_tkn4g", + "rhs_sprut_vdv" ]; // All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at lower enemy combat readiness (aggression levels). @@ -212,51 +209,50 @@ opfor_battlegroup_vehicles_low_intensity = [ "RUS_MSV_btr80", "RUS_MSV_btr82a", "RUS_MSV_bmm", -"RUS_MSV_btr80", -"RUS_MSV_btr82a", -"RUS_MSV_mtlb", -"RUS_MSV_mtlbm6mb", -"RUS_MSV_mtlbvmk", -//"tbd_mtlb_deva", -//"tbd_mtlb_tundzha", -//"tbd_mtlb_type63", -//"tbd_mtlb_mt12", -//"tbd_mtlb_bm21", -//"tbd_mtlb_2b9", -//"tbd_mtlb_6ma2_tkn4g" + "RUS_MSV_btr80", + "RUS_MSV_btr82a", + "RUS_MSV_mtlb", + "RUS_MSV_mtlbm6mb", + "RUS_MSV_mtlbvmk" + //"tbd_mtlb_deva", + //"tbd_mtlb_tundzha", + //"tbd_mtlb_type63", + //"tbd_mtlb_mt12", + //"tbd_mtlb_bm21", + //"tbd_mtlb_2b9", + //"tbd_mtlb_6ma2_tkn4g" ]; /* All vehicles that spawn within battlegroups (see the above 2 arrays) and also hold 8 soldiers as passengers. If something in this array can't hold all 8 soldiers then buggy behaviours may occur. */ opfor_troup_transports = [ "RUS_MSV_bmp1", -"RUS_MSV_bmp1k", -"RUS_MSV_bmp2", -"RUS_MSV_bmp2k", -"RUS_MSV_bmp3", -"RUS_MSV_bmm", -"RUS_MSV_btr80", -"RUS_MSV_btr82a", -"RUS_MSV_mtlb", -"RUS_MSV_mtlbvmk", -//"tbd_mtlb_6ma2_tkn4g", + "RUS_MSV_bmp1k", + "RUS_MSV_bmp2", + "RUS_MSV_bmp2k", + "RUS_MSV_bmp3", + "RUS_MSV_bmm", + "RUS_MSV_btr80", + "RUS_MSV_btr82a", + "RUS_MSV_mtlb", + "RUS_MSV_mtlbvmk", + //"tbd_mtlb_6ma2_tkn4g", "RUS_VKS_mi8mt", // Mi-8MT (Cargo) - "RUS_VKS_mi24p" // Mi-24P (AT) - + "RUS_VKS_mi24p" // Mi-24P (AT) ]; // Enemy rotary-wings that will need to spawn in flight. opfor_choppers = [ "RUS_VKS_ka52", -"RUS_VKS_mi24p", -"RUS_VKS_mi28n", -"RUS_VKS_mi8mt", -"RUS_VKS_mi8mtv2" + "RUS_VKS_mi24p", + "RUS_VKS_mi28n", + "RUS_VKS_mi8mt", + "RUS_VKS_mi8mtv2" ]; // Enemy fixed-wings that will need to spawn in the air. opfor_air = [ - "RHS_Su25SM_vvs", // Su-25 + "RHS_Su25SM_vvs", // Su-25 "RUS_VKS_su25sm", // Su-25 (KH29) "RUS_VKS_mig29s", "RUS_VKS_mig29smt",