Skip to content

Upgrade Research Cross Faction Reference

rayswaynl edited this page Jun 28, 2026 · 5 revisions

Upgrade Research Reference (cross-faction cost, level, and dependency tables)

Source-verified 2026-06-21 against then-current master cf2a6d6a4; current origin/master is 0139a346, so recheck cited paths before current-head claims. Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/ unless noted. Arma 2 OA 1.64.

Each faction has a dedicated upgrade config file under Common/Config/Core_Upgrades/. Every file sets five missionNamespace arrays (ENABLED, COSTS, LEVELS, LINKS, TIMES) and one AI_ORDER array, then calls Check_Upgrades.sqf to patch any gaps in the AI build order. The 24 array positions map to constants defined in Common/Init/Init_CommonConstants.sqf:37-59.


1. Upgrade Index (WFBE_UP_* constants)

Idx Constant UI Label (from Labels_Upgrades.sqf:54-78)
0 WFBE_UP_BARRACKS Barracks
1 WFBE_UP_LIGHT Light Factory
2 WFBE_UP_HEAVY Heavy Factory
3 WFBE_UP_AIR Aircraft Factory
4 WFBE_UP_PARATROOPERS Paratroopers
5 WFBE_UP_UAV UAV
6 WFBE_UP_SUPPLYRATE Supply Rate
7 WFBE_UP_RESPAWNRANGE Respawn Range
8 WFBE_UP_AIRLIFT Airlift
9 WFBE_UP_FLARESCM Countermeasures (Custom Flares)
10 WFBE_UP_ARTYTIMEOUT Artillery Cooldown
11 WFBE_UP_ICBM ICBM
12 WFBE_UP_FASTTRAVEL Fast Travel
13 WFBE_UP_GEAR Gear
14 WFBE_UP_AMMOCOIN Build Ammo
15 WFBE_UP_EASA EASA
16 WFBE_UP_SUPPLYPARADROP Supply Paradrop
17 WFBE_UP_ARTYAMMO Artillery Ammo
18 WFBE_UP_IRSMOKE IR Smoke
19 WFBE_UP_AIRAAM Aircraft AA Missiles
20 WFBE_UP_AAR Anti-Air Radar
21 WFBE_UP_UNITCOST Unit Cost Modifier
22 WFBE_UP_CBRADAR Counter-Battery Radar
23 WFBE_UP_PATROLS Patrols

Sources: Common/Init/Init_CommonConstants.sqf:37-59, Common/Config/Core_Upgrades/Labels_Upgrades.sqf:54-78.


2. Per-Faction Availability and File Map

Each upgrade config file receives the faction string as _this (the _side parameter) and is called via ExecVM or Call Compile preprocessFileLineNumbers from the corresponding Common/Config/Core_Root/Root_<faction>.sqf. Example dispatch line: Common/Config/Core_Root/Root_US.sqf:137.

File Faction string (_side) AAR (idx 20) purchasable? Supply Lv3 cost Build Ammo link
Upgrades_CO_US.sqf CO_US Yes (LEVELS[20] = 2) 8,000 GEAR 5
Upgrades_CO_RU.sqf CO_RU Yes (LEVELS[20] = 2) 8,000 GEAR 5
Upgrades_GUE.sqf GUE Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_CO_GUE.sqf CO_GUE Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_INS.sqf INS Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_CDF.sqf CDF Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_RU.sqf RU Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_OA_US.sqf OA_US Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_OA_TKA.sqf OA_TKA Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_OA_TKGUE.sqf OA_TKGUE Yes (LEVELS[20] = 2) 6,000 GEAR 2
Upgrades_USMC.sqf USMC Yes (LEVELS[20] = 2) 6,000 GEAR 2

AAR availability note: CO_US and CO_RU have LEVELS[20] = 2 (AAR purchasable, 2 levels). GUE, CO_GUE, INS, CDF, RU, OA_US, OA_TKGUE, and USMC have LEVELS[20] = 2 and ENABLED[20] = true — AAR is purchasable at 2 levels for these factions. OA_TKA has AAR enabled at its own index. The erroneous Upgrades_GUE.sqf:82 line reference pointed into the LINKS array, not the LEVELS array; the actual LEVELS array for GUE ends before line 82. The index-21 slot (UNITCOST) is disabled in INS/CDF/RU/OA_US/OA_TKGUE/USMC via ENABLED[21] = false; GUE and CO_GUE have UNITCOST and CBR (idx 22) enabled at level 2.

Module-gated upgrades: ten module-gated upgrade slots resolve their ENABLED value at runtime from module constants, not hardcoded booleans. See Upgrades_CO_US.sqf:11-28 for the full pattern. The ten slots are: UAV (WFBE_<side>UAV nil-check), Custom Flares (WFBE_C_MODULE_WFBE_FLARES == 1), Artillery Timeout (WFBE_C_ARTILLERY > 0), ICBM (WFBE_C_MODULE_WFBE_ICBM > 0), Fast Travel (WFBE_C_GAMEPLAY_FAST_TRAVEL > 0), EASA (WFBE_C_MODULE_WFBE_EASA > 0), Artillery Ammo (WFBE_C_ARTILLERY > 0), IR Smoke (WFBE_C_MODULE_WFBE_IRSMOKE > 0), Aircraft AA Missiles (WFBE_C_MODULE_WFBE_FLARES == 1 — same gate as Custom Flares), Counter-Battery Radar (WFBE_C_STRUCTURES_COUNTERBATTERY > 0). Custom Flares and Aircraft AA Missiles share one module gate.


3. Cost Tables (COSTS array — format [supply, funds])

All faction files share costs for most upgrades; the two meaningful differences are Supply Rate level 3 and Build Ammo dependency, documented in Section 2 above. The tables below show the exact COSTS arrays from source.

3a. CO_US / CO_RU (identical costs)

Upgrades_CO_US.sqf:31-56, Upgrades_CO_RU.sqf:31-56

Upgrade Lv 1 Lv 2 Lv 3 Lv 4 Lv 5 Lv 6
Barracks 540 1,350 2,070
Light Factory 250 950 1,900 3,500
Heavy Factory 1,200 4,400 9,500 10,500
Aircraft Factory 1,200 4,000 9,200 10,500 17,600
Paratroopers 1,500 2,500 3,500
UAV 2,000
Supply Rate 2,700 4,800 8,000
Respawn Range 500 1,500
Airlift 1,000
Countermeasures 4,500
Artillery Cooldown 800 1,400 2,200 3,700 6,100 10,000
ICBM 49,500 (+80,000 supply)
Fast Travel 1,500
Gear 250 650 1,200 2,100 2,400
Build Ammo 750
EASA 4,000
Supply Paradrop 2,000
Artillery Ammo 2,500
IR Smoke 3,000 9,000
Aircraft AA Missiles 7,500
Anti-Air Radar 5,000 12,500
Unit Cost Modifier 25,000 50,000
Counter-Battery Radar 3,500 6,500
Patrols 300 1,600 2,400 3,200

All costs are [cash, 0] except ICBM which costs [49500, 80000]. Upgrades_CO_US.sqf:31-56.

3b. GUE / CO_GUE / INS / CDF / RU / OA_US / OA_TKGUE / USMC (identical costs among these, AAR unavailable)

Upgrades_GUE.sqf:31-56 (canonical; confirmed identical in CO_GUE, INS, CDF, RU, OA_US, OA_TKGUE, USMC)

Differs from CO_US/CO_RU in two cells:

Upgrade CO_US / CO_RU GUE / INS / CDF / RU / OA_US / OA_TKGUE / USMC / CO_GUE
Supply Rate Lv 3 8,000 6,000
Anti-Air Radar Lv 1 5,000 5,000 (costs present but LEVELS[20] = 0; upgrade unavailable)
Anti-Air Radar Lv 2 12,500 12,500 (idem)
Unit Cost Modifier Lv 1 25,000 (guard — COSTS[21] = [999999,0])

All other cost entries are identical to the CO_US table above. Upgrades_GUE.sqf:38,53-54.

3c. OA_TKA (unique: AAR enabled, Supply Lv3 at 6,000)

Upgrades_OA_TKA.sqf:31-56

OA_TKA is the only faction that combines AAR enabled (ENABLED[20] = true, costs 5,000 / 12,500) with the cheaper Supply Rate level 3 (6,000). All other cost values match the GUE/INS/etc. column above.


4. Max Levels (LEVELS array)

Upgrades_CO_US.sqf:58-83 — these values are identical across all factions except where AAR is disabled (those factions set LEVELS[20] = 0 and LEVELS[21] = 0).

Upgrade Max levels (all factions with upgrade enabled) AAR-disabled factions
Barracks 3 3
Light Factory 4 4
Heavy Factory 4 4
Aircraft Factory 5 5
Paratroopers 3 3
UAV 1 1
Supply Rate 3 3
Respawn Range 2 2
Airlift 1 1
Countermeasures 1 1
Artillery Cooldown 6 6
ICBM 1 1
Fast Travel 1 1
Gear 5 5
Build Ammo 1 1
EASA 1 1
Supply Paradrop 1 1
Artillery Ammo 1 1
IR Smoke 2 2
Aircraft AA Missiles 1 1
Anti-Air Radar 2 (all factions) n/a
Unit Cost Modifier 2 0 (same factions that have AAR unavailable)
Patrols 4 4

Disable mechanism differs between AAR and UNITCOST. AAR (idx 20) has LEVELS[20] = 2 and ENABLED[20] = true in GUE and all other factions — AAR is purchasable everywhere. UNITCOST (idx 21) is disabled in GUE via ENABLED[21] = false (Upgrades_GUE.sqf:27) while LEVELS[21]=2 and COSTS[21] hold real values; in INS/CDF/RU/OA_US/OA_TKGUE/USMC the UNITCOST and CBR slots use index-padding (COSTS = [[999999,0]], LEVELS = 0). CBR (idx 22) is disabled in GUE via ENABLED[22] = false (Upgrades_GUE.sqf:28).


5. Research Times (TIMES array, in seconds)

Two distinct time profiles exist. CO_US and CO_RU share the same faster progression for some upgrades; all other factions share the second profile.

Upgrades_CO_US.sqf:120-145, Upgrades_GUE.sqf:120-145

Upgrade CO_US / CO_RU All other factions
Barracks 30 / 60 / 90 s 30 / 60 / 90 s
Light Factory 40 / 70 / 100 / 130 s 40 / 60 / 80 / 100 s
Heavy Factory 30 / 50 / 80 / 100 s 50 / 70 / 90 / 110 s
Aircraft Factory 60 / 80 / 100 / 120 / 140 s 60 / 75 / 90 / 105 / 120 s
Paratroopers 35 / 55 / 75 s 35 / 55 / 75 s
UAV 60 s 60 s
Supply Rate 60 / 80 / 120 s 60 / 80 / 120 s
Respawn Range 30 / 60 / 90 s 30 / 60 / 90 s
Airlift 30 s 30 s
Countermeasures 100 s 100 s
Artillery Cooldown 40 / 70 / 100 / 130 / 160 / 190 s 40 / 70 / 100 / 130 / 160 / 190 s
ICBM 300 s 300 s
Fast Travel 60 s 60 s
Gear 25 / 50 / 75 / 100 / 125 s 25 / 50 / 75 / 100 / 125 s
Build Ammo 40 s 40 s
EASA 90 s 90 s
Supply Paradrop 50 s 50 s
Artillery Ammo 60 s 60 s
IR Smoke 120 / 180 s 120 / 180 s
Aircraft AA Missiles 120 s 120 s
Anti-Air Radar 50 / 125 s (CO_US/CO_RU); also 50/125 (OA_TKA) 0 (padded, not shown)
Unit Cost Modifier 120 / 200 s (CO_US/CO_RU); OA_TKA same 0 (padded)
Patrols 90 / 150 / 240 / 240 s 90 / 150 / 240 / 240 s

Bold entries mark where CO_US/CO_RU diverge from the other factions. The Heavy Factory sequence is notably reversed: CO_US/CO_RU are faster at early levels but level 1 takes only 30 s vs. 50 s for other factions. Light Factory and Aircraft Factory are slower in CO_US/CO_RU at high levels than the standard profile.

Respawn Range note: TIMES[7] contains three entries in source ([30,60,90]) but LEVELS[7] = 2 for all factions; the third time value (90 s) is padded and never reached.


6. Dependency Links (LINKS array)

Links are prerequisites: a given upgrade level cannot be purchased until all listed [upgrade_index, level] pairs are already owned. Format per entry: [[WFBE_UP_X, lvl], ...]. An empty inner array [] means no prerequisites for that level.

The two groupings below cover all meaningful link differences.

6a. CO_US and CO_RU — unique links

Upgrades_CO_US.sqf:85-118

Upgrade Level Prerequisites
Barracks 1 GEAR 2
Barracks 2 GEAR 3
Barracks 3 GEAR 5
Paratroopers 1 BARRACKS 1, AIR 1, GEAR 1
Paratroopers 2 BARRACKS 2, AIR 2, GEAR 2
Paratroopers 3 BARRACKS 3, AIR 3, GEAR 3
UAV 1 AIR 2
Respawn Range 1 LIGHT 1
Respawn Range 2 (none)
Airlift 1 AIR 1
Countermeasures 1 AIR 2
ICBM 1 AIR 5
Fast Travel 1 LIGHT 1, SUPPLY 1
Build Ammo 1 GEAR 5
EASA 1 AIR 1
Supply Paradrop 1 AIRLIFT 1
Artillery Ammo 1 GEAR 1, HEAVY 1
IR Smoke 1 HEAVY 3
IR Smoke 2 (none)
Aircraft AA Missiles 1 AIR 3
Anti-Air Radar 1 (none)
Anti-Air Radar 2 (none)
Patrols 1 (none)
Patrols 2 LIGHT 1
Patrols 3 HEAVY 2
Patrols 4 HEAVY 2

6b. All other factions (GUE, CO_GUE, INS, CDF, RU, OA_US, OA_TKA, OA_TKGUE, USMC)

Upgrades_GUE.sqf:85-118 (identical in all named files)

Differences from CO_US/CO_RU:

Upgrade Level CO_US/CO_RU Other factions
Heavy Factory all 3 entries [[],[],[]] 4 entries [[],[],[],[]] (same content but Heavy has 4 levels in array shape)
Build Ammo 1 GEAR 5 GEAR 2
ICBM 1 AIR 5 AIR 3

All other link entries are identical between the two groups. The lighter Build Ammo prerequisite (GEAR 2 vs. GEAR 5) makes ammo depot access notably cheaper to unlock for non-CO factions.


7. AI Commander Build Order (AI_ORDER array)

The AI commander follows the WFBE_C_UPGRADES_<side>_AI_ORDER array in sequence. Check_Upgrades.sqf appends any enabled levels missing from this list at runtime. Check_Upgrades.sqf:1-41.

Two distinct orders exist:

7a. CO_US and CO_RU AI order

Upgrades_CO_US.sqf:148-185

BARRACKS 1, GEAR 1, LIGHT 1, SUPPLY 1, BARRACKS 2, GEAR 2, LIGHT 2,
BARRACKS 3, LIGHT 3, RESPAWNRANGE 1, SUPPLY 2, HEAVY 1, HEAVY 2,
SUPPLY 3, HEAVY 3, GEAR 3,
RESPAWNRANGE 2, AIR 1, AIRLIFT 1, AIR 2,
FLARESCM 1, PARATROOPERS 1, PARATROOPERS 2, AIR 3, UAV 1,
PARATROOPERS 3, EASA 1, SUPPLYPARADROP 1, AIRAAM 1,
GEAR 4, LIGHT 4, AAR 1, AAR 2,
CBRADAR 1, CBRADAR 2,
PATROLS 1, PATROLS 2, PATROLS 3, PATROLS 4

Note: CO_US/CO_RU explicitly order RESPAWNRANGE 1 and 2 (lines 158, 172). There is no RESPAWNRANGE 3 for this faction (LEVELS[7] = 2); Check_Upgrades.sqf has nothing to append for that index. GEAR 4 and LIGHT 4 are at the tail of the explicit list; AAR 1 and AAR 2 are the final two entries. ARTYTIMEOUT is absent from the CO_US and CO_RU AI order entirely — all three levels were stripped because WFBE_C_AI_COMMANDER_ARTILLERY=0 by default disables the AI arty fire pipeline, making arty-cooldown upgrades a wasted spend for the AI commander (Upgrades_CO_US.sqf:167-168, Upgrades_CO_RU.sqf:167-168).

7b. All other factions AI order

Upgrades_GUE.sqf:148-182 (array content lines 149-181; line 182 is the closing ]];) — identical in CO_GUE, INS, CDF, RU, OA_US, OA_TKA, OA_TKGUE, USMC

BARRACKS 1, GEAR 1, LIGHT 1, SUPPLY 1, BARRACKS 2, GEAR 2, LIGHT 2,
BARRACKS 3, LIGHT 3, RESPAWNRANGE 1, SUPPLY 2, HEAVY 1, HEAVY 2,
ARTYTIMEOUT 1, SUPPLY 3, HEAVY 3, ARTYTIMEOUT 2, GEAR 3,
RESPAWNRANGE 2, ARTYTIMEOUT 3, AIR 1, AIRLIFT 1, RESPAWNRANGE 3,
AIR 2, FLARESCM 1, PARATROOPERS 1, PARATROOPERS 2, AIR 3, UAV 1,
PARATROOPERS 3, EASA 1, SUPPLYPARADROP 1, AIRAAM 1,
PATROLS 1, PATROLS 2, PATROLS 3, PATROLS 4

Key differences from CO_US/CO_RU:

  • RESPAWNRANGE 3 is explicitly ordered (after AIRLIFT 1, before AIR 2).
  • GEAR 4, LIGHT 4, AAR 1, AAR 2 are absent (AAR not available; Gear/Light level 4 left to Check_Upgrades.sqf auto-append).
  • Total explicit entries: 37 vs. 36 for CO_US/CO_RU.

8. Cross-Faction Summary of Meaningful Differences

Difference CO_US, CO_RU OA_TKA GUE, CO_GUE, INS, CDF, RU, OA_US, OA_TKGUE, USMC
AAR enabled Yes Yes Yes
AAR cost (Lv1/Lv2) 5,000 / 12,500 5,000 / 12,500 n/a
Supply Lv3 cost 8,000 6,000 6,000
Build Ammo prerequisite GEAR 5 GEAR 2 GEAR 2
ICBM prerequisite AIR 5 AIR 3 AIR 3
Light Factory research times (Lv2/3/4) 70/100/130 s 60/80/100 s 60/80/100 s
Heavy Factory research times (Lv1/2/3/4) 30/50/80/100 s 50/70/90/110 s 50/70/90/110 s
Aircraft Factory research times (Lv2/3/4/5) 80/100/120/140 s 75/90/105/120 s 75/90/105/120 s
AI order includes AAR Yes No (Check_Upgrades patches if needed) No
AI order includes RESPAWNRANGE 3 explicitly No Yes Yes
Unit Cost Modifier (idx 21) enabled Yes (max 2) Yes (max 2) No (max 0)

Sources: Upgrades_CO_US.sqf:31-145, Upgrades_GUE.sqf:31-145, Upgrades_OA_TKA.sqf:31-145.


9. Array Encoding Notes for Developers

Each COSTS entry is [[cash, supply], ...] where supply is nearly always 0. The ICBM is the only upgrade with a non-zero supply component: [49500, 80000]. Upgrades_CO_US.sqf:43.

The LINKS array is parallel to LEVELS: one sub-array per upgrade, each sub-array containing one entry per level. A level entry is itself a flat array of [upgrade_index, level] pairs. An empty level entry means no prerequisites. Upgrades_CO_US.sqf:85-118.

All factions in current master have LEVELS[20] = 2 and ENABLED[20] = true for AAR (Upgrades_GUE.sqf:82,26). No faction uses a LEVELS=0 guard to block AAR. AAR costs are at Upgrades_GUE.sqf:54: [[5000,0],[12500,0]]. There is no 999999 cost guard on AAR in any faction. The 999999 cost and ENABLED = false belong to COSTS[21] / ENABLED[21] (the UNITCOST index-padding slot — Upgrades_GUE.sqf:27,54), which is a separate, fully disabled slot. LEVELS = 0 is sufficient to block research-menu display and purchase for AAR; no cost guard is required on that index.

When adding a new upgrade to any faction file, the array length must be consistent across ENABLED, COSTS, LEVELS, LINKS, and TIMES. Check_Upgrades.sqf will only auto-append missing AI_ORDER entries; it will not catch length mismatches in the other arrays.


Continue Reading

Sidebar

Clone this wiki locally