Skip to content

Shelved GUER wildcard mortar pit

rayswaynl edited this page Jul 2, 2026 · 1 revision

Shelved: GUER wildcard — Mortar Pit (G4)

State: Ray-shelved 2026-07-02 ("Shelve mortar pit"). Merged as part of Build 88 / cmdcon43, then the card was stripped in a follow-up removal commit so it can never be drawn or enabled. The sibling G5 Wreck-Scavenger card was kept (inert, flag default 0).

WHAT

A hidden GUER (resistance) wildcard card: an AI-spawned mortar pit that shells an occupied (WEST/EAST) front town. When drawn, it spawned a static 2b14_82mm mortar plus a 2-man GUER crew (GUE_Soldier_Crew / WFBE_GUERRESCREW) in a concealed flat spot 300–600 m from a contested town, gave the crew an SAD waypoint on the town centre so it lobbed inaccurate barrages, and auto-despawned after a TTL (default 600 s) or when the crew was killed. Up to 2 pits could be live at once (tracked by wfbe_guer_mortarpit_count on missionNamespace). The crew carried WFBE_IsTownDefenderAI so player kills paid a bounty. The intended player experience was: a mortar is dropping rounds on your town — hunt the pit down by sound and muzzle flash.

WHERE

  • PR: #308 — "[fable] GUER wildcard: mortar-pit (B4) + wreck-scavenger (B5) cards (flags, default 0)". The mortar-pit was the G4 card in that PR; the scavenger was G5 and remains in the deck.
  • Removal commit: b2dbab5f3cmdcon43-r3: shelve GUER mortar-pit wildcard (G4), keep scavenger (G5) on branch claude/build84-cmdcon36.
  • Source file: Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Functions/AI_Commander_Wildcard_GUER.sqf (and the Takistan mirror under Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/...).
  • Lobby params (removed): Rsc/Parameters.hpp — classes WFBE_C_GUER_MORTARPIT and WFBE_C_GUER_MORTARPIT_TTL.

How the deck entry looked (before removal)

The card was registered in three places inside AI_Commander_Wildcard_GUER.sqf:

  1. Eligibility → weight. A block gated on WFBE_C_GUER_MORTARPIT > 0 that set _gG4 = 6 when a contested front town sat within 1500 m of a GUER-owned town (and the pit cap of 2 was not reached):
    if ((missionNamespace getVariable ["WFBE_C_GUER_MORTARPIT", 0]) > 0) then {
        _crewClass = missionNamespace getVariable ["WFBE_GUERRESCREW", "GUE_Soldier_Crew"];
        _mortarClass = "2b14_82mm";
        _mortarCount = missionNamespace getVariable ["wfbe_guer_mortarpit_count", 0];
        if (_crewClass != "" && {isClass (configFile >> "CfgVehicles" >> _mortarClass)} && {_mortarCount < 2}) then {
            { _candTown = _x; { if ((_candTown distance _x) <= 1500) exitWith {_gG4 = 6} } forEach _owned; } forEach _occTowns;
        };
    };
  2. Draw table. _weights = [[1,_gG1],[2,_gG2],[4,_gG4],[5,_gG5]]; (the [4,_gG4] entry made the card drawable).
  3. Spawn path. A case 4: block in the switch (_draw) that placed the mortar + crew (isFlatEmpty flat-spot search, >=125 m friendly clearance, moveInGunner/moveInDriver, SAD waypoint, COMBAT/RED), plus a spawn watcher that despawned the pit on TTL or crew-wipe and decremented wfbe_guer_mortarpit_count.
  4. Announcement map. A _wMap row: [4,"Mortar Pit","a hidden mortar crew is lobbing rounds at an occupied town - hunt the pit by sound and flash"].

WHY SHELVED

Ray's call on 2026-07-02: "Shelve mortar pit." (Kept the scavenger.)

HOW TO REVIVE

Restore the deck entry and the flag registration (both maps — edit Chernarus, then mirror to Takistan with Tools/LoadoutManager (dotnet run -c Release) and byte-compare):

  1. In AI_Commander_Wildcard_GUER.sqf:
    • Re-add _gG4 (and the mortar-only privates: _crewClass,_mortarClass,_mortarPos,_mortarFlat,_mortarDist,_mortarAng,_mortarTry,_friendlyNear,_mortarVeh,_mortarGrp,_mortarCrew1,_mortarCrew2,_mortarWP,_mortarTTL,_mortarCount) to the inner private [...] array; re-init _gG4 = 0 on the eligibility line.
    • Re-add the wfbe_guer_mortarpit_count counter init block near the worker start.
    • Re-add the WFBE_C_GUER_MORTARPIT eligibility block, the [4,_gG4] entry in _weights, the full case 4: spawn/watcher block, and the [4,"Mortar Pit",...] _wMap row.
  2. In Rsc/Parameters.hpp: re-add the WFBE_C_GUER_MORTARPIT (0/1, default 0) and WFBE_C_GUER_MORTARPIT_TTL (300/600/900/1200, default 600) param classes next to the G5 scavenger classes.
  3. The full pre-removal text is recoverable from PR #308's diff or by reverting commit b2dbab5f3.

Flag to revive (default 0 / OFF): WFBE_C_GUER_MORTARPIT (master switch), WFBE_C_GUER_MORTARPIT_TTL (lifetime seconds).

Sidebar

Clone this wiki locally