1 Commits

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

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