Jacob Schmidt 8582e6c5e5 Discover enemy factions dynamically from loaded mods
- Scan CfgFactionClasses/CfgVehicles at runtime for selectable enemy factions
- Add CfgFactionUnitMap overrides and keep legacy params as fallback
2026-05-23 01:23:14 -05:00

89 lines
2.1 KiB
C++

/*
* Mission lobby fallback params.
*
* The startup setup UI now discovers selectable factions dynamically from the
* active modset. Params remain intentionally static because Arma evaluates
* them before mission runtime scripts can scan loaded factions. If the setup UI
* is cancelled or never opened, these values provide the default fallback.
*/
class Params {
class enemyFaction {
title = "Enemy Faction";
values[] = {0,1,2,3,4,5,6,7,8,9,10};
texts[] = {
"CSAT",
"CSAT (Pacific)",
"Spetnaz",
"SFIA (OPFOR)",
"Tura (OPFOR)",
"AAF",
"FIA",
"LDF",
"Syndikat",
"Looters",
"Tura (Independent)"
};
default = 6;
};
class maxConcurrentMissions {
title = "Max Concurrent Missions";
values[] = {1,2,3,4,5};
default = 3;
};
class missionInterval {
title = "Mission Interval (seconds)";
values[] = {60,120,300,600,900};
default = 300;
};
class moneyMin {
title = "Money Min";
values[] = {0,10000,25000,40000};
default = 25000;
};
class moneyMax {
title = "Money Max";
values[] = {20000,40000,60000,80000,120000};
default = 60000;
};
class reputationMin {
title = "Reputation Min";
values[] = {0,2,4,6,8,10};
default = 6;
};
class reputationMax {
title = "Reputation Max";
values[] = {10,12,14,18,22,30};
default = 14;
};
class penaltyMin {
title = "Penalty Min";
values[] = {-20,-16,-12,-8,-6,-4,-3};
default = -8;
};
class penaltyMax {
title = "Penalty Max";
values[] = {-20,-16,-12,-8,-6,-4,-3};
default = -3;
};
class timeLimitMin {
title = "Time Limit Min (seconds)";
values[] = {300,600,900,1200,1800};
default = 900;
};
class timeLimitMax {
title = "Time Limit Max (seconds)";
values[] = {600,900,1800,2400,3600};
default = 1800;
};
};