1 Commits

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

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_82mm_box_he",0,0,0],
["tbd_mortars_82mm_box_cumul",0,0,0],
["tbd_mortars_82mm_box_illum",0,0,0],
["tbd_mortars_82mm_box_laser",0,0,0],
["tbd_2b9_vasilek_magazine",0,0,0],
["tbd_mortars_100mm_box_he",0,0,0],
["tbd_mortars_100mm_box_heat",0,0,0],
["tbd_mortars_100mm_box_atgm",0,0,0],
["tbd_mortars_100mm_box_ap",0,0,0]
]; ];
buildings = [ buildings = [

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;
};
};