How It Works
The Battlefield Logistics System is responsible for maintaining operational effectiveness of all units in the Theatre of Operations, delivering resupplies and Battle Casualty Replacements to the front line. BCRs require a suitable objective held by friendly forces where they will muster before moving to join front line units. The AI Commander requests BCRs when Combat Effectiveness of existing units falls below acceptable levels. The Logistics Commander (LOGCOM) assesses the tactical situation and determines the best location to bring in BCRs and then dispatches a convoy with the required troops and vehicles. Replacements may come in by Air or Land depending on the location and availability of landing sites and the type of replacements requested. Large airfields have a higher capacity to deliver logistics than small patrol bases.
Usage: Place a Military Logistics module and Synch (F5) it to an OPCOM module to enable it to request reinforcements and supplies. Only sync one Log module to each OPCOM.
Dynamic - LOGCOM chooses the best insertion point from available friendly objectives held in "reserve" (check C2ISTAR Operations to see the current state). High Priority objectives such as airfields and military bases with heli pads are preferred. If there are no suitable locations, LOGCOM will look for low priority military establishments or marine civilian locations (sea ports).
Fixed - Static selection of logistics insertion point. LOGCOM will find the closest High Priority Military Objective to the location of the Logistics module on the map. This must be held by Friendly Forces. If the location is lost, Logistics will cease to function until the objective is recaptured. The objective must be under side control and in "reserve".
- Tip: use Military Placement (Custom Objectives) set to very high priority (e.g. 999) to set a custom fixed insertion point.
Dynamic - availability of replacement forces is dependent on the number, type and size of objectives held by friendly forces. Capturing more objectives will increase the size of the pool. For example, this may be used in a Counter Insurgency scenario where insurgent forces are living off the land.
Fixed - a fixed count of available reinforcement groups. When they run out, no more replacements will come although this can be set to infinite for never ending battles.
Allowed Types - Toggle options to allow or deny logistics requests for each group types
Air Transport Assets - restricts the available air transport assets to the Side or Faction. If Faction is selected and the AI Commander's faction does not have any air units, then Logistics can only be delivered by ground convoy (useful if you want to disable the default fall back behaviour to vanilla transport helis in scenarios where helis must not be used.)
The frequency of reinforcement requests can be set in the Military AI Commander module (Constant, Blocked or Seldom). Roughly this equates to OPCOM requesting reinforcements when it reaches 90% (a constant trickle), 75% (large blocks of reinforcements) or 50% (occasional but very large groups or replacements) of it's starting state.
You can adjust the ALIVE_globalForcePool during runtime with a script. See the [Snippets Section] for an example.
APIs and Test Scripts
To test a standard logcom request: execVM "\x\alive\addons\mil_logistics\tests\test_ML.sqf" To test a airdrop logcom request: execVM "\x\alive\addons\mil_logistics\tests\test_ML_AIRDROP.sqf" To test a heli insert logcom request: execVM "\x\alive\addons\mil_logistics\tests\test_ML_HELI_INSERT.sqf"
Until BIS gives us a transport plane, players will see BCR's being parachuted in if they are near the insertion point. This is to simulate a strategic airlift and is better than units popping out of nowhere. It may seem a little odd if large vehicles are parachuted but just close your eyes and move along.
Technically speaking, Military Logistics provide replacements and not reinforcements. The AI Commander will only request replacements for units that have been destroyed since mission start. If the AI Commander starts with zero units, it will never request replacements because as far as it's concerned it will never lose any. If you set up a mission this way, the Player can still call in reinforcements using the Player Combat Logistics module.
The reinforcements groups are always random and the amount is based on the number of groups that were spawned during mission start. That would (or should) also include the manually places groups/units.
During init ALiVE builds an array with group counts for all group categories (see table below).
Types | Start amount ========================= Infantry | 16 Motorized | 4 Mechanized | 4 Armour | 2 SpecOps | 6 Plane | 1 Heli | 2
Sometime during the OPCOM analyze phase it will determine the % of groups there are currently and compare that to the threshold configured in the AI Commander module.
Reinforcement type | Threshold ============================== Constant | 90% Packets | 75% Seldom | 50%
OPCOM will then request reinforcements for all the group types that need it (with a cap of 10 groups per group type EDIT: per OPCOM cycle).
Here are some details for how the "normal" unit placing works and the weighting for it.
With a force size of 800 the following group counts will be spawned during init. The Random weighting will just pick one of the other weightings randomly.
Weighting | Infantry | Motorized | Mechanized | Armored | Air | SpecOps ======================================================================== infantry | 64 | 0-13 | 0-13 | 0-8 | 0-2 | 16 motorized | 40 | 33 | 0-13 | 0-8 | 0-2 | 16 mechanized | 40 | 0-13 | 33 | 0-8 | 0-2 | 16 armored | 40 | 0-13 | 0-13 | 20 | 0-2 | 16 air | 40 | 0-13 | 0-13 | 0-8 | 13 | 16 specops | 40 | 0-13 | 0-13 | 0-8 | 13 | 40
With a force size of 400 the group counts would be as following.
Weighting | Infantry | Motorized | Mechanized | Armored | Air | SpecOps ======================================================================== infantry | 32 | 0-6 | 0-6 | 0-4 | 0-1 | 8 motorized | 20 | 16 | 0-6 | 0-4 | 0-1 | 8 mechanized | 20 | 0-6 | 16 | 0-4 | 0-1 | 8 armored | 20 | 0-6 | 0-6 | 10 | 0-1 | 8 air | 20 | 0-6 | 0-6 | 0-4 | 6 | 8 specops | 20 | 0-6 | 0-6 | 0-4 | 6 | 20