Skip to content

Modules Atlas

rayswaynl edited this page Jun 6, 2026 · 20 revisions

Modules Atlas

Claude-owned, source-verified (2026-06-02). Behavioral map of the Client/Module/*, Server/Module/* and Common/Module/* subsystems — most are config-gated QoL/combat features (gate = a WFBE_C_MODULE_WFBE_<X> constant; see Variable and naming conventions). The high-stakes module (Nuke/ICBM) and the integration modules (AntiStack, supplyMission, MASH) have dedicated findings; this page documents the previously-undocumented ones. Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/. Arma 2 OA 1.64.

Already covered elsewhere (cross-links)

  • Nuke / ICBMDeep-review findings DR-27 (CRITICAL: forged RequestSpecial → server-applied map-wide kill). Client/Module/Nuke/.
  • EASA (aircraft loadout) — DR-28 (client-authoritative). Client/Module/EASA/.
  • AntiStack (external DB) — DR-7..DR-10. Server/Module/AntiStack/, Client/Module/AntiStack/.
  • supplyMission — DR-39 (dead twin + pull-based JIP). Server/Module/supplyMission/.
  • MASH markers — DR-34 (dead both ends). Client/Module/MASH/, Server/Module/MASH/.
  • UAV — DR-27 round (the _button == 007 branch is comment 'DISABLED', uav_interface.sqf:226 / uav_interface_oa.sqf:100). Client/Module/UAV/.
  • serverFPS — DR-19 (hosted busy-loop). Server/Module/serverFPS/.
  • AFKkickkickAFK PV is the one BattlEye-filtered channel (DR-30). Current client source uses Client/Module/AFKkick/; the server handler folder is Server/Module/afkKick/.

Combat / vehicle modules

IRS — IR-smoke missile countermeasure (Common/Module/IRS/)

Compiles WFBE_CO_MOD_IRS_CreateSmoke/DeploySmoke/HandleMissile/OnIncomingMissile (IRS_Init.sqf:5-8). Tunables (IRS_Init.sqf:10-14): WFBE_IRS_AREA_OPERATING=35, WFBE_IRS_AUTO_DETECT_RANGE=200, WFBE_IRS_FLARE_DELAY=60, WFBE_IRS_MISSILE_CHECK_RANGE=200. Flow: built tanks/cars always get the generic AT missile handler at Client_BuildUnit.sqf:342 (HandleATMissiles); only the gated IRS branch adds the IRS-specific incomingMissile EH at :356 (WFBE_CO_MOD_IRS_OnIncomingMissile) to deploy IR smoke when a missile enters range. Gate: WFBE_C_MODULE_WFBE_IRSMOKE > 0 and the side owns WFBE_UP_IRSMOKE (upgrade level doubles smoke at level 2). Per-vehicle wfbe_irs_flares broadcast.

CM — flares / chaff / spoofing (Client/Module/CM/)

CM_Init.sqf:1-3 compiles CM_Countermeasures, CM_Flares, CM_Spoofing. Gate for the CM module: WFBE_C_MODULE_WFBE_FLARES > 0 && WF_A2_Vanilla (Init_Client.sqf:589). The separate built-aircraft CM-removal block is the non-vanilla/OA path: Client_BuildUnit.sqf:275-283 runs under if !(WF_A2_Vanilla) and removes countermeasures when the module is disabled or the side lacks WFBE_UP_FLARESCM. Do not describe the removal block as vanilla-only.

Reaktiv — reactive (ERA) armor (Common/Module/Reaktiv/)

Current source status: dead / unreachable. Common/Module/Reaktiv/Reaktiv_Init.sqf:5 compiles WFBE_CO_MOD_Reaktiv_OnDamageReceived (Reaktiv_OnHandleDamage.sqf), but no current init or runtime file calls Reaktiv_Init.sqf. Current stable origin/master / local master / Miksuu 89ae9dad initializes ICBM, IRS and CIPHER at Init_Common.sqf:321-325, with no Reaktiv compile path. If revived, it would apply a HandleDamage-based per-hit-selection damage model (the init's comment block enumerates hull/turret/track/engine selections for an Abrams under R_M136_AT) and alter how AT hits map to vehicle hitpoints.

Branch check refreshed 2026-06-07: current source/Vanilla, current stable origin/master / local master / Miksuu 89ae9dad and origin/perf/quick-wins 0076040f all still carry the unreachable Reaktiv module in both maintained roots. Historical stable 2cdf5fb8 carried the same maintained-root module files before stable advanced. Release 7ff18c49 removes Reaktiv from both maintained roots, but current modded Napf/Eden/Lingor copies still carry stale Common/Module/Reaktiv files. Treat this as archive-or-revive owner work, not a current release behavior.

Engines — "stealth" engine-off (Client/Module/Engines/)

Engine.sqf toggles a stealth mode: saves current fuel into the vehicle's Fuel variable and setFuel 0 (engine cannot run), swapping the addAction to STEALTH OFFStartengine.sqf which restores fuel. Added to built tanks/wheeled-APCs (Client_BuildUnit.sqf:336-337). Client addAction-driven, local.

AutoFlip — auto-right flipped vehicles (Client/Module/AutoFlip/AutoFlip.sqf, by Marty)

Client polling loop that rights nearby flipped ground vehicles after they stay stuck briefly. Parameters (:9-13): _scanDelay=3, _tiltLimit=0.35, _stuckDelay=10, _cooldown=45, _maxSpeed=2. Per-vehicle linear checks (tilt/speed/grounded/dry/cooldown) before flipping. Local, bounded by scan delay.

ZetaCargo — helicopter sling-load (Client/Module/ZetaCargo/, by Benny)

Zeta_Init.sqf defines the lifter allow-list Zeta_Lifter (MH60S, MV22, C130J, Mi17 variants, UH60M, CH-47, Merlin, …), liftable Zeta_Types = ["Car","Motorcycle","Tank","Ship"], default hook offset [0,0,-10], and a special C-130 offset (Zeta_Special/Zeta_SpecialPosition). Zeta_Hook.sqf/Zeta_Unhook.sqf attach/detach cargo. Client-driven.

Valhalla — low-gear / high-climb movement (Client/Module/Valhalla/)

Init_Valhalla.sqf compiles VALHALLA_FNC_LowGear and installs KeyDown/KeyUp EHs on display 46 tracking the carForward action keys (Local_KeyPressedForward) to drive a "high climbing mode" (Local_HighClimbingModeOn). Plus an AI low-gear manager variant (Common_AI_LowGear.sqf, Func_Client_AI_LowGear_Manager.sqf). Client-local movement enhancement.

Player / AI / utility modules

Skill — player class abilities (Client/Module/Skill/, by Benny)

Skill_Init.sqf compiles WFBE_SK_FNC_Apply and defines class→group maps (WFBE_SK_V_Engineers, WFBE_SK_V_Soldiers, plus LR/Officer/Salvage/Sniper/SpecOps via Skill_*.sqf). Each group grants abilities: Engineer (repair/salvage/camps-restore), Soldier (AI cap becomes ceil(1.5 * WFBE_C_PLAYERS_AI_MAX) at Skill_Init.sqf:49, plus camp restore), Officer (incl. Actions/Officer_Undeploy_MASH.sqf), etc. Applied per player based on unit classname.

NEURO — AI taxi / vehicle-sharing (Server/Module/NEURO/NEURO.sqf, by Benny)

Server-side system that assigns unassigned AI infantry into nearby empty/compatible vehicles heading toward their waypoint, to reduce on-foot AI. Config hook: missionNamespace setVariable ["NEURO_TAXI_CONDITION", "<code>"] decides boarding eligibility (e.g. excludes vehicles flagged WFBE_Taxi_Prohib). Helpers clear assignments when a unit is dead or >900 m away (NEURO_BE_ClearVehiclePositions), measure emptiness, and (per the body) paradrop AI at altitude. Server-authoritative AI behavior.

CIPHER — string/array sort utility (Common/Module/CIPHER/, by Benny)

Utility library plus one boot-time script. CIPHER_Init.sqf defines compiled helpers such as CIPHER_CompareString, CIPHER_SortArray and CIPHER_SortArrayIndex (CIPHER_Init.sqf:58,94); Labels_Upgrades.sqf:127 separately ExecVMs Common\Module\CIPHER\CIPHER_Sort.sqf, which sorts upgrade labels into WFBE_C_UPGRADES_SORTED via CIPHER_SortArrayIndex (CIPHER_Sort.sqf:37-39). No network or gameplay side effects — safe utility/data-prep scope, but do not treat CIPHER_Sort.sqf as a compiled function.

Notes for hardening / review

  • Module gates are config constants (WFBE_C_MODULE_WFBE_*) read at boot; toggling them is the supported on/off switch.
  • Combat modules attach their EHs at unit creation in Client/Functions/Client_BuildUnit.sqf (IRS/CM/Engines and inline rearmor handlers), so they are client-local on the buyer's machine — consistent with the factory locality model (DR-33). Do not count Reaktiv in that live set unless Reaktiv_Init.sqf is deliberately wired back in.
  • Before editing a module, name its runtime edge and smoke that edge: boot init (Init_Common.sqf:319-323, Init_Client.sqf:127-135, :587-589), respawn reapply (Init_Client.sqf:570-571 and respawn skill reapply paths), unit creation attach (Client_BuildUnit.sqf:275-283, :336-356), PV/PVF event, or server loop. A module file diff alone is not enough proof that the live behavior changed.
  • The only module with an authority/forgery defect is Nuke/ICBM (DR-27); the rest are cosmetic/QoL or AI behavior with no client→server trust surface beyond the shared PVF dispatcher.

Continue Reading

Conventions: Variable and naming conventions | Function index: Function and module index | Findings: Deep-review findings

Sidebar

Clone this wiki locally