Jacob Schmidt afb3c665af Add PMC simulator mission pack and setup flow
- Add mission config, params, and function registrations
- Implement faction helpers and mission generators
- Include setup docs, CBA settings, and mission scaffolding
2026-05-22 22:38:38 -05:00

6.2 KiB

Mission updates

Implemented in mission sandbox:

  • Mission manager now skips unavailable generators instead of throwing undefined-variable errors.

  • Enemy-count scaling now executes through forge_pmc_fnc_updateEnemyCountFromActivePlayers and is applied by generated enemy spawns.

  • HVT kill/capture generators no longer call an undefined patrol method; they spawn the HVT plus escorts directly.

  • Capture HVT now publishes CaptureHvtMissionGenerator without overwriting HvtMissionGenerator.

  • Delivery zones are placed at a random safe map location away from the cargo pickup.

  • Destroy missions prefer nearby map-placed configured target buildings before spawning a fallback target.

  • Defuse, Hostage, and HVT generators can use nearby building positions where available.

  • all missions require player count check when spawning

    • Added forge_pmc_fnc_updateEnemyCountFromActivePlayers execution to generated enemy spawn paths. Attack, Defend, Defuse, Destroy, Hostage, HVT Kill, and HVT Capture now apply the active-player multiplier where they spawn enemy units or escorts.

{Mission manager} Wants:

  • Prevent a missing/failed generator from breaking mission manager startup.
    • Mission manager now builds the generator list from variable names and skips unavailable/invalid generators with a warning.
  • Support both HVT mission variants in weighted selection.
    • Registered generator keys now match CfgMissions weights: hvtkill and hvtcapture.

Errors: Resolved: undefined DefuseMissionGenerator could break mission manager startup.

["defuse", DefuseMissionGenerator],
["delivery", De>
15:57:53   Error position: <DefuseMissionGenerator],
["delivery", De>
15:57:53   Error Undefined variable in expression: defusemissiongenerator
15:57:53 File C:\Users\cypha\OneDrive\Documents\Arma 3 - Other Profiles\MrPakeha\mpmissions\Forge\forge_pmc_simulator_v2.Tanoa\functions\fn_missionManager.sqf..., line 67

{Attack} Wants:

  • Apply active-player enemy count scaling.
    • Attack generated patrol size now uses the active-player multiplier.

Errors:


{Defence} Wants:

  • Apply active-player enemy count scaling.
    • Defend wave template size now uses the active-player multiplier.

Errors:


{Defuse} Wants:

  • add building to possible spawnable locations
    • Defuse protected object/device placement now attempts nearby building positions before falling back outdoors.
  • Apply active-player enemy count scaling.
    • Defuse patrol size now uses the active-player multiplier.

Errors: Resolved: invalid exitWith {0} syntax in building-position selection.

_buildingPos = _candidate;
exitWith {0};
};
};
};

private _protectedPos = [>
15:58:01   Error position: <{0};
};
};
};

private _protectedPos = [>
15:58:01   Error Missing ;
15:58:01 File C:\Users\cypha\OneDrive\Documents\Arma 3 - Other Profiles\MrPakeha\mpmissions\Forge\forge_pmc_simulator_v2.Tanoa\missionGenerator\fn_defuseMissionGenerator.sqf..., line 321

{Delivery} Wants:

  • add code to move marker to random location around the map
    • Delivery zone marker now moves to a random safe map location away from the cargo pickup, with fallback placement if a safe position cannot be found.

Errors: untested

Changes:

  • added defined location for spawning cargo -- logic chain: spawn near "cargoSpawn", if not found, spawn near "ExtZone", if not found, revert to original offset
  • added random destination-zone placement around the map

{Destroy} Wants:

  • add possibility of map placed building as destroyable targets
    • Destroy now prefers nearby map-placed configured target objects before spawning a fallback target.
  • Apply active-player enemy count scaling.
    • Destroy patrol size now uses the active-player multiplier.

Errors: untested


{Hostage} Wants:

  • add building as possible spawning location
    • Hostages and shooters now receive nearby building positions from location selection and use them when available.
  • have code look for marker "extMarker", if not found, find safe location within "blkMarker", if that fails, find safe location >2km away from task
    • Hostage extraction already searches ExtZone, falls back through blacklist-area safe placement, then falls back to a safe location over 2km from the task.
  • Apply active-player enemy count scaling.
    • Hostage patrol size now uses the active-player multiplier.

Errors: untested

Changes:

  • added a search for ExtZone
  • if "ExtZone" is not found, will seach for a safe location within "blklist", if that fails, find a safe location >2km from task.
  • Will attempt to spawn shooter and hostage inside a building if possible.

{HVT} Wants:

  • add buildings as a possible spawning location
    • HVT Kill and HVT Capture now gather nearby building positions and use them for the HVT/escort spawn when available.
  • have code look for marker "extMarker", if not found find safe location within "blkMarker", if that fails find safe location >2km away from task
    • HVT Kill and HVT Capture extraction zones now search ExtZone/extMarker, fall back through blklist/blkMarker, then fall back to a safe location over 2km from the task.
  • Apply active-player enemy count scaling.
    • HVT escort count now uses the active-player multiplier.
  • Keep HVT Kill and HVT Capture as separate generators.
    • Capture HVT now publishes CaptureHvtMissionGenerator instead of overwriting HvtMissionGenerator.

Errors: untested

Changes:

  • created a second hvt mission that defines a capture mission instead of kill
  • fixed HVT generators calling an undefined patrol method