HenDev-ConstructionOps icon

ConstructionOps

Buildable construction. Fly a crate to a spot, pick what to build on the map, then deliver the materials it needs.

By HenDev

CHANGELOG

Changelog

1.0.0

The AI can build it for you. A Construct Building objective in the Mission Editor now has an AI will construct this checkbox. Tick it and the objective's faction flies the job in itself: a construction crate to the spot, then load after load until the manifest is satisfied and the building goes up — with or without a player involved.

Haulers are real aircraft flying real sorties. Helicopters set their load down at a hover; transport planes make a low pass and airdrop it under a parachute. They can be shot down, and the faction pays for them: every hauler costs an airframe out of that faction's supply, exactly like any other AI deployment, and construction respects the faction's AI aircraft limit rather than printing transports.

Works in singleplayer and multiplayer. Missions saved before this version load unchanged, with the new checkbox off.

New config section, AI — how many haulers may fly at once (MaxSortiesPerFaction, MaxSortiesPerSite), how much supply is off limits (SupplyReserve), pacing (DispatchInterval), whether helicopters are preferred over planes (PreferRotorcraft), and the fixed-wing drop parameters (PlaneDropAltitude, PlaneDropLeadSeconds). Every AI drop writes its miss distance to ConstructionOps.sites.txt so the drop can be trimmed against what actually happens.

0.9.0

Every player can build, not just the host. The build panel now works for connected clients: your choice is sent to the host, which does the actual construction and broadcasts the site list back, so everyone sees the same progress. Previously the panel only opened host-side.

Pilots get paid for logistics. Flying in a material load credits score and funds through the game's own Supply reward — it shows on the HUD like a kill does. When a building finishes, a completion bonus is split between the pilots who delivered its loads, in proportion to how many each flew. Both amounts are in the config under Rewards (DeliveryReward, CompletionReward; set either to 0 to disable).

0.8.0

Rank scaling is gone. Every aircraft now has its own explicit material manifest and build interval in the catalogue asset, from the T/A-30 Compass at 4 loads to the Alkyon AB-4 at 24. Tune any of them directly instead of nudging a curve; an airframe with no entry just costs the factory's base manifest.

0.7.0

Per-airframe factory tuning in the catalogue asset. Each aircraft can now have its own material cost (an exact manifest, or a multiplier on the factory's), its own build interval, or be switched off so a factory cannot be set to produce it at all. Anything not listed still uses the rank curve, so a game update adding an aircraft needs no edit.

The probe file now opens with an AIRCRAFT ROSTER section listing every airframe on your install with its exact jsonKey, rank, and current factory cost — that is where the keys to paste into the asset come from.

0.6.0

Construct Building is now a real objective type. In the Mission Editor: New Objective -> Construct Building, then pick the build from a dropdown and place the target spot with a draggable marker in the 3D view, with a range and a count. Outcomes attach to it like any stock objective, and the spot shows on the map and HUD for the objective's faction.

A mission using it requires the mod. The 0.5.0 build: naming convention is kept as the vanilla-compatible fallback for missions that must still open without it.

0.5.0

Mission designers can require construction.

  • A stock WaitSeconds objective whose unique name starts with build: now completes when the matching construction is finished, firing whatever outcomes are attached to it. Supports count=, near= and radius=. Missions using it still load and play on vanilla — the objective just never completes.
  • BepInEx/ConstructionOps.sites.txt now also lists everything built this mission and every build: objective with its current count, so an objective that will never fire says so.

0.4.0

  • Nothing commits without a confirmation step, for both tasking a site and re-tasking one. The confirmation shows the real material bill.
  • An aircraft factory now costs more material for a higher-ranked airframe. The airframe list shows each one's rank and its resulting load count.
  • The catalogue — builds, costs, prerequisites and the rank curve — moved into an authored asset so it can be retuned without touching code.

0.3.0

  • The build panel is now per-site and opens by clicking a site on the map, instead of sitting on screen permanently.
  • Construction sites are drawn with a structure icon at a legible size, rather than a container-sized speck. Once a site is tasked it shows the icon of the building it is becoming.

0.2.0

The feature itself.

  • Drop a Construction Crate and it becomes a construction site.
  • Pick what to build from a panel on the maximised map; the build lists the material loads it needs, flown in as ordinary stock containers.
  • Completing the manifest spawns a real, networked, damageable building.
  • Six builds: radar station, munitions bunker, hardened aircraft shelter, vehicle depot, aircraft factory and nuclear warhead plant.
  • Placement is validated — slope, water, overlap — because the game itself validates none of it.
  • A warhead plant is refused unless the faction owns warhead storage, which the game would otherwise let you build and then silently discard everything it produced.

0.1.0

First build. Read-only: the mod observes and reports, and changes nothing in game.

  • Dumps BepInEx/ConstructionOps.probe.txt on the first mission load: every cargo/troop WeaponMount with its MountedCargo's private serialized tuning read by reflection, every building definition with the components actually on its prefab, this mission's airbases and whether they carry warhead storage, and every networked prefab hash with a verdict on the crate hash this mod intends to claim.
  • No gameplay, no hotkeys, no Encyclopedia changes.