1 Commits

Author SHA1 Message Date
67336be62a Faction switcher part 1 WIP 2025-07-12 13:43:17 +03:00
5 changed files with 82 additions and 43 deletions

View File

@@ -884,7 +884,6 @@ GRLIB_arsenal_items = [
"kat_retractor", "kat_retractor",
"kat_scalpel", "kat_scalpel",
"kat_stethoscope", "kat_stethoscope",
"kat_TXA",
// Food // Food
"ACE_Canteen", "ACE_Canteen",
@@ -940,14 +939,9 @@ GRLIB_arsenal_items = [
"ACE_salineIV", // Saline IV (1000 ml) "ACE_salineIV", // Saline IV (1000 ml)
"ACE_Sandbag_empty", // Sandbag (empty) "ACE_Sandbag_empty", // Sandbag (empty)
"ACE_splint", // Splint "ACE_splint", // Splint
"ACE_suture", // Suture
"ACE_surgicalKit", // Surgical Kit "ACE_surgicalKit", // Surgical Kit
"ACE_tourniquet", // Tourniquet (CAT) "ACE_tourniquet", // Tourniquet (CAT)
"ACE_wirecutter", // Wirecutter "ACE_wirecutter" // Wirecutter
// ACRE Radios
"ACRE_SEM52SL",
"ACRE_SEM70"
]; ];
GRLIB_arsenal_backpacks = [ GRLIB_arsenal_backpacks = [

View File

@@ -179,20 +179,8 @@ static_vehicles = [
["tbd_d20_vanilla",100,200,0], // D-20 Howitzer (Towable) ["tbd_d20_vanilla",100,200,0], // D-20 Howitzer (Towable)
["rhs_D30_msv",100,250,0], // D-30 Howitzer (Towable) ["rhs_D30_msv",100,250,0], // D-30 Howitzer (Towable)
["rhs_Igla_AA_pod_msv",50,150,0], // Static Igla ["rhs_Igla_AA_pod_msv",50,150,0], // Static Igla
["RHS_ZU23_MSV",100,150,0], // ZU-23 (Towable) ["RHS_ZU23_MSV",100,150,0] // ZU-23 (Towable)
["tbd_d20",100,200,25], // D-20 Howitzer (Towable, Advanced verison) ["tbd_d20",100,200,25], // D-20 Howitzer (Towable, Advanced verison)
["tbd_mortars_152mm_box_he",0,0,0],
["tbd_mortars_152mm_box_dpicm",0,0,0],
["tbd_mortars_152mm_box_laser",0,0,0],
["tbd_mortars_100mm_box_he",0,0,0],
["tbd_mortars_100mm_box_heat",0,0,0],
["tbd_mortars_100mm_box_ap",0,0,0],
["tbd_mortars_100mm_box_atgm",0,0,0],
["tbd_2b9_vasilek_magazine",0,0,0],
["tbd_mortar_82mm_box_he",0,0,0],
["tbd_mortar_82mm_box_cumul",0,0,0],
["tbd_mortar_82mm_box_illum",0,0,0],
["tbd_mortar_82mm_box_smoke",0,0,0]
]; ];
buildings = [ buildings = [

View File

@@ -233,7 +233,7 @@ KPLIB_o_squadAir = [opfor_squad_leader, opfor_medic, opfor_machinegunner, opf
// //
// Mixed squads // 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_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]; 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_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]; 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];

View File

@@ -72,8 +72,8 @@ militia_squad = [
"gm_ge_army_antitank_g36a1_pzf3_90_blk", // Rifleman (AT) "gm_ge_army_antitank_g36a1_pzf3_90_blk", // Rifleman (AT)
"gm_ge_bgs_sf_machinegunner_g8_90_blk", // Autorifleman "gm_ge_bgs_sf_machinegunner_g8_90_blk", // Autorifleman
"gm_ge_bgs_sf_marksman_psg1_90_blk", // Marksman "gm_ge_bgs_sf_marksman_psg1_90_blk", // Marksman
"gm_ge_army_medic_g36a1_90_blk" // Medic "gm_ge_army_medic_g36a1_90_blk", // Medic
// "gm_ge_bgs_sf_grenadier_hk69a1_80_blk" // Grenadier "gm_ge_bgs_sf_grenadier_hk69a1_80_blk" // Grenadier
]; ];
// Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders. Can also be empty for only infantry milita. // Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders. Can also be empty for only infantry milita.

View File

@@ -0,0 +1,57 @@
// Script to switch defender factions.
// Switches randomly between the factions from presets/opfor/gm_west.sqf
// Needs to be called every time a unit is spawned.
private _factionRoll = floor (random 100);
switch (true) do {
// Germany Late (15%)
case (_factionRoll < 15): {
KPLIB_o_squadStd = KPLIB_o_squadStd_DE_90;
KPLIB_o_squadInf = KPLIB_o_squadInf_DE_90;
KPLIB_o_squadTank = KPLIB_o_squadTank_DE_90;
KPLIB_o_squadAir = KPLIB_o_squadAir_DE_90;
};
// Germany Early (30%)
case (_factionRoll < 45): {
KPLIB_o_squadStd = KPLIB_o_squadStd_DE_80;
KPLIB_o_squadInf = KPLIB_o_squadInf_DE_80;
KPLIB_o_squadTank = KPLIB_o_squadTank_DE_80;
KPLIB_o_squadAir = KPLIB_o_squadAir_DE_80;
};
// Germany Boderguards (5%)
case (_factionRoll < 50): {
KPLIB_o_squadStd = KPLIB_o_squadStd_DEBG;
KPLIB_o_squadInf = KPLIB_o_squadInf_DEBG;
KPLIB_o_squadTank = KPLIB_o_squadTank_DEBG;
KPLIB_o_squadAir = KPLIB_o_squadAir_DEBG;
};
// Denmark (10%)
case (_factionRoll < 60): {
KPLIB_o_squadStd = KPLIB_o_squadStd_DK;
KPLIB_o_squadInf = KPLIB_o_squadInf_DK;
KPLIB_o_squadTank = KPLIB_o_squadTank_DK;
KPLIB_o_squadAir = KPLIB_o_squadAir_DK;
};
// US Army Late (20%)
case (_factionRoll < 80): {
KPLIB_o_squadStd = KPLIB_o_squadStd_USA_L;
KPLIB_o_squadInf = KPLIB_o_squadInf_USA_L;
KPLIB_o_squadTank = KPLIB_o_squadTank_USA_L;
KPLIB_o_squadAir = KPLIB_o_squadAir_USA_L;
};
// US Army Early (15%)
case (_factionRoll < 90): {
KPLIB_o_squadStd = KPLIB_o_squadStd_USA_E;
KPLIB_o_squadInf = KPLIB_o_squadInf_USA_E;
KPLIB_o_squadTank = KPLIB_o_squadTank_USA_E;
KPLIB_o_squadAir = KPLIB_o_squadAir_USA_E;
};
// USMC (10%)
case (_factionRoll < 100): {
KPLIB_o_squadStd = KPLIB_o_squadStd_USMC;
KPLIB_o_squadInf = KPLIB_o_squadInf_USMC;
KPLIB_o_squadTank = KPLIB_o_squadTank_USMC;
KPLIB_o_squadAir = KPLIB_o_squadAir_USMC;
};
};