Skip to content

Release 1 2 2 Build 91

rayswaynl edited this page Jul 7, 2026 · 1 revision

Release 1.2.2 (Build 91)

Source-verified 2026-07-07 against claude/build84-cmdcon36 (c3cc5b1, Build 91 / release 1.2.2 candidate). Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/ unless noted. Arma 2 OA 1.64. This page is the release index; each feature links to its canonical subsystem page. For "what is live right now", the authority is Current live state — this page documents the 1.2.2 candidate, which becomes live only after the owner deploys it.

What Shipped (at a glance)

# Feature Flag / Param Default Canonical page
1 GUER activation lockout WFBE_C_GUER_LOCKOUT_MIN (lobby) 20 min GUER Insurgents faction overview
2 GUER "Towns" menu button none (per-side dialog swap) on Economy, towns and supply
3 Town capture flips remaining camps WFBE_C_TOWN_CAPTURE_FLIPS_CAMPS 1 Towns, camps and capture atlas
4 Capture bubble +10% WFBE_C_CAMPS_RANGE / _PLAYERS 12.65 / 5.5 Towns, camps and capture atlas
5 Full-map towns default WFBE_C_TOWNS_AMOUNT (lobby) 4 (Full) Towns, camps and capture atlas
6 Carrier rework: camps + deck SCUD + L39 CAP WFBE_C_NAVAL_CAMPS_DECK / _CAP_L39 1 / 1 Naval HVT objectives atlas
7 Perimeter town defenders WFBE_C_TOWNS_PERIMETER 1 Town-garrison patrol/defense worker
8 FOB active markers (resistance-only) none (rides WFBE_C_GUER_PLAYERSIDE) on Map marker families content catalog
9 Keep-current-kit fix none (correctness fix) on Respawn and death-loop lifecycle
10 Airlift GC exemption (wfbe_airlifted, #855) none (correctness fix) on Zeta cargo sling-load reference

Every flag-gated feature is default-on in this build; the lobby params (WFBE_C_GUER_LOCKOUT_MIN, WFBE_C_TOWNS_AMOUNT) are owner-set in Rsc/Parameters.hpp, whose default= wins over any script fallback.

1. GUER Activation Lockout

A new lobby param delays what a spawned GUER player can do for the first N minutes of the match — it does not gate GUER slot selection in the lobby, and it does not touch the stipend / kill-bounty loop.

Setting Value Source
WFBE_C_GUER_LOCKOUT_MIN values {0, 15, 20, 30} minutes Rsc/Parameters.hpp:726-731
Default 20 ("20 minutes"); 0 = Off Rsc/Parameters.hpp:730
Script fallback (kept in sync) 20 Common/Init/Init_CommonConstants.sqf:1979
Confinement script execVM'd only when param > 0 Client/Init/Init_Client.sqf:620

While locked, an alive GUER player is snapped back if they stray past 150 m of their spawn (polled every 2 s), the Buy Units / Buy Gear / Towns WF-menu buttons (IDC 11001/11002/11008) are greyed (GUI_Menu.sqf:41), and the respawn-menu deploy timer is clamped up to the remaining lockout. The countdown is a hintSilent refreshed every 60 s (RESISTANCE LOCKDOWN — The insurgency activates in M:SS), with a one-shot RESISTANCE ACTIVATED hint at zero (Client/Functions/Client_GuerLockout.sqf:7-33). Full detail: GUER Insurgents faction overview.

2. GUER "Towns" Menu Button

The main WF-menu button IDC 11008 — config text $STR_WF_MAIN_EconomyMenu ("Economy"), MenuAction = 8 (Rsc/Dialogs.hpp:1194-1201) — is, for GUER/resistance only, relabeled to "Towns" (GUI_Menu.sqf:10, owner comment "renamed from Town Actions") and its handler opens the GUER Commissar/Towns panel WFBE_GDirCommissarMenu (idd 31000, GUI_Menu.sqf:235,347) instead of the standard RscMenu_Economy. WEST/EAST keep the button as "Economy" opening the unchanged Economy dialog. This is a per-side button/dialog swap on one shared button, not a tab added inside the Economy dialog. The panel is gated by AICOMV2_LANE_GUER_DIRECTOR and AICOMV2_GDIR_PANEL (both default 1, Common/Init/Init_CommonConstants.sqf:1932,1948). See Economy, towns and supply.

3. Town Capture Flips Remaining Camps

On town capture, a new inline block flips every remaining camp in the town to the new owner's sideID, gated by WFBE_C_TOWN_CAPTURE_FLIPS_CAMPS (default 1, Common/Init/Init_CommonConstants.sqf:2307, cmdcon45), at Server/FSM/server_town.sqf:296-328. This is a separate mechanism from — and runs in addition to — the pre-existing Server_SetCampsToSide bulk reset (still gated by WFBE_C_CAMPS_CREATE, server_town.sqf:386). See Towns, camps and capture atlas.

4. Capture Bubble +10%

Constant Value Was Source
WFBE_C_CAMPS_RANGE (AI scan radius) 12.65 m 11.5 Common/Init/Init_CommonConstants.sqf:1318
WFBE_C_CAMPS_RANGE_PLAYERS (player filter) 5.5 m 5 Common/Init/Init_CommonConstants.sqf:1319

The owner's 2026-07-07 pass raised both camp-capture ranges +10%. WFBE_C_CAMPS_RANGE feeds the nearEntities scan radius; WFBE_C_CAMPS_RANGE_PLAYERS is a post-scan filter that drops players (not AI) past that distance (Server/FSM/server_town_camp.sqf:12-13,53,55-57). The surviving in-source comment on line 1318 still describes the older B74.2 "10 → 11.5" step and is itself stale.

5. Full-Map Towns Default

WFBE_C_TOWNS_AMOUNT default changed from 7 ("RemovedSmallTowns", which hid 17 named towns incl. Kabanino/Vybor/Pustoshka) to 4 ("Full") (Rsc/Parameters.hpp:503-508; script fallback Common/Init/Init_CommonConstants.sqf:1618). Common/Init/Init_TownMode.sqf has no removal case for index 4, so TownTemplate stays empty and every town spawns. See Towns, camps and capture atlas.

6. Carrier Rework — Deck Camps, Deck SCUD, L39 CAP

The naval HVT carriers were substantially reworked. Full runtime map: Naval HVT objectives atlas.

Change Value Source
Capturable deck camps per carrier 2 (6 total), Land_Fort_Watchtower + FlagCarrierGUE, runtime-built Server/Init/Init_NavalHVT.sqf:920-964
Camps gate WFBE_C_NAVAL_CAMPS_DECK default 1 Common/Init/Init_CommonConstants.sqf:2223
SCUD launcher deck-mounted via attachTo to the hull deck part at deckZ + 1.6 m, on the runtime-derived middle carrier (currently Khe Sanh Charlie), not hardcoded Server/Init/Init_NavalHVT.sqf:166-199,351-393
SCUD clearance WFBE_C_NAVAL_SCUD_CLEARANCE = 1.6 m Common/Init/Init_CommonConstants.sqf:2224
CAP L39_TK_EP1 circuit patrol over all 3 carriers + a periodic inland-airfield leg (NEAF/NWAF every 3rd lap) Server/Init/Init_NavalHVT.sqf:685-702,632-651
CAP gate WFBE_C_NAVAL_CAP_L39 default 1 (supersedes legacy Mi24_P + An2) Common/Init/Init_CommonConstants.sqf:2182
Deck-height fix (cmdcon45) Alpha/Bravo pads + SCUD/camp props set to engine-verified 15.9 m ASL (were z=0 inside the hull) Server/Init/Init_NavalHVT.sqf:213,220
Hangar branch now live wfbe_is_carrier_hvt now has a setter, so the carrier hangar/air-shop respawn branch runs on capture Server/Init/Init_NavalHVT.sqf:603; server_town.sqf:411
nil-_jet1 guard _jet1/_jet2 pre-set to objNull before the arming branch (fixes a prior live-RPT undefined-read in the orbit/despawn ticks) Server/Init/Init_NavalHVT.sqf:626

The naval camps are built at runtime (not from mission.sqm) because carrier towns never receive synced LocationLogicCamp entities; each build logs NAVALHVT-CAMP: <carrier> built 2 deck camps .... wfbe_naval_marker still has no setter mission-wide, so the marker-recolour-on-capture branch remains dead. SCUD flight/warhead mechanics are unchanged and stay canonical on SCUD saturation strike mechanic.

7. Perimeter Town Defenders

Server/FSM/server_town_ai.sqf now spawns every town-garrison group on a bearing-even ring at the town edge0.700.95× town range (~420–570 m, since town range is always 600) around the town center, with (360 / group count) bearing spacing plus ±20° jitter — instead of clustering at camps / town center (server_town_ai.sqf:316-337). Gated by WFBE_C_TOWNS_PERIMETER (default 1, Common/Init/Init_CommonConstants.sqf:1977); 0 reverts to legacy camp/center placement. It changes only where groups spawn — group count and composition are decided earlier and are untouched. Applies to every owning side. See Town-garrison patrol/defense worker.

8. FOB Active Markers (Resistance-Only)

A GUER field FOB (Barracks / Light / Heavy) now gets a standalone resistance-only map marker the moment its authoritative build check passes, deleted when a player (non-teamkill) destroys it.

Property Value Source
Marker name guer_fob_<floor x>_<floor y> Server/PVFunctions/RequestFOBStructure.sqf:79
Type / color / size mil_objective / ColorGreen / [1,1] RequestFOBStructure.sqf:79; Client/PVFunctions/WildcardMarker.sqf:62-66
Text FOB <type> - forward base active - spawn and resupply here WildcardMarker.sqf:58-59
Side gate dispatched with SIDE-typed destination resistance (only resistance clients run the handler) Client/Functions/Client_HandlePVF.sqf:40
Delete on player, non-teamkill FOB kill only Server/Functions/Server_BuildingKilled.sqf:69-80

It rides the existing WildcardMarker PVF (a local createMarkerLocal), not the consolidated marker-loop engine, and has no dedicated flag — it fires whenever a GUER FOB build succeeds under WFBE_C_GUER_PLAYERSIDE (default 1). See Map marker families content catalog.

9. Keep-Current-Kit Fix

Correctness fix (no flag). On the death screen, toggling to KEEP CURRENT when the player has no saved wfbe_custom_gear now captures their live inventory into wfbe_custom_gear (cost 0) instead of silently falling through to default role/faction gear on respawn (Client/GUI/GUI_RespawnMenu.sqf:99-115). The captured shape is [weapons−backpack, magazines, backpack, [], [primary,pistol,secondary]]. This satisfies the unchanged downstream guard at Client/Functions/Client_OnRespawnHandler.sqf:146 (custom gear applied only when wfbe_custom_gear is non-nil and default gear was not chosen). See Respawn and death-loop lifecycle.

10. Airlift GC Exemption (wfbe_airlifted, #855)

Correctness fix (no flag), PR #855 / commit c3cc5b1. Client/Module/ZetaCargo/Zeta_Hook.sqf:35-37 stamps wfbe_airlifted = true (public) the moment a hull is slung; Zeta_Unhook.sqf:9-11 and the hook monitor's auto-detach path clear it. Server/Functions/Server_HandleEmptyVehicle.sqf:37 now resets the empty-vehicle GC timer if the hull has alive crew or is flagged wfbe_airlifted, so a crewless (by design) airlifted hull is no longer deleteVehicle'd mid-flight when the WFBE_C_UNITS_EMPTY_TIMEOUT fuse (lobby default 300 s, Rsc/Parameters.hpp:266) elapses. See Zeta cargo sling-load reference.

Post-Deploy Verification (RPT markers)

For the RC25 / release-1.2.2 deploy smoke, window every RPT to the last MISSINIT and confirm:

Item Marker RPT
Release marker WASPRELEASE|v1|candidate=release-1.2.2|... server
Carrier camps NAVALHVT-CAMP: <carrier> built 2 deck camps ... on all 3 carriers; zero Init_NavalHVT.sqf nil _jet1 errors server
GUER director one AICOMSTAT|v3|DIRECTOR|GUER|<tick>|GDIR_LEDGER ... per tick (one GDIR_DUPLICATE_BLOCKED expected only if the double-exec persists) HC (ArmA2OA.RPT)
Menu health zero GUI_Menu_GuerCommissar.sqf / GUI_RespawnMenu.sqf error lines client
Carrier air buy BUYTRACE|v1|factory-pos|...|spawnPos=[...,~15.9] (on-deck) after a carrier air buy client

Continue Reading

Sidebar

Clone this wiki locally