- Scan CfgFactionClasses/CfgVehicles at runtime for selectable enemy factions - Add CfgFactionUnitMap overrides and keep legacy params as fallback
59 lines
2.4 KiB
C++
59 lines
2.4 KiB
C++
/*
|
|
* Runtime enemy faction discovery controls for the PMC simulator setup flow.
|
|
*
|
|
* Consumers:
|
|
* - forge_pmc_fnc_getEnemyFactionOptions scans loaded CfgFactionClasses and
|
|
* CfgVehicles at runtime, then uses this config to filter and polish the UI.
|
|
* - forge_pmc_fnc_resolveEnemyFactionParam uses override values here to keep
|
|
* legacy mission params compatible when the setup UI is cancelled.
|
|
* - Mission generators use ENEMY_FACTION_STR and ENEMY_SIDE after setup has
|
|
* applied the selected option.
|
|
*
|
|
* This config is intentionally not the full faction list. Any loaded mod
|
|
* faction on an allowed side can appear automatically if it has spawnable
|
|
* infantry or a CfgFactionUnitMap override.
|
|
*/
|
|
class CfgEnemyFactions {
|
|
/*
|
|
* Arma side IDs allowed as generated enemy factions:
|
|
* - 0: EAST / OPFOR
|
|
* - 2: RESISTANCE / Independent
|
|
*
|
|
* WEST / BLUFOR is intentionally excluded because generated missions use
|
|
* these options as opposing forces.
|
|
*/
|
|
sides[] = {0, 2};
|
|
|
|
/*
|
|
* Factions that should never be offered even if present in the active
|
|
* modset. Keep this for factions that are unsuitable for PMC contracts.
|
|
*/
|
|
denylist[] = {
|
|
"IND_UN_lxWS"
|
|
};
|
|
|
|
/*
|
|
* Optional display/order/value metadata for known factions.
|
|
*
|
|
* - value keeps legacy Params::enemyFaction values stable.
|
|
* - order controls setup UI ordering before dynamically discovered factions.
|
|
* - display overrides raw CfgFactionClasses names when we want cleaner text.
|
|
*
|
|
* Factions not listed here are still discovered automatically and sorted
|
|
* after these known options.
|
|
*/
|
|
class Overrides {
|
|
class OPF_F { value = 0; order = 0; display = "CSAT"; };
|
|
class OPF_T_F { value = 1; order = 1; display = "CSAT (Pacific)"; };
|
|
class OPF_R_F { value = 2; order = 2; display = "Spetnaz"; };
|
|
class OPF_SFIA_lxWS { value = 3; order = 3; display = "SFIA"; };
|
|
class OPF_TURA_lxWS { value = 4; order = 4; display = "Tura"; };
|
|
class IND_F { value = 5; order = 5; display = "AAF"; };
|
|
class IND_G_F { value = 6; order = 6; display = "FIA"; };
|
|
class IND_E_F { value = 7; order = 7; display = "LDF"; };
|
|
class IND_C_F { value = 8; order = 8; display = "Syndikat"; };
|
|
class IND_L_F { value = 9; order = 9; display = "Looters"; };
|
|
class IND_TURA_lxWS { value = 10; order = 10; display = "Tura"; };
|
|
};
|
|
};
|